Because we know authenticate cookies, remember me is tied to the session lifetime now in addition to the cookie lifetime. Increase the lifetime to one month instead of two hours.
* PHP-Flasher for toast messages
Allows customized template
removes dependency on unmaintained package using dev stability
no solution for javascript toasts yet
Use DI in places it makes sense
allow html in flashes
Use "template.librenms" as a default notification style
merge toast containers
toastr needs to be second because it will find the containr made by flasher, but the inverse is not true
upgrade php-flasher to add custom options and persistent notifications
Add dark theme
* update composer.lock
* use Blade view and Eloquent models for plugins
* move views
* fix style
* fix style
* revert mistake
* Update Plugin.php
delete test property "name"
* rename plugin function to settings
* last but not least - rename in Test.php
* Rename Test to Example
* fix typo
* fix style
* fix style
* fix style
* fix style - I hate tabs...
* Extract view calls
* fix method calls and style
* Move Models the the abstract class
* fix style
* Convert to traits
* Change the Example description
* Fix style
* Fix style
* Fix style
* Convert plugin function to Model static methods and delete .inc.php
* fix style
* fix style
* Use scope
* final methods blows up legacy code
* Config > \LibreNMS\Config
* convert the static string to a static method
* Correct placement in the page
* fix tabs
* fix style
* Rename from tait to hook
to make it easier to understand and be complient
* rename file
* Typo
* Started to change the docu
* change to a more usefully Device_Overview example
* and activate of course
* PluginManager
* fix .gitignore
* only php files in the root folder
* corrected .gitignore with all files :)
* Rename the Hooks and ExampleClass for better readability
* Fix style
* Fix style
* Exception handling (especially if DB is not present)
* Fix style and update schema
* fix indentation
* actually correct indent
* fix migration collation check include utf8mb4_bin
* stop phpstan whining
* A view lines documentation
* add typeHints
* Allow return null on handle
* lint
* fix return types
* fix logic of column collation check
* Fix MenuEntryHook
* switch to longtext instead of json type for now :D
* try phpstan on PHP 7.3
* set phpstan target version to 7.3
* all the typehints
* optional
* more
* Use namespace to prevent view collisions
disambiguate plugin and hook
no magic guessing of names in PluginManager, bad assumptions
remove unused plugins from the DB
* cleanup plugin menu
* cleanup on shutdown and ignore but log query error on cleanup
* instanceof must be called against an instance
* Allow multiple hooks per plugin
* Port plugin ui code to Laravel
* page instead of settings for v1 plugins
* actually working settings pages
a little url cleanup plugin/admin -> plugin/settings
* fix style
* Add page hook
* PHPstan
* Try to fix Illuminate\Http\RedirectResponse
* typehint
* Rewrite the doc
* Fix style
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Rename NetSnmp to SnmpQuery
Always resolve a new instance. It was not expected to be a singleton, set options persisted.
This means numeric() works properly now
* fix snmpfetch call and style
* Ability to set device from device array
* Update manifest and add service worker
cleanup icons a bit
* Push notifications WIP
* navigate working
* cleanup
* acknowledge wired up
* Set VAPID keys on composer install
* Component to control notification permissions.
* Allow all user option to validate
* Enable on browser load if transport exists.
* Check for transport before showing user permissions
translations
* Documentation
* style fixes
* access via the attribute model
* fix alerting test
* update schema
* cleanup subscription on disable
* non-configurable db and table for webpush subscriptions (respect system connection)
* revert AlertTransport change
hopefully phpstan can figure it out
* phpstan fixes
* Support custom details display
* Match transport names to brand's preferred display
* less duplicate id errors
* Tests are done in Laravel code now so
remove legacy function usage... could be better, but ok
* Style fixes
* Style fixes 2
* Fix alert test
* Doc updates requires HTTPS and GMP
* unregister subscription when permission is set to denied
* cleanup after user deletion
* delete the right thing
* fix whitespace
* update install docs to include php-gmp
* suggest ext-gmp
* update javascript
* Update functions.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* SNMP WIP
* cleanup, more types
* Include my snmp:fetch command
* Fix Facade name conflict
* Command WIP
remove mib
* Ignore exit code
cleanups
* Doc blocks and style fixes
* forgot to use parseOid
* Hopefully final fixes
* missed on (:
* small changes
deviates from existing code, hopefully doesn't re-add too many corner cases.
* add some simple tests, will make it easier to add more in the future when we find corner cases.
* test numeric
* API refinements, try to avoid setting textual net-snmp options directly
* change numeric to a toggle makes for nicer usage
* make ci happy
* Some errors happen only in stderr, pass that to SnmpResponse for parsing.
Add error message access
* More consistent naming
* Infer character encoding for ifAlias and sysLocation
Tries to convert character encoding for non-UTF-8 encoded strings.
This will only work for snmp strings that are type-hinted, not ones forced to ASCII with -Oa or similar
Only works for your default charset or Windows-1251 or LATIN1.
You can set your character encoding in .env with CHARSET
Please save us all and just use UTF-8
* style fixes
* less Yoda
* ensure return type
* fall back to passed string
* don't convert strings with any unprintable characters (such as line return)
* Update LibreNMS/Util/StringHelpers.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Fix CP850
* fix space
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Remove $debug global
and $vdebug global
makes these variables more accessible and protects from collisions.
* the on boot set sends application as the first parameter, just handle that
* Relocate other debug related functions
* Log debug to stdout
* Wrong output
* remove stupid constants
* Fix lint and style issues
* Fix disabling of built-in commands when using ./lnms in production
It wasn't working correctly after Laravel upstream changes
* Use nunomaduro/laravel-console-summary
* fix command name
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Shift HTTP kernel and middleware
* Shift service providers
* Shift console routes
* Shift to class based factories
* Namespace seeders
* Shift PSR-4 autoloading
* Default config files
In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them. This allows you to review the commit
diff for once for customizations when you are done Shifting.
Moving forward, consider using ENV variables or create a separate
config file to allow the core config files to remain as default
as possible.
* Shift Laravel dependencies
* Shift return type of base TestCase methods
From the [PHPUnit 8 release notes][1], the `TestCase` methods below now declare a `void` return type:
- `setUpBeforeClass()`
- `setUp()`
- `assertPreConditions()`
- `assertPostConditions()`
- `tearDown()`
- `tearDownAfterClass()`
- `onNotSuccessfulTest()`
[1]: https://phpunit.de/announcements/phpunit-8.html
* Shift cleanup
* console routes
* composer update
* factories
* phpunit
* bootstrap pagination
* model factory
* wip
* Apply fixes from StyleCI (#12236)
* wip
* Apply fixes from StyleCI (#12238)
* wip
* wip
* wip
* wip
* Apply fixes from StyleCI (#12240)
* wip
* Apply fixes from StyleCI (#12242)
* composer update
* Bump to PHP 7.3 minimum
Co-authored-by: Laravel Shift <shift@laravelshift.com>
* Implement locks in the file cache
* Replace custom locks
* implement restore lock
Used when re-hydrating
* remove legacy use statements
* Add class descriptions
* Fix style
* Default to database cache driver
* missed cache_locks table
prevent chicken-egg issue
* style fixes
* Remove custom file lock implementation
* missed items from file cache
* Update schema definition
hmm, other schema noise must be from manual modification as this is generated from a freshly migrated db.
* require predis, it is pure python, so no harm in adding
* and set predis as the default client
* Shift bindings
PHP 5.5.9+ adds the new static `class` property which provides the fully qualified class name. This is preferred over using class name strings as these references are checked by the parser.
* Shift core files
* Shift to Throwable
* Shift Laravel dependencies
Add laravel/ui dependency
Use our fork of string-blade-compiler
* Shift config files
Default config files
In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them so you can review the commit diff for
changes. Moving forward, you should use ENV variables or create a
separate config file to allow the core config files to remain
automatically upgradeable.
Restore config header comment
* Remove duplicate named routes
* add basic trust host middleware
* Trusted proxies should be default null
* Fix missed rename
* wip
* Rename routes
* Update trustedproxy.php
* Update Kernel.php
* revert trustedproxy.php
It only accepted '*' and not ['*']
* Fix tests
fake request was causing the error
Co-authored-by: Laravel Shift <shift@laravelshift.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Change CORS implementation
allows for upstream integration of Laravel 7
* migrate config
* skip implementing patterns for now
* Expose settings to the webui
* Make db settings apply
Better validation when config.php does not exist
Update docs and quote password
only populate legacy vars in config_to_json
drop .travis.yml config copy
remove credentials from config.php.default
Check for existance of .env instead of config.php in python scripts
legacy credential cleanup
tiny cleanups
consistent env for artisan server and artisan dusk
* WIP Sqlite
Down methods don't work either, avoid them with refresh for now.
WIP persistent support
WIP db_schema
WIP db_schema 2
Update new migrations...
revert dump_db_schema changes for now, too much difference.
fix migrations on mysql
fix up some more items, this should be our target schema
lots of index renames and a two misc changes
index rename WIP
index rename WIP
another round
fix up new schema changes
try case insensitive fix
Trying tests WIP
fix down methods
DBSetupTest working (uses mysql)
Test sqlite migrations work
* Properly validate sqlite output
* revert glue changes, should be separate PR
* remove dusk workaround
* remove unused variables
* import
* sqlite capitalization
* Revert some refresh tests
* testing_mysql back to testing
* Intitial push working tests
* Adding unit tests
* created interface state unit tests
* started ospf nbr unit tests
* finished nbr change unit tests
* precommit checks pass
* removed uneccsarry relationship
* Datastores to object oriented code, using the Laravel IoC container
Change instantiation
better DI
move OpenTSDB
Small re-orgs
remove unused stuff
Fix graphs and other scripts
Use DI for all except rrd
fix up connection error handling
Add tests, fix up a "few" things
Add Config::forget()
Style fixes
Don't reference legacy code
remove accidental code paste
Add datastores phpunit groups
some tests
* rebase fixes
* some test fixes
* shorter tests
* shorter tests
* Don't except when rrdtool can't be started.
* restore tests
* fix rrd tests
* fix iterable change upstream
* fix isValidDataset
* fix invalid data bug
* fix mysql incorrect ds
* fix issue with data that is too long
* use regular data_update()
* Use log facade
* OpenTSDB mis-ordered arguments fix
* Making a singleton with different options makes different singletons. Just use the global config settings to disable datastores.
* only filter tags for datastores that won't it don't modify the tags permanently
* Update copyrights to include original authors.
* Stats for all datastores
* Fix mysql sends different rrd / other ds names
* fix snmp last stats not initialized
remove unused function
* remove unused function and move single use function closer to its use
* InfluxDB does not need to update null or U values.
Skip write if all fields are empty
* Fix smart value checks
* fix style issues
* Make sure port data is stored the same way as before for Graphite and OpenTSDB
Add ifIndex tag to all to be compatible
* Missed rrdtool_tune() call
* Test update WIP
* OpenTSDB now includes tags
* fix style
* Datastores to object oriented code, using the Laravel IoC container
Change instantiation
better DI
move OpenTSDB
Small re-orgs
remove unused stuff
Fix graphs and other scripts
Use DI for all except rrd
fix up connection error handling
Add tests, fix up a "few" things
Add Config::forget()
Style fixes
Don't reference legacy code
remove accidental code paste
Add datastores phpunit groups
some tests
* rebase fixes
* some test fixes
* shorter tests
* shorter tests
* Don't except when rrdtool can't be started.
* restore tests
* fix rrd tests
* fix iterable change upstream
* fix isValidDataset
* fix invalid data bug
* fix mysql incorrect ds
* fix issue with data that is too long
* use regular data_update()
* Use log facade
* OpenTSDB mis-ordered arguments fix
* Making a singleton with different options makes different singletons. Just use the global config settings to disable datastores.
* only filter tags for datastores that won't it don't modify the tags permanently
* Update copyrights to include original authors.
* Stats for all datastores
* Fix mysql sends different rrd / other ds names
* fix snmp last stats not initialized
remove unused function
* remove unused function and move single use function closer to its use
* InfluxDB does not need to update null or U values.
Skip write if all fields are empty
* Fix smart value checks
* fix style issues