548 Commits
Author SHA1 Message Date
PipoCanaja 6ac13825ce Improved search results for port descriptions (#13787)
* restore pre Dec 6 2021 Description display

* restore full ifAlias

* patch from fbourqui to fix type display
2022-02-17 20:57:51 +00:00
PipoCanaja 3ac0de16b2 STP - various fixes (#13773)
* Filter fix
* Add link to device for bridge address and designated root if available
2022-02-13 19:04:12 +01:00
Peca Nesovanovic c7b63b574f [widget] Top Devices (#13748)
* count only UP ports

* ci
2022-02-12 23:39:17 +01:00
Jellyfrog fdebee86b4 Implement system for user packages in composer (#13718) 2022-02-02 17:33:23 +01:00
Jellyfrog 0da545740e Use better filesystem functions (#13735)
* Use better filesystem functions

* Update DeviceObserver.php

* Update DeviceObserver.php

Co-authored-by: Tony Murray <[email protected]>
2022-02-02 07:40:45 -06:00
Tony Murray 29bd6789cb Stp module rewrite (#13570)
* STP module rewrite WIP

* Finish rewrite

* Ignore disabled and log root/topology changes

* Remove interfaces for now

* fix style

* Lint fixes

* Document ResolvesPortIds and hide map functions

* whitespace fixes

* Revert to stpInstances in case someone writes mstp support

* missed one

* phpstan fixes

* Handle table and oids separately

* forgot to register observer

* Test data and correct non-table handling in SnmpResponse->table()

* update test

* test data

* revert aos7 silly things

* minimal polling

* Update test data

* order ports_ntp and rename new field to port_index

* forgot the db_schema

* revert ciena-sds port things

* MSTP support, maybe

* Adding test data

* Filter bad lines instead of discarding the entire snmp response
and capture fixes and test data

* fresh data

* add os data

* update data, ignore unfound ports, obviously bad device implementation.

* fixes

* Ignore context files in os detection test

* Remove empty table data

* add ciena-sds vlan

* designatedCost column is too small

* Update stp webui

* Refactor code to interfaces, to allow vendor mibs

* update schema

* fix issues added by abstraction

* STP fixes

* Default to no context for vlan 1

* never store vlan 1

* Update test data

* remove eltex brokenness

* fix style

* fix stan

* Fix Rewrite MAC to Hex padding with floats

* fix sqlite migration
2022-01-30 16:28:18 -06:00
Tony Murray b6a8b602b8 Oxidized update and Device remove (#13730)
* Oxidized + Device remove
Was just working on oxidized, but then to properly update nodes after delete, updated delete_device()

* revert dumb style changes

* baseline update and no DI there...

* Fix OS first load and device deletion missing tables
2022-01-29 21:09:05 -06:00
ilGino b4e9833e30 [WebUI] Change icon of links pointing to Health from fa-dashboard to fa-hearbeat (#13729)
Health is always referred to with the fa-heartbeat icon.
Instead, in the device list, the link pointing to device's Health is the fa-dashboard.
In order to make the device-list page more visually consistent, I propose to change the icon from fa-dashboard to fa-heartbeat in the device lists.

Regards
GG
2022-01-29 14:44:30 +01:00
sGoico e04902b4d1 Change fping hardcoded binary to user defined fping (#13720)
This check should run using the binary which is configured by the user. Some users user a wrapper script to add/remove options or extend fping functionality.
2022-01-27 23:55:00 +01:00
Tony Murray f195478444 lnms dev:check add --os-modules-only option (#13700)
* lnms dev:check add --os-modules-only option
And improve debug output

* Style fixes

* Add false flag
2022-01-26 08:31:51 -06:00
Jellyfrog 1debe5e166 Use built in method to render a string with Blade (#13688) 2022-01-26 07:10:06 -06:00
Jellyfrog 475a82bab6 Update dependencies (#13684)
* Update dependencies

  - Upgrading asm89/stack-cors (v2.0.3 => v2.1.1)
  - Upgrading barryvdh/laravel-debugbar (v3.6.3 => v3.6.5)
  - Upgrading barryvdh/laravel-ide-helper (v2.10.0 => v2.11.0)
  - Upgrading composer/ca-bundle (1.2.11 => 1.3.1)
  - Upgrading composer/composer (2.1.9 => 2.2.4)
  - Locking composer/pcre (1.0.0)
  - Upgrading composer/semver (3.2.5 => 3.2.7)
  - Upgrading composer/spdx-licenses (1.5.5 => 1.5.6)
  - Upgrading composer/xdebug-handler (2.0.2 => 2.0.4)
  - Upgrading doctrine/dbal (2.13.4 => 2.13.7)
  - Upgrading doctrine/inflector (2.0.3 => 2.0.4)
  - Upgrading doctrine/lexer (1.2.1 => 1.2.2)
  - Upgrading dragonmantank/cron-expression (v3.1.0 => v3.3.1)
  - Upgrading facade/ignition (2.15.0 => 2.17.4)
  - Upgrading fakerphp/faker (v1.16.0 => v1.17.0)
  - Upgrading fgrosse/phpasn1 (v2.3.0 => v2.4.0)
  - Upgrading filp/whoops (2.14.4 => 2.14.5)
  - Upgrading friendsofphp/php-cs-fixer (v2.19.2 => v2.19.3)
  - Upgrading fruitcake/laravel-cors (v2.0.4 => v2.0.5)
  - Upgrading graham-campbell/result-type (v1.0.3 => v1.0.4)
  - Upgrading guzzlehttp/guzzle (7.4.0 => 7.4.1)
  - Upgrading guzzlehttp/promises (1.5.0 => 1.5.1)
  - Upgrading laravel/dusk (v6.19.2 => v6.21.0)
  - Upgrading laravel/framework (v8.65.0 => v8.80.0)
  - Upgrading laravel/serializable-closure (v1.0.3 => v1.0.5)
  - Upgrading laravel/tinker (v2.6.2 => v2.7.0)
  - Upgrading laravel/ui (v3.3.0 => v3.4.1)
  - Upgrading league/commonmark (1.6.6 => 1.6.7)
  - Upgrading league/flysystem (1.1.5 => 1.1.9)
  - Upgrading league/mime-type-detection (1.8.0 => 1.9.0)
  - Upgrading maximebf/debugbar (v1.17.2 => v1.17.3)
  - Upgrading minishlink/web-push (v6.0.5 => v6.0.7)
  - Upgrading nesbot/carbon (2.53.1 => 2.55.2)
  - Upgrading nikic/php-parser (v4.13.0 => v4.13.2)
  - Upgrading nunomaduro/collision (v5.10.0 => v5.11.0)
  - Upgrading nunomaduro/larastan (1.0.0 => 1.0.2)
  - Upgrading nunomaduro/laravel-console-summary (v1.7.1 => v1.8.0)
  - Upgrading paragonie/constant_time_encoding (v2.4.0 => v2.5.0)
  - Upgrading php-amqplib/php-amqplib (v3.0.0 => v3.1.2)
  - Upgrading php-flasher/flasher (v0.9.4 => v0.9.6)
  - Upgrading php-flasher/flasher-laravel (v0.9.4 => v0.9.6)
  - Upgrading phpdocumentor/type-resolver (1.5.1 => 1.6.0)
  - Upgrading phpmailer/phpmailer (v6.5.1 => v6.5.3)
  - Upgrading phpoption/phpoption (1.8.0 => 1.8.1)
  - Upgrading phpseclib/phpseclib (3.0.10 => 3.0.12)
  - Upgrading phpspec/prophecy (1.14.0 => v1.15.0)
  - Upgrading phpstan/phpstan (1.0.1 => 1.4.2)
  - Upgrading phpunit/php-code-coverage (9.2.7 => 9.2.10)
  - Upgrading phpunit/php-file-iterator (3.0.5 => 3.0.6)
  - Upgrading phpunit/phpunit (9.5.10 => 9.5.11)
  - Upgrading predis/predis (v1.1.9 => v1.1.10)
  - Upgrading psy/psysh (v0.10.9 => v0.11.1)
  - Upgrading sebastian/exporter (4.0.3 => 4.0.4)
  - Upgrading seld/phar-utils (1.1.2 => 1.2.0)
  - Upgrading symfony/console (v5.3.7 => v5.4.2)
  - Upgrading symfony/css-selector (v5.3.4 => v5.4.2)
  - Upgrading symfony/debug (v4.4.31 => v4.4.36)
  - Upgrading symfony/error-handler (v5.4.0 => v5.4.2)
  - Upgrading symfony/filesystem (v5.3.4 => v5.4.0)
  - Upgrading symfony/finder (v5.3.7 => v5.4.2)
  - Upgrading symfony/http-foundation (v5.4.0 => v5.4.2)
  - Upgrading symfony/http-kernel (v5.4.0 => v5.4.2)
  - Upgrading symfony/mime (v5.4.0 => v5.4.2)
  - Upgrading symfony/options-resolver (v5.3.7 => v5.4.0)
  - Upgrading symfony/polyfill-ctype (v1.23.0 => v1.24.0)
  - Upgrading symfony/polyfill-iconv (v1.23.0 => v1.24.0)
  - Upgrading symfony/polyfill-intl-grapheme (v1.23.1 => v1.24.0)
  - Upgrading symfony/polyfill-intl-idn (v1.23.0 => v1.24.0)
  - Upgrading symfony/polyfill-intl-normalizer (v1.23.0 => v1.24.0)
  - Upgrading symfony/polyfill-mbstring (v1.23.1 => v1.24.0)
  - Upgrading symfony/polyfill-php72 (v1.23.0 => v1.24.0)
  - Upgrading symfony/polyfill-php73 (v1.23.0 => v1.24.0)
  - Upgrading symfony/polyfill-php80 (v1.23.1 => v1.24.0)
  - Upgrading symfony/polyfill-php81 (v1.23.0 => v1.24.0)
  - Upgrading symfony/process (v5.3.7 => v5.4.2)
  - Upgrading symfony/routing (v5.3.7 => v5.4.0)
  - Upgrading symfony/stopwatch (v5.3.4 => v5.4.0)
  - Upgrading symfony/string (v5.3.7 => v5.4.2)
  - Upgrading symfony/translation (v5.3.9 => v5.4.2)
  - Upgrading symfony/var-dumper (v5.4.0 => v5.4.2)
  - Upgrading symfony/yaml (v4.4.29 => v4.4.36)
  - Upgrading tecnickcom/tcpdf (6.4.2 => 6.4.4)
  - Upgrading tijsverkoyen/css-to-inline-styles (2.2.3 => 2.2.4)
  - Upgrading vlucas/phpdotenv (v5.3.1 => v5.4.1)

* Update debugbar facade path

* Update baseline
2022-01-23 19:43:48 +01:00
Andrea Beccaris 0fc2f9e4c9 Add API-routes for listing MPLS SAPs and services (#13561)
* add apis for mpsl services and saps

* updated docs

* removed dbFetch, orm instead

* changed queries

* Removed unused variables

* Update api_functions.inc.php

* Update api_functions.inc.php

* Update api_functions.inc.php

* Update api_functions.inc.php

Co-authored-by: laf <[email protected]>
2022-01-20 08:15:23 -06:00
SourceDoctor f9f0d6ca8e sort Vlan Ports by ifName, ifDescr (#13657)
* sort Vlan Ports by Name

* .
2022-01-09 08:45:45 -06:00
Peca Nesovanovic 2d57e49caf Teleste Luminato ports & qam/asi output sensors & yaml (#13616)
* Luminato: bitrate sensor

* bitrate sensor Eloquent

* luminato ports

* luminato ports styleci

* luminato QAM/ASI sensor

* luminato QAM/ASI sensor styleci

* YAML & test

* drop debug $ver from sensor type

* mess with Teleste ifExtPhysInterface/ifExtLogiInterface

* styleci

* test data

* mistake in port discovery

* left out Graphs->Health->Overview->Bitrate label

* fixed Bitrate graph, copy/paste errors
2022-01-08 18:17:08 +01:00
Peca Nesovanovic dc73154ae6 VLANs sort in GUI (#13628) 2021-12-20 12:01:39 +01:00
Tony Murray a95efd6d2a Global search: search device display (#13583)
* 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
2021-12-06 16:12:24 +01:00
Peca Nesovanovic d4022e2d4e ipv6 discovery switch to new DB syntax (#13591)
* ipv6 discovery switch to Laravel

* styleci

* cleanup

* last dbfetch removed

* styleci & unneeded IF

* switched to updateOrCreate
2021-12-01 22:52:37 -06:00
Tony Murray d69674b36e Correct graph row component responsive layout for linked graphs (#13587)
* Correct graph row component responsive layout for linked graphs
Enable pass through height and legend.  Probably need more, but this is just for a start.
Switch Poller performance page

* revert accidental change

* Update Graph.php
2021-11-30 19:21:41 -06:00
Tony Murray 9d2633bf09 Escape net-snmp unformatted strings, try 2 (#13584)
* Escape net-snmp unformatted strings, try 2

* Add some tests
2021-11-30 00:12:42 -06:00
SourceDoctor 5e4e2c423c Availibility Map - show Display Name if set (#13574) 2021-11-28 12:08:44 +01:00
Tony Murray b94f08cfdb Remove color markers when logging to files (#13541)
* Remove color markers when logging to files

* Update lint

* safety checks

* back to simple formatters, but two of them

* more correct comment
2021-11-24 23:33:02 +01:00
Tony Murray 716725758d Fix bug in Device::name() (#13543) 2021-11-19 12:21:56 -06:00
Tony Murray 790c4b3402 Configurable device display name (#13528)
* 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)
2021-11-18 15:46:22 -06:00
Tony Murray 69d0753ec4 lnms snmp:fetch query multiple devices (#13538)
* lnms snmp:fetch query multiple devices
Allows regex and all device spec input

* Fix lint

* fix regexp
2021-11-18 15:35:19 -06:00
Tony Murray c79b187d72 Poller rewrite (Try 2) (#13525)
* core WIP

* try to finish up

* trim space too
and a couple of cleanups

* update test data

* put escapes back

* another net-snmp difference

* correct copy paste error

* WIP

* Use new code YAY

* a tiny bit more

* Kind of working

* Handle manual modules correctly

* convert core to modern module

* Only save metrics if modules is not overridden

* correct module exists check

* database error handling

* debug handling

* restore bad changes

* Introduce Actions
 RunAlertRulesAction
 UpdateDeviceGroupsAction

* tweaks to output

* Fix some issues in outside code

* Style fixes

* fixes to module status checks

* typehints!

* Use logger only and DI

* OS module not named correctly

* Work on quiet output a bit more

* generically don't change output when disabling debug if the driver is already stack

* Fix missing $device variable for legacy os polling
Fix missing dbFacile functions when no legacy modules polled in RunAlertRulesAction

* restore legacy os module shim

* use the new poller code for tests

* PollingDevice event

* Fix some issues and enable/disable error reporting around legacy modules

* typehints

* fully update baseline

* Use Process for version commands so we don't leak debug output.

* don't detect rrdtool version in ci every time

* style fixes

* Warning fixes

* more fixes

* re-update baseline

* remove diff noise

* fix up alerts

* Catch exceptions in device ip lookup

* Revert accidental snmp.inc.php poller target change
(should have been ?: not ??)
2021-11-17 19:23:55 -06:00
Tony Murray 562af58c7f Fix plugin_active check when plugin is not found (#13531)
* Fix plugin_active check when plugin is not found

* update baseline

* revert incorrect commit
2021-11-17 22:08:56 +01:00
Tony Murray f8764ddcb5 Revert "Poller command rewrite (#13414)" (#13524)
This reverts commit 1752d1efd4.
2021-11-16 21:40:29 -06:00
Tony Murray 1752d1efd4 Poller command rewrite (#13414)
* core WIP

* try to finish up

* trim space too
and a couple of cleanups

* update test data

* put escapes back

* another net-snmp difference

* correct copy paste error

* WIP

* Use new code YAY

* a tiny bit more

* Kind of working

* Handle manual modules correctly

* convert core to modern module

* Only save metrics if modules is not overridden

* correct module exists check

* database error handling

* debug handling

* restore bad changes

* Introduce Actions
 RunAlertRulesAction
 UpdateDeviceGroupsAction

* tweaks to output

* Fix some issues in outside code

* Style fixes

* fixes to module status checks

* typehints!

* Use logger only and DI

* OS module not named correctly

* Work on quiet output a bit more

* generically don't change output when disabling debug if the driver is already stack

* Fix missing $device variable for legacy os polling
Fix missing dbFacile functions when no legacy modules polled in RunAlertRulesAction

* restore legacy os module shim

* use the new poller code for tests

* PollingDevice event

* Fix some issues and enable/disable error reporting around legacy modules

* typehints

* fully update baseline

* Use Process for version commands so we don't leak debug output.

* don't detect rrdtool version in ci every time

* style fixes

* Warning fixes

* more fixes

* re-update baseline

* remove diff noise

* fix up alerts
2021-11-16 16:59:46 -06:00
Tony Murray 7e98e03338 Polling cleanup, fix PHP warnings (#13460)
* Fix warnings up to Arbos

* fixes a-c

* a-r

* a-vrp

* There and back again

* Update test data, couple fixes

* PHPSStan fixes

* style fixes, and fix Asyncos, whoops

* flip serial back.......

* less bogus data

* Poweralert sysName during polling too

* make sure things are calculated in the correct order

* fix style and bad nullables

* update test data

* A comple more conversions

* cambium ptp, misc, and hardware_mib

* remaining except vmware-esxi

* Fixes

* Update baseline

* fixes and fix up baseline

* adjust SnmpQueryMock to upstream options change

* data corrections

* restore slashes

* correctly handle all options input in SnmpQueryMock

* undo ftos changes

* restore vccodec sysDescr
2021-11-14 14:58:13 -06:00
Tony Murray 0adf37b4e1 OSPF port module (#13498)
* OSPF to module

* Update mock

* lint and style fixes

* enums as strings
2021-11-12 13:49:09 -06:00
PipoCanaja 29f1cb53ab Added TOS support for fping (#13496)
* TOS support for fping in LibreNMS/Data/Source/Fping.php

* TOS support for fping in app/Jobs/PingCheck.php

* Doc

* Improve doc
2021-11-11 22:33:01 +01:00
Tony Murray 15632bb875 Fix net-snmp unformatted strings (#13486)
* Fix net-snmp unformatted strings
When net-snmp returns an unformatted string (with quotes around it), it also has backslashes to escape certain characters.  Remove those.

* Clean up sysDescr and sysName when setting to Device model.

* Lint fixes

* Hmm, additional formatting spots
2021-11-10 20:48:22 -06:00
Tony Murray f4ee508f31 Run phpstan locally with lnms dev:check lint (#13458)
* Run phpstan locally with `lnms dev:check lint`
Separate result cache for deprecated functions so we don't break the cache every time.

* Skip phpstan flag
Skip all lints on ci except php lint (so we can check on multiple php versions)

* forgot default value

* fix up test cases

* Update LibreNMS/Util/CiHelper.php

Co-authored-by: Jellyfrog <[email protected]>

Co-authored-by: Jellyfrog <[email protected]>
2021-11-03 00:17:35 +01:00
Tony Murray 2c77edf4d2 Better handling of some alerting errors (#13446)
* Better handling of some alerting errors

* Better error output

* Consolidate simple template parsing

* Fixes reported by phpstan (one was a bug, yay!)

* add back forgotten trim

* don't remove the template if there is no match

* Match previous behavior, which was inconsistent.

* use anonymous class for tests instead

* Oopsie, Stringable is PHP8+

* fix style
2021-10-29 22:12:20 -05:00
Tony Murray 99d2462b80 Fix widget title injection vulnerability (#13452)
Prevent html/js code from being injected into widget titles.
2021-10-29 20:34:24 -05:00
Tony Murray 5900edbf16 PHP-Flasher for toast messages (#13401)
* 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
2021-10-29 09:13:56 -05:00
Tony Murray 38773598e0 Fix syslog widget priority filtering (#13411)
* Fix widget filtering
syslog stores priority as a string
filter strings, not numbers

* Add enums for SyslogSeverity and CheckStatus
2021-10-29 10:32:36 +02:00
Peca Nesovanovic 08dd8a07db Mikrotik vlans discovery, v2 (#13427)
* Mikrotik vlans discovery, v2

* styleci cleanup

* added Routeros entry in mkdocs.yml

* fixed typo in mkdocs.yml

* Better Vlan Eloquent Model

* Missed one

* Use new SnmpQuery code

Co-authored-by: Tony Murray <[email protected]>
2021-10-26 18:31:44 -05:00
Tony Murray 5fafb11c8f Rename concrete SnmpQuery class to avoid confusion (#13412) 2021-10-23 01:43:55 -05:00
Tony Murray 50cf1a49f1 Kick other sessions when changing password (#13194)
* Kick other session when changing password
Invalidate other sessions when a user password gets changed

* Don't logout admin users when they change passwords.
Cleanup phpstan exceptions

* only restore user if needed

* comment odd behavior

* $current_user typehint
2021-10-21 17:25:38 -05:00
Tony Murray fb934e2ede Disable ExamplePlugin (#13391) 2021-10-20 08:02:01 -05:00
PipoCanaja c8b394f317 bug - Fix missing uptime in fillable (Device Model) (#13387)
Seems that uptime is not fillable, but it used in the new rewrite of Core Module. This fixes it. A few devices in my master instance failed with uptime
2021-10-19 19:08:10 -05:00
Tony Murray f94f7f23b8 Fully convert core to a modern module (#13347)
* Core module WIP

* update OS::make()

* core WIP

* try to finish up

* switch all core do os Model

* Mock WIP

* Working tests

* cleanup

* phpstan fixes

* style fixes

* fix agent

* trim space too
and a couple of cleanups

* corrected ios test data

* missed space

* update test data

* put escapes back

* another net-snmp difference

* Fix class description

* revert snmp.inc.php change, that can be a different PR

* revert snmp.inc.php change, that can be a different PR
2021-10-19 15:43:43 -05:00
Jellyfrog 5edbd29f69 Fix regression from #12998 (#13385) 2021-10-19 17:20:32 +02:00
Kevin Zink 98ed6bb9dc New plugin system based on Laravel Package Development (#12998)
* 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 <[email protected]>
Co-authored-by: Tony Murray <[email protected]>
2021-10-19 06:53:28 -05:00
ottorei d3726e6bdc Update alertlog-widget to allow filtering by device group (#13380)
* Add group filter to alertlog widget

* Remove extra characters from settings

* Apply fixes from StyleCI

Co-authored-by: ottorei <[email protected]>
2021-10-19 06:18:29 +03:00
Tony Murray 4e94c1e0a1 Rename NetSnmp to SnmpQuery (#13344)
* 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
2021-10-07 17:03:53 -05:00
Tony Murray 8d5bc3fc41 Use Measurements for all statistic collection (#13333)
* Use Measurements for all statistic collection

* fix space

* Use colors
cleanup

* fix style

* manually fix license notice

* add return times and new line

* add return times and new line

* fix mistake in copyright template

* fix style
2021-10-06 17:09:54 -05:00
Tony Murray 0b8b97bb68 Push Notifications (Mobile and PC) (#13277)
* 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 <[email protected]>
2021-10-06 07:29:47 -05:00