* Plugin update (breaking)
A couple breaking changes regarding property types and method arguments.
Add a setting to allow plugin errors to be shown instead of automatically disabling the plugin.
All default hooks now use Dependency Injection to make it easy to get access to whatever you need (such as settings)
Add a ton of comments and examples in the PHP code.
Expand a bit on the documentation, it could still use more help
Fix a bug in the settings and page view where the included blade file was output before the page headers, etc
* Apply fixes from StyleCI
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
* 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>
* fix a few bare URLs
* make mdl happy
* make Weathermap.md as mdl happy as possible
* make Varnish.md as mdl happy as possible
* make Two-Factor-Auth.md mdl happy
* touch one header for Syslog.md, but little can be done about the rest
* make Sub-Directory.md as mdl happy as possible
* make SNMP-Trap-Handler.md lint happy
* make SNMP-Proxy.md mdl happy
* make Smokeping.md as mdl happy as possible
* make Services.md mdl happy
* make RRDTune.md mdl happy
* cleanup RRDCached.md as much as possible
* make RRDCached-Security.md mdl happy
* make Rancid.md as mdl happy as possible
* make Proxmox.md mdl happy
* make Plugin-System.md as mdl happy as possible
* make PeeringDB.md mdl happy
* make Oxidized.md more lint happy
* make Network-Map.md mdl happy
* make MIB-based-polling.md as mdl happy as possible
* make Metric-Storage.md mdl happy
* make IRC-Bot.md as mdl happy as possible
* make IRC-Bot-Extensions.md as mdl happy as possible
* make
* make Graylog.md mdl happy
* make Gateone.md mdl happy
* make Fast-Ping-Check.md mdl happy
* make Distributed-Poller.md as mdl happy as possible
* make Dispatcher-Service.md as mdl happy as possible
* make Device-Groups.md mdl happy
* make Dell-OpenManage.md mdl happy
* make Dashboard.md mdl happy
* make Customizing-the-Web-UI.md as mdl happy as possible
* make Component.md mdl happy
* make Billing-Module.md mdl happy
* make Auto-Discovery.md mostly mdl happy
* make Authentication.md as mdl happy as possible
* tidy up a few lines in Applications.md
* make Agent-Setup.md as mdl happy as possible
* make metrics/OpenTSDB.md mdl happy
* spelling fix
* Added new plugin menu_option in the "port" page, which contain hook calling public function port_container($device, $port) in plugins
* Cleaning after pre-commit error
* New method in Plugins.php to allow counting all plugins implementing a specific hook. This allow conditionnal display of the plugin menu_option in the port view.
* Typo after rebase
* Update plugins.inc.php
* Updating the documentation with device_overview_container and port_container hooks.