* Corrected filtering of devices under maintenance
* Fix display of device sysname in alert history stats widget
* Merge LibreNMS master
* Enable searching for devices using display name
* Enable searching for devices using display name
* Add sla packet loss percent rrd graph
* Add packet loss percent div
* Add OID for NumPackets
* Fixed CDEF typo
* Rename graph file to include .inc
* Flipped axis for Src and Dst to match key
* Create new rrd file for loss percent
* Remove duplicate rrd data and rename rrd to reflect
* Amend to use second rrd file for NumPackets
* Removed spaces
* dbFetchRow be gone
* insert if statement check
* white space cleanup
* New line at end of file
Co-authored-by: Tony Murray <murraytony@gmail.com>
* set fixed_coordinates via api
* update api doc
* fix style problem
* Update Locations.md
* Update api_functions.inc.php
* Update api_functions.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Global search: search device display
Add display field to search (also port_desc_descr, portName, and bgpPeerDescr)
Rewrite backend
update typeahead bundle
update devices and ports indexes
reduce some port field sizes so we can index them
* Style fixes
* remove nonsense
* Allow 'list_devices' to query by exact device-id
* Remove 'http://' prefix from --dev-addr in doco for 'mkdocs serve'
* Document 'list_parents_of_host' API call by reference to 'list_devices' call
* Remove possibility of SQL injection attacks
* Remove possibility of SQL injection attacks
* Fix XSS vulnerabilities
* fix XSS vulnerabilities in alerts.inc.php
* fix XSS vulnerability in poller-groups.inc.php
* small fix for the integration
* another fix for the inegration
* another fix for the inegration
* change the sanitizer at sources instead of json_encode sinks
* another change sanitizer at sources instead of json_encode sinks
* another change sanitizer at sources instead of common_output and current_config sinks
* fix path manipulation vulnerability
* Configurable device display name
You can just set the display name in device settings.
It also accepts simple template format with the variables: hostname, sysName, sysName_fallback, ip
Default controlled by device_display_default, (set from old force_hostname_to_sysname and force_ip_to_sysname settings
* remove second argument to format_hostname()
* Style fixes
* Update schema
* update phpstan baseline
* Improved settings strings (and add for translation)
* API transport fix parsing
parse templates after parsing user options, not before
* API transport tests
* fix style and lint
* remove accidental item
* fix more type issues
* 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
* Added ENT_HTML5 decoding for device configs
Previously single quote/apostrophes weren't being decoded correctly from ', leading to configs being misrepresented in LibreNMS. ENT_HTML5 allows for proper decoding.
* Change to less risky flag
* Update showconfig.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* 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>
* Add group filter to alertlog widget
* Remove extra characters from settings
* Apply fixes from StyleCI
Co-authored-by: ottorei <ottorei@users.noreply.github.com>
* 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>
* fix issue #13119
try to detect if total_units exists (variable comes from errors.inc.php and nupkts.inc.php ) as 'pps' and define graph units as such.
* standardize units_descr for both ucastpackets and errors
* DB Field specific Port Search
* .
* seperate function for API Call
* second parameter now optional
* code adjustments
* Update api_functions.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
Changed map in overview page for devices so that it is possible to move and drop the marker to update position, and possible to pan/move map without marker being stuck in center, marker stays in its fixed position.
* Rewrite ISIS Adjacency discovery/polling
hopefully much faster now, do most work in discovery and just check up/down in poller.
* unused variable
* Implement option for OS override
* fix an incorrect typehint
* test data
* work around stupid migration name
* update schema
* better handling for the on-demand discovery
* more detailed phpdoc
* fix when adjacency is not found
* don't clear out data when adjacency goes away
* Adjust nullable fields
* fixes
* fix class name
* correct migration
* fix bug causing adjacency data to always be blank
* port popups for port links
* isisISAdjState does not need to be nullable
* remove extra space
* default off
* If port is missing return $text
* update schema
* Cleanup old components
* correc copy paste error
* Show ifSpeed on Graph
Drop ifHighSpeed, we really don't want to store that value.
* safer truth check
* Allow global setting and per-graph variable
* match surrounding case
* Style fixes
* Remove old function usage
* update schema
* remove some old usages
* cleanup more ifHighSpeed references
* update test data to remove ifHighSpeed
* fix down migration
* Add button on graph page
Change default
tweak wording