* 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
* Changes to dark theme.
- Tables with white background now has dark background.
- Listbox in searchbar now has dark background.
* Minor change to internal css to modify all tables without 'table' class applied. (view screenshot)
* -Transparency on mini graphs on ports
* bootgrid-table td.no-results now has dark background
* Changes suggested by @Talkabout
* Add Port description first to Ports-Type pages
Consistent with Customers pages.
For a port to be in a Ports-Type page it needs a parsed description
(Transit, Peering, Core, Custom, ...)
* make styleci.io happy
* Revert back to display Description like b4 #13143
* Cleanup Port hover minigraph description.
Use port_descr_descr if exists or ifDescr.
Use the same generate_port_link() in:
- Devices - Ports
- Ports - All/Errored/Ignored
- Ports - "Types"
* Port-Customers, using Ajax Controller, Util/Url
* make https://styleci.io/ check happy
* Adding API route to set bgpPeerDescr field
* Fixing CI test
* Fixing CI test part 2
* Adding validation of bgpPeerId as integer and changing SQL request with question mark syntax.
* Fixing CI test
* Following murrant's advices to protect against SQL injection
* Use built in json function
Co-authored-by: Tony Murray <murraytony@gmail.com>
* API find a switchport with the mac from device
* fix style
* convert SQL to Eloquent
* convert SQL to Eloquent
* git mistake
* Global use App\Models\Port
* git mistake partII
* Refractor Eloquent - Not finish but easier to help for others
* Better Eloquent Query without filter option
* Validation
* fix style
* Add filter option and DOC
* convert to the better macToHex method
* add a maxToHex unit test
* fix style
* fix style
* fix syle - seems my dev:check is running again :-)
* Fix phpStan
* phpStan #2
* feat(api): added max in/out per bill_history period
* chore(Docs): updated docs to include in/out max values
* chore(formatting): style-ci
* chore(db): update db-schema
* fix(db): reverted wrong changes in schema
* fix: wrong table name in migration
* feat(billing-history-frontend): added max in/out values to frontend bill-history
* chore: renamed to peak instead of min/max
* Poll current connections for F5 ltm
* Changed polling to a separate RRD-file
* Reverted old changes
* Remove stats not needed in this file
* Fixed typos and cleanup
* Updated copyright
* subdir5
* fix style
* Unused LibreNMS\Config
* revert short tags
* Fix bug
Found a bug when the url doesn't end with /
I don't think CSRF is need because this form is never submitted and it just dirties the URL.
Also, I think Request:url() is nicer than url()->current() (they are the same code wise)
* Fixed the root issue instead
Fixed the real issue in #13041
Co-authored-by: Tony Murray <murraytony@gmail.com>
* avoid forcing displayed name, so generate_device_link decides according to LibreNMS config
* same fix for BGP display
* other generate_device_link occurences
* more
* more
* Add support for Liebert humidity setpoint and UPS powerfactor
* Option to ignore groups so they are not sent to Oxidized
* Revert "Add support for Liebert humidity setpoint and UPS powerfactor"
This reverts commit c338528aba.
* Updated docs
* Added ignore_groups option
* Added descriptions and updated translations
* Update settings.php
* Fixed typo
Co-authored-by: Tony Murray <murraytony@gmail.com>
* return api error when device doesn't exist
Function device_by_id_cache returns a hash table, which isn't null despite the device not existing. This checks to see if the type has been populated to also determine if the device exists.
Without this, the function always returns a "valid" device, even if one doesn't exist.
* use device_id instead of type
* Fix "Sub-directory Support" in small steps
This fixes small parts from #12205 part 3
fixes#12205
Even someone knows a better way, for example to fix js with the url() function. In my case it works.
* Update oxidized.inc.php
* Update oxidized.inc.php
* Update oxidized.inc.php
* Update oxidized.inc.php
* Update oxidized.inc.php
* Update oxidized.inc.php
* Update oxidized.inc.php