15 Commits

Author SHA1 Message Date
Tony Murray 6e8e2eed0d add dbal so users can update the database 2019-01-16 09:52:56 -06:00
Tony Murray d33d87931e Update dependencies (#9657)
* Update dependencies
phpmailer/phpmailer (v5.2.26 => v5.2.27)
symfony/dotenv (v3.4.15 => v3.4.21)
amenadiel/jpgraph (3.6.20 => 3.6.21)
tecnickcom/tcpdf (6.2.22 => 6.2.26)
php-amqplib/php-amqplib (v2.0.2 => v2.8.1)
symfony/polyfill-ctype (v1.9.0 => v1.10.0)
symfony/yaml (v2.8.45 => v2.8.49)
vlucas/phpdotenv (v2.5.1 => v2.5.2)
symfony/css-selector (v3.4.15 => v4.2.2)
symfony/polyfill-mbstring (v1.9.0 => v1.10.0)
symfony/var-dumper (v3.4.15 => v3.4.21)
symfony/process (v3.4.15 => v3.4.21)
paragonie/random_compat (v2.0.17 => v2.0.18)
symfony/polyfill-php70 (v1.9.0 => v1.10.0)
symfony/http-foundation (v3.4.15 => v3.4.21)
symfony/contracts (v1.0.2)
symfony/event-dispatcher (v3.4.15 => v4.2.2)
psr/log (1.0.2 => 1.1.0)
symfony/debug (v3.4.15 => v3.4.21)
symfony/http-kernel (v3.4.15 => v3.4.21)
symfony/finder (v3.4.15 => v3.4.21)
symfony/console (v3.4.15 => v3.4.21)
nesbot/carbon (1.33.0 => 1.36.2)
monolog/monolog (1.23.0 => 1.24.0)
league/flysystem (1.0.47 => 1.0.49)
doctrine/inflector (v1.1.0 => v1.3.0)
ralouphie/getallheaders (2.0.5)
guzzlehttp/psr7 (1.4.2 => 1.5.2)
jakub-onderka/php-console-color (0.1 => v0.2)
nikic/php-parser (v3.1.5 => v4.1.1)
fico7489/laravel-pivot (2.3.7 => 3.0.0)
fideloper/proxy (4.0.0 => 4.1.0)
squizlabs/php_codesniffer (2.9.1 => 2.9.2)
barryvdh/reflection-docblock (v2.0.4 => v2.0.6)
symfony/class-loader (v3.4.15 => v3.4.21)
jakub-onderka/php-console-highlighter (v0.3.2 => v0.4)
psy/psysh (v0.9.8 => v0.9.9)
laravel/tinker (v1.0.7 => v1.0.8)
myclabs/deep-copy (1.7.0 => 1.8.1)
doctrine/instantiator (1.0.5 => 1.1.0)
webmozart/assert (1.3.0 => 1.4.0)
phpdocumentor/reflection-docblock (3.3.2 => 4.3.0)
phpunit/php-token-stream (1.4.12 => 2.0.2)

* limit laravel-pivot to <3.x because that requires laravel >= 5.5

* don't disable requirements

* update to master and exclude vendor database migrations and seeds

* a couple more updates
2019-01-15 17:34:05 -06:00
Tony Murray daec72f8a0 Move ext-mysqlnd to suggested for now (even though it is actually required) (#9229)
* Move ext-mysqlnd to suggested for now (even though it is actually required)
Remove extra dependency version locks, they are more trouble than they are worth.  I just run composer with php 5.6 when updating composer.lock.
Update dependencies.

* Trigger full build on composer updates

* Update composer.json
2018-09-20 00:05:10 +01:00
Tony Murray 79333c45f6 Allow trusted proxy via APP_TRUSTED_PROXIES (#9196)
* Allow trusted proxy via APP_TRUSTED_PROXIES
Set to '*' by default to emulate legacy behavior.
Set up doc describing environment variables

* Create helper to parse environment variables into arrays properly.

* Update doc blocks
2018-09-13 07:26:42 -05:00
Tony Murray 1e55601409 Update validate to check for mysqlnd (#9043)
Ran into some annoying bugs with the old mysql library driver and BIGINT.
2018-08-20 23:56:47 +01:00
TheGreatDoc 9940c884f5 Fixed snmptraps. (#8898)
* Fixed snmptraps.

* Fixed space

* Added bgp down/up and authentication failure

* Fixed typo

* Fixed some typos, arrays, astext and format_hostname

* Updated documentation

* Moved code to a function

* Some refactor

* Minor fixes

* Minor fixes 2

* More minor fixes

* Changes requested by Tony

* Minor fixes

* Moved include to snmptrap.php

* Refactor traps to use object oriented code.

Should trigger events too/instead, but we'll leave that.
Testing todo

* Add tests and fix things so they actually work
Not checking events yet.

* Fixed typo and severity level

* Update composer deps, I think the lock file wasn't right.
add json and mbstring extension deps while I'm at it.

* Fix several issues with phpunit fixtures
2018-08-11 16:37:44 -05:00
Tony Murray 9bc0c542a5 Allow ping checks to be ran separately from polling (#8821)
Allows ping checks at intervals not tied to the poller.  Pointless if you are not alerting on device status.
I updated the rrdstep.php script to treat ping-perf files separately and made it so it only converts if needed.

Docs here: https://docs.librenms.org/Extensions/Fast-Ping-Check/

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
2018-07-30 22:58:38 +01:00
Tony Murray 310f7ca401 Downgrade phpdotenv dependency (#8902)
https://github.com/vlucas/phpdotenv/issues/276

Fixes values in .env starting with # being empty.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
2018-07-16 16:54:06 +01:00
Neil Lathwood ad6ec7f72a Refactor alert templates to use Laravel Blade templating engine (#8803)
* Initial start on new templating support

* further updates

* more updates

* More working version

* Last fixes

* Small updates

* modified test to look for dbname.

* Schema update

* Added fix for not being able to disable Philips Hue transport

* Updated sql file

* Updated db_schema

* Set myclabs/deep-copy to be 1.7.x version in composer

* Fixes from murrant

* Forced nikic/php-parser to version 3.1.x in composer

* Updated composer to use custom fork of string-blade-compiler + fixed transport use

* Updated to always use correct template

* Merged legacy and blade templating engines

* Removed template type + fixed test-alert.php

* Added more template placeholders

* Added ability to reference data in templates as $alert->X

* Updated docs for templates

* Updated db_schema.yaml

* Added $alert->builder

* Clarify the use of $alert->builder

* Fixed the use of $alert->transport

* renamed schema file

* Added template validation

* Small update to fix travis issue

* Add Docs text to title bar

* Updated amqp to new of version

* Consistency in alert rule and template title bars
2018-07-14 22:15:43 +01:00
Tony Murray e736f5efec Updated YAML schema validation (#8808)
Changed some values to be explicitly boolean


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
2018-06-15 09:45:20 +01:00
Tony Murray 1ad7f3138b Add Laravel to LibreNMS (#8318)
* Add Laravel to LibreNMS.

* Try to set permissions during initial install and first composer update to Laravel.

* Fix composer.lock
Fix missing db config keys

* Start building v1 layout
Port ajax_setresolution, inject csrf into jquery ajax calls
Layout works, building menu
Partially done.

* Fix device group list
remove stupid count relationships

* Print messages for common boot errors.
Don't log to laravel.log file.
Log to error_log until booted, then librenms.log

* Fix up some issues with Config loading
Start of custom directives

* Custom blade directives: config, notconfig, admin

* Preflight checks
Only load config files once.

* Update the composer.lock for php 5.6

* Menu through routing

* Start of alert menu

* Better alert scopes

* reduce cruft in models

* Alerting menu more or less working :D

* Fix style

* Improved preflight

* Fix chicken-eggs!

* Remove examples

* Better alert_rule status queries
Debugbar

* fix app.env check

* User Menu

* Settings bar (dropped refresh)
Search JS

* Toastr messages

* Rename preflight

* Use hasAccess(User) on most models.
Add port counts

* Missed a Preflight -> Checks rename

* Fix some formatting

* Boot Eloquent outside of Laravel
Use Eloquent for Config and Plugins so we don't have to connect with dbFacile inside Laravel.
Move locate_binary() into Config class

* Config WIP

* Try to fix a lot of config loading issues.

* Improve menu for non-admins removing unneeded menus
url() for all in menu

* Only use eloquent if it exists

* Include APP_URL in initial .env settings

* Implement Legacy User Provider

* Helper class for using Eloquent outside of Laravel.
Allows access to DB style queries too and checking the connection status.

* Fix up tests

* Fix device groups query

* Checking Travis

* copy config.test.php earlier

* dbFacile check config before connecting
Don't use exception to check if eloquent is connected, it gets grabbed by the exception handler.
Ignore missing config.php error.

* Fix config load with database is not migrated yet.

* Remove Config::load() from early boot.

* Use laravel config settings to init db (this prefers .env settings)
Fix bgp vars not set in menu
add _ide_helper.php to .gitignore

* Restrict dependencies to versions that support php 5.6

* Update ConfigTest

* Fix a couple of installation issues

* Add unique NODE_ID to .env

* Correct handling of title image

* Fix database config not loading. Thanks @laf

* Don't prepend /

* add class_exists checks for development service providers

* Fix config value casting

* Don't use functions that may not exist

* Update dbFacile.php

* d_echo may not be defined when Config used called.

* Add SELinux configuration steps
More detailed permissions check.
Check all and give complete corrective commands in one step.

* Ignore node_modules directory

* Re-add accidetal removal
2018-05-09 08:05:17 -05:00
Tony Murray 7b6e4f95c0 Library update (#8311)
* Library update
amenadiel/jpgraph 3.6.12 > 3.6.14
ezyang/htmlpurifier 4.9.3 > 4.10.0
tecnickcom/tcpdf 6.2.13 > 6.2.17

Also, make composer.lock match our composer.json to avoid a warning.

* Remove php snmp extension, we don't actually use it.
2018-03-02 19:32:09 +00:00
Tony Murray 7a2e5f4e40 Update to phpunit 5 (#8217)
remove array_column it is no longer needed
2018-02-07 20:45:56 -06:00
Tony Murray 609676a9f8 Move InfluxDB to vendor and update dependencies. (#8184)
Update all dependencies

Updated event-dispatcher too far
2018-02-02 22:57:31 -06:00
Tony Murray 6878df8c12 Prep for composer changes (#8075)
* Prep for composer changes

* Update composer.json, composer.lock and a small update to phpmailer and Yaml

* Prevent accidental `composer update` runs

* Add  --no-interaction to daily.sh
2018-01-22 08:16:37 -06:00