* 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
* Refactor database and config init
Connect to the database without loading full config
Load config completely so post-processing is always done consistently.
Erase existing $config when loading, fixes issues in case we load the config twice.
If the database is not connected, don't try to load database settings. (Fixes some db errors on install)
Attempt to remove $config access/modification before init.php
Remove usage of db_name, that might not match the connected database.
Centralize db config loading, so we consistently apply db_test database settings.
Many of these changes are influenced by Laravel port.
* Some safety so we don't assign strings to numeric port field
Smooth out phpunit bootstrap
* Fix a couple of scrutinizer warnings.
* Use composer.phar first and self-update it.
* Ansi output for interactive shells.
If HOME isn't writable, set COMPOSER_HOME.
Simulated cron with env -i
* More verbose failures when attempting to download composer.phar.
* Change the regex again
Matches all versions here https://getcomposer.org/download/
* 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.
* Show composer status in web validate.
Don't duplicate in validate.php
* Create variable to check if a group has been completed.
No longer skips database checks.
Extract a base class.
Fix locate_binary and find_executable issues (mostly exposed by lack of db)
* Update Validator.php
* Move install to php53 branch if running an unsupport version of PHP
* Update validate
* Move PHP version check after update check. This will prevent us from moving no update users to the php53 branch.
Hopefully if daily.php -f update fails it returns a non-zero and we can move them to the php53 branch still.
* Wiggle things around more.
* Also, send release installs to the php53 branch.
* Set notification error for old PHP version.
* fix: validation check cli php extensions
Fix fatal errors when mysql is not loaded / can't connect
* fix: discovery validation incorrectly detects on ping only devices.
* fix: Extra fping checks in validation
Don't check suid or getcap if we can execute fping (as librenms or webserver user)
* Warn about suid in webui
* Update Programs.php
* Update Programs.php
* Use locate_binary() so we match production code (it is also better)
Don't cripple capabilities check, prefer that over suid.
* fix: improve poller validation
remove failures when there are duplicate poller entries
add warning that there are duplicate poller entries
link to the poller log in the webui
small fix to getBaseURL() to avoid exception when run from cli.
* Re-run poller cleanup to try to reduce the users with duplicates.
* refactor: convert validations to modules to prep for gui integration
* accidentally dropped, schema update
* fix accidental output to webui
* mention discovery-wrapper.py and re-arrange.
* refine some fix statements
* rename the Config validation group to Configuration.
* fix some scrutinizer issues
remove as many local functions from validator.php as possible
move extensions from pre-check
remove duplicate timezone check
looks like there is some db schema differences between mariadb 10.1 and 10.2, investigating
* mariadb version diff take2
* Check schema version first for database.
Remove stop to go back to command line for install docs.
Add helpful link when there is no devices added to /addhost
* fix incorrect validation for empty string defaults
* Fix style
* Add additional file permissions checks
* catch exception and fail for invalid timezone
Change visuals a bit.
* add php version warning
* fix space