Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Poll service check only if the associated device is available #8757

Merged
merged 15 commits into from Jul 25, 2018

Conversation

Projects
None yet
5 participants
@dsgagi
Copy link
Contributor

dsgagi commented May 23, 2018

Poll service check only if the associated device is available.

DO NOT DELETE THIS TEXT

Please note

Please read this information carefully. You can run ./scripts/pre-commit.php to check your code before submitting.

Testers

If you would like to test this pull request then please run: ./scripts/github-apply <pr_id>, i.e ./scripts/github-apply 5926

Update check-services.php
Poll service check only if the associated device is available.
@CLAassistant

This comment has been minimized.

Copy link

CLAassistant commented May 23, 2018

CLA assistant check
All committers have signed the CLA.

if ($service['status'] === "1") {
poll_service($service);
} else {
d_echo("\nNagios Service - ".$service['service_id']."\nSkipping service check because device ".$service['device_id']." is down.\n");

This comment has been minimized.

@laf

laf May 23, 2018

Member

I actually think we should log to eventlog as well:

log_event("Nagios Service - {$service['service_desc']} ({$service['service_id']}) - Skipping service check because device {$service['hostname']} is down due to icmp", $device, 'service', 4, $service['service_id'])

This comment has been minimized.

@dsgagi

dsgagi May 24, 2018

Author Contributor

I think there would be too much spam in the event log in this case.

In my case, one device has 5 service checks and they are polled every 2 minutes. So eventlog would be populated with 5 new logs every 2 minutes while the device is down.

This comment has been minimized.

@dsgagi

dsgagi Jun 4, 2018

Author Contributor

@laf
Just checking if you still think that we should log to the eventlog too or maybe you just missed my reply? :)

@laf laf added the Service label May 23, 2018

// Run the polling function
poll_service($service);
// Run the polling function only if the associated device is up
if ($service['status'] === "1") {

This comment has been minimized.

@laf

laf May 23, 2018

Member

I actually think we should maybe do:

if ($service['status'] === "1" || ($service['status'] === '0' && $service['status_reason'] === 'snmp')) {

So that if the device is marked as down for snmp then it may be up for icmp still and service checks may still work. @librenms/reviewers Thoughts?

Update check-services.php
Updating line 68 based on laf suggestion.
@PipoCanaja

This comment has been minimized.

Copy link
Contributor

PipoCanaja commented May 24, 2018

Hello

Are you really sure you this behaviour is suitable ? In my case, we use LibreNMS to poll our external services (web, SMTP, webapps etc etc) and none of the public IP addresses are allowed by security to answer PING)
So the devices are down, but we expect the services to be polled.
This change would definitly break this.

We could add a config parameter, something like :

if ($config['force_service_poll_on_down'] ==="1" || $service['status'] === "1" || ($service['status'] === '0' && $service['status_reason'] === 'snmp')) {

Thanx
PipoCanaja

@dsgagi

This comment has been minimized.

Copy link
Contributor Author

dsgagi commented May 24, 2018

@PipoCanaja

Do you add service checks on the monitored device page or some other device?

In our case, we add service checks on the monitored device page (for the same ip address/hostname) so if the device is unavailable it wouldn't make sense to try polling the services (which would slow down service polling because of service checks timeouts).

With this change, only services added to the unavailable monitored device will be skipped.

@PipoCanaja

This comment has been minimized.

Copy link
Contributor

PipoCanaja commented May 24, 2018

It is exactly our case. The monitored device does not answer to Ping (security does not allow it) but only to HTTP (if web) or the applicative service port. So the only polling we can do is on the port itself. So we need a way to disable this change if the community decides to make this change the default behaviour.

@dsgagi

This comment has been minimized.

Copy link
Contributor Author

dsgagi commented May 24, 2018

New config switch sounds like a good idea to me.

If reviewers agree, I would even leave if off by default for compatibility.

@murrant

This comment has been minimized.

Copy link
Member

murrant commented May 24, 2018

There is already a disable icmp test setting per device and we could check the nagios checks to see if they match the device they are attached to as well.

dsgagi added some commits Jun 4, 2018

Update check-services.php
Also check the following before polling the service:
* "Disable ICMP Test" is enabled
* Service hostname/IP is different from associated device.
Update check-services.php
Remove whitespaces.
@dsgagi

This comment has been minimized.

Copy link
Contributor Author

dsgagi commented Jun 7, 2018

Should we also skip checking services associated with disabled devices?

Just figured out that there is no condition for that.

@murrant

This comment has been minimized.

Copy link
Member

murrant commented Jun 10, 2018

No, I think if the device is disabled, always skip. But, if icmp check is disabled, poll even if the device is down... I think that seems right.

@dsgagi

This comment has been minimized.

Copy link
Contributor Author

dsgagi commented Jun 11, 2018

@murrant Wanted to make changes based on your suggestion, but then I saw that services-wrapper.py also skips disabled devices before running check-services.php based on query results. :)

Should we go with modifying the services-wrapper.py too?

I made more changes to the check-services.php logic and I think alerting runs more stable with them. Our instance is running for several days with the changes, and no errors like the ones mentioned below happened after implementing them.

Could not issue critical alert for rule 'Memory CRITICAL' to transport 'mail' Error: You must provide at least one recipient email address. (Memory CRITICAL is a rule fired based on service check result)

Before, we had the above error firing several times a day.

Will push my changes soon after this comment.

Update check-services.php
* Make check-services.php perform more similarly to services.wrapper.py - loop service checks per device and execute RunRules() function after polling all services for one device (like in poller.php).
* Add more debugging information, similar to poller.php
@laf

This comment has been minimized.

Copy link
Member

laf commented Jun 13, 2018

service-wrapper would need to mimic the same I'd say.

@dsgagi dsgagi referenced this pull request Jun 15, 2018

Merged

New python service #8455

1 of 1 task complete

dsgagi added some commits Jul 3, 2018

Update check-services.php
Implement logging to eventlog when service is skipped due to icmp down event. Event is logged only once during device down event, which is achieved by checking value in service_disabled column in services table.
Update check-services.php
Fix Travis errors.
$query = "SELECT * FROM `devices` WHERE `disabled` = 0 $where ORDER BY `device_id` ASC";
}
foreach (dbFetch($query) as $device) {

This comment has been minimized.

@laf

laf Jul 7, 2018

Member

Why loop through this first and then loop again. I'm sure you can do this in one query

This comment has been minimized.

@dsgagi

dsgagi Jul 7, 2018

Author Contributor

I added device loop because of the RunRules function below, so it would execute the function after polling all services from one device before continuing on to the next device and it's services.

This comment has been minimized.

@dsgagi

dsgagi Jul 9, 2018

Author Contributor

Reverted back to one loop.

// or service hostname/ip is different from associated device
if ($service['status'] === "1" || ($service['status'] === '0' && $service['status_reason'] === 'snmp') ||
$service['attrib_value'] === 'true' || ($service['service_ip'] !== $service['hostname'] &&
$service['service_ip'] !== $service['ip'] )) {

This comment has been minimized.

@laf

laf Jul 7, 2018

Member

$service['ip'] is the device IP here so you will need to run that through inet6_ntop() first.

This comment has been minimized.

@dsgagi

dsgagi Jul 9, 2018

Author Contributor

Done.

} //end service foreach
echo "#### Start Alerts ####\n";
RunRules($device['device_id']);

This comment has been minimized.

@laf

laf Jul 7, 2018

Member

I personally don't think running alerting in here is a good thing.

This comment has been minimized.

@dsgagi

dsgagi Jul 7, 2018

Author Contributor

I actually added this as a test, because we had alerting problem I mentioned in comment before.

I made more changes to the check-services.php logic and I think alerting runs more stable with them. Our instance is running for several days with the changes, and no errors like the ones mentioned below happened after implementing them.
Could not issue critical alert for rule 'Memory CRITICAL' to transport 'mail' Error: You must provide at least one recipient email address. (Memory CRITICAL is a rule fired based on service check result)
Before, we had the above error firing several times a day.

I was reviewing alerting and saw RunRules is called in poller.php, so I added it in check-services.php too for the test. Also, kinda made sense to me as poller.php and check-services.php were not working synchronized while polling.

I just reviewed the eventlog of our instance. Before I added RunRules to the code, the error above occurred tens of times on every day. After the change, error still occurred on some days in last month, but 1-4 times tops. It helped, but didn't solve the problem :).

Can't quite figure out what happens that triggers the error. I suspect that RunRules triggers at the same time as alerts.php, but clears/deletes the alert after alerts.php started sending mail transport and because of that it doesn't have any contact to send too. By adding RunRules to check-service.php I guess that situation happened less often.

Off course, it's up to the librenms team to decide. I'm primarily a network/system engineer, so not much programming experience :)

This comment has been minimized.

@laf

laf Jul 7, 2018

Member

Well if it's not even a fix then I think it needs to be removed so that the loop around two SQL queries can be dropped.

@laf laf added this to the 1.42 milestone Jul 7, 2018

Update check-services.php
Revert back to one query and one foreach loop code.
Added inet6_ntop() for reading $service['ip'] value.
Removed RunRules() function.

@murrant murrant changed the title Update check-services.php oll service check only if the associated device is available Jul 9, 2018

@murrant murrant changed the title oll service check only if the associated device is available Poll service check only if the associated device is available Jul 9, 2018

dsgagi added some commits Jul 9, 2018

Update check-services.php
Formatting fixes.
Update check-services.php
More formatting fixes. :)
@dsgagi

This comment has been minimized.

Copy link
Contributor Author

dsgagi commented Jul 10, 2018

Any suggestions to make codeclimate happy maybe? :)

Not sure if the logical expression could be simpler than how it is now.

@@ -13,7 +13,7 @@
* the source code distribution for details.
*/
$init_modules = array();
$init_modules = array('alerts');

This comment has been minimized.

@laf

laf Jul 10, 2018

Member

Need to remove 'alerts' now that this is no longer running alerting.

This comment has been minimized.

@dsgagi

dsgagi Jul 11, 2018

Author Contributor

Forgot about that. Done :)

Update check-services.php
Removed 'alerts' from init_module.
@laf
Copy link
Member

laf left a comment

This now makes the reason services will be polled rather complicated so I feel it needs to be noted in https://github.com/librenms/librenms/blob/master/doc/Extensions/Services.md on how it now works. Can you please add a section to that doc.

I also don't see why the service is marked as disabled / not-disabled between checks if the device is up and down as it makes no difference to if the service is checked or not.

if ($service['status'] === "1" || ($service['status'] === '0' && $service['status_reason'] === 'snmp') ||
$service['attrib_value'] === 'true' || ($service['service_ip'] !== $service['hostname'] &&
$service['service_ip'] !== inet6_ntop($service['ip']) )) {
// Mark service check as enabled if it was disabled previosly because device was down

This comment has been minimized.

@laf

laf Jul 19, 2018

Member

Just a spelling mistake on previosly.

This comment has been minimized.

@dsgagi

dsgagi Jul 20, 2018

Author Contributor

Agree about documentation. Will write something up during the weekend or on Monday, busy Friday.

I mark service as disabled in the service_disabled column in order to use it as a logical condition for writing to eventlog. It would write to eventlog only on first loop while the device is down.

dsgagi added some commits Jul 23, 2018

Update Services.md
Update Services documentation with info about changes to service checks polling logic.
Update check-services.php
Fix spelling check on `previosly`.
array($service['service_id'])
);
log_event(
"Nagios Service - {$service['service_desc']} ({$service['service_id']}) -

This comment has been minimized.

@murrant

murrant Jul 23, 2018

Member

AFAIK, they shouldn't be called "Nagios Service"
https://www.monitoring-plugins.org/

@@ -89,3 +89,10 @@ then you can run the following command to help troubleshoot services.
```
./check-services.php -d
```
## Service checks polling logic

By default, service checks will be skipped if the associated device is not pingable, and an appropriate entry will be populated in the event log. An exception to this rule are service checks with `IP address` parameter different from the associated device's IP address.

This comment has been minimized.

@murrant

murrant Jul 23, 2018

Member

You can drop the "By default, " Maybe try to make it a little less wordy.

This comment has been minimized.

@dsgagi

dsgagi Jul 23, 2018

Author Contributor

What do you think about below?

Service check is skipped when the associated device is not pingable, and an appropriate entry is populated in the event log. 
Service check is polled if it's `IP address` parameter is not equal to associated device's IP address, even when the associated device is not pingable.

Seems simpler like this, I think :)

@laf
Copy link
Member

laf left a comment

LGTM

@laf laf removed the Blocker 🚫 label Jul 23, 2018

Update check-services.php
Replace phrase "Nagios Service" with "Service check".
@dsgagi

This comment has been minimized.

Copy link
Contributor Author

dsgagi commented Jul 23, 2018

Sorry @laf. I saw murrant's suggestion first and made the change right away.

Noticed the approval only after I submitted the change :(.

@murrant
Copy link
Member

murrant left a comment

I don't really use services, but LGTM

Update Services.md
Reword first two sentences of `Service checks polling logic` section.

@laf laf merged commit 24d84ae into librenms:master Jul 25, 2018

3 of 4 checks passed

codeclimate 1 issue to fix
Details
WIP ready for review
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
license/cla Contributor License Agreement is signed.
Details

gs-kamnas pushed a commit to gs-kamnas/librenms that referenced this pull request Aug 1, 2018

Poll service check only if the associated device is available (libren…
…ms#8757)

* Update check-services.php

Poll service check only if the associated device is available.

* Update check-services.php

Updating line 68 based on laf suggestion.

* Update check-services.php

Also check the following before polling the service:
* "Disable ICMP Test" is enabled
* Service hostname/IP is different from associated device.

* Update check-services.php

Remove whitespaces.

* Update check-services.php

* Make check-services.php perform more similarly to services.wrapper.py - loop service checks per device and execute RunRules() function after polling all services for one device (like in poller.php).
* Add more debugging information, similar to poller.php

* Update check-services.php

Implement logging to eventlog when service is skipped due to icmp down event. Event is logged only once during device down event, which is achieved by checking value in service_disabled column in services table.

* Update check-services.php

Fix Travis errors.

* Update check-services.php

Revert back to one query and one foreach loop code.
Added inet6_ntop() for reading $service['ip'] value.
Removed RunRules() function.

* Update check-services.php

Formatting fixes.

* Update check-services.php

More formatting fixes. :)

* Update check-services.php

Removed 'alerts' from init_module.

* Update Services.md

Update Services documentation with info about changes to service checks polling logic.

* Update check-services.php

Fix spelling check on `previosly`.

* Update check-services.php

Replace phrase "Nagios Service" with "Service check".

* Update Services.md

Reword first two sentences of `Service checks polling logic` section.

vicomte added a commit to vicomte/librenms that referenced this pull request Aug 21, 2018

merge from librenms/master (#10)
* Added APC Environmental Manager Support (#8872)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
fix #8781

* Small Cleanup (#8871)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Improved support for cambium cmm and added cmm4 (#8737)

- Added port discovery for cmm3 (not available for cmm4, not that i could find)
- Added discovery for cmm4
- Added Power port cmm4
- Removed Processor bug by disabling processor on device.

I am unable to test CMM4 and may need someone to do so or review for possible errors.

Fixes Issues #8732, #8731

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Collectd graph bug fix (#8855)

- fix graph color handling bug
- fix graph listing when metagraph exists
- show collectd metric name (plugin and type) in title

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Updated shebang on librenms-service.py (#8875)

Changed shebang to point to python3 as per documentation the service does not work with python2

* Fix up depth column (#8884)

Remove some dead code

* Fixed api list devices query for normal users (#8881)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

fixes: https://github.com/librenms/myLibreNMS/issues/37

* Add sysDescr and hardware for oxidized overrides (#8885)

* Fix processor usage on edit page (#8887)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* discovery.php: don't exit(5) without new devices discovered (#8893)

Don't exit with a non-zero value in case no new devices were discovered, as non-zero codes are considered failed jobs for most cron implementations and produce logs like the following (in Debian):

```
cron.info CRON[963890]: (CRON) error (grandchild #963892 failed with exit status 5)
``` 

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Support specifying submodules in poller and discovery for debug (#8896)

Mostly useful for debugging

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added support for sorting alerts by severity on the Alerts widget (#8895)

Added feature to sort alerts by severity on the Alerts widget.


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fix broken navigation on VRFs Page (#8889)

Hello

The VRFs page has navigation issue right now, that bring the user back to BGP page when most links are clicked (graphs, VRF). This change does some cleanup based on the "device/vrf" page, to recreate a "consistant" navigation. 
Graphs are fixed, and clicking the "VRF" says "Not implemented". 

Bye
PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Improved Logging and Debugging (#8870)

Use Log facility when Laravel is booted.
Update init.php so we can easily boot Laravel for CLI scripts. (and just Eloquent, but that may go away)
Move all debug setup into set_debug() function and use that across all scripts.
Log Laravel database queries.
Send debug output to librenms log file when enabling debug in the webui.
Allow for colorized Log CLI output. (currently will leave % tags in log file output)

** Needs testing and perhaps tweaking still.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Typo in changelog (#8897)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Refactor alert templates to use Laravel Blade templating engine (#8803)

* Initial start on new templating support

* further updates

* more updates

* More working version

* Last fixes

* Small updates

* modified test to look for dbname.

* Schema update

* Added fix for not being able to disable Philips Hue transport

* Updated sql file

* Updated db_schema

* Set myclabs/deep-copy to be 1.7.x version in composer

* Fixes from murrant

* Forced nikic/php-parser to version 3.1.x in composer

* Updated composer to use custom fork of string-blade-compiler + fixed transport use

* Updated to always use correct template

* Merged legacy and blade templating engines

* Removed template type + fixed test-alert.php

* Added more template placeholders

* Added ability to reference data in templates as $alert->X

* Updated docs for templates

* Updated db_schema.yaml

* Added $alert->builder

* Clarify the use of $alert->builder

* Fixed the use of $alert->transport

* renamed schema file

* Added template validation

* Small update to fix travis issue

* Add Docs text to title bar

* Updated amqp to new of version

* Consistency in alert rule and template title bars

* Downgrade phpdotenv dependency (#8902)

https://github.com/vlucas/phpdotenv/issues/276

Fixes values in .env starting with # being empty.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added detection for CoreOS devices (#8899)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Updated Old Template URL to point to the correct location within docs (#8905)

* fix stupid error in vars.inc.php (#8904)

* test-template.php fixed after #8803 PR

Hello

Following this post, ( https://community.librenms.org/t/bug-test-template-php-not-running-after-laravel-upgrade/4639/9 ), here is the PR.

PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Revert "fix stupid error in vars.inc.php" (#8909)

* Revert "test-template.php fixed after #8803 PR"

This reverts commit 2c26c08020b01ad10050335c4ee50ea034d4cbe0.

* Revert "fix stupid error in vars.inc.php (#8904)"

This reverts commit 2f681a3df3e4c09abee4fbf18a6777771b8810f8.

* fixed can_ping_device() logic (#8906)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fix errors in vars.inc.php (#8913)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Ignore long lines in codeclimate (#8912)

Other option is to increase line length.

Feel free to disagree.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Don't depend on String_Blade_Compiler so hard (#8907)

Allows things to boot if it is missing but displays a toast.
Allows Toastr facade to work on legacy pages too.

Not 100% sure if we want this.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Stop allowing search text to be tagged for select2 (#8915)

* PSR-4 Plugin Support (#8880)

Add phpdocblocks Plugins.php
Add psr-4 plugins path to composer.json

Changes to be committed:
	modified:   LibreNMS/Plugins.php
	modified:   composer.json

* Fix missed variable rename. (#8916)

Walk was in another file.

* Fix plugin loading (#8917)

* Fix plugin loading
class_exists was loading the including the files, then we included it again.
Mostly, just include -> include_once is the fix.

* fix style

* forgot to update docblock

* Codeclimate updates (#8918)

Update to version 2 of config
Don't require camelCase variables

* BUG - test-template.php upgrade after #8803 +  #8908 PR (#8910)

* Update test-template.php

* Test-Template.php - Use AlertData Class

* Update test-template.php

* Custom error page (#8911)

Generic error page, just a dump of the current page with additional information.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added missing Config dependency (#8919)

* Improve DCN Device Support (#8878)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
fix #8755 

I have not added test data as it would require filterting quite some LLDP/IP's etc information.

* Fixed alert rules that use columns in value (#8925)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added Alert Transports Mapping (#8660)

Hello all,
I guess this is the second version of a more fully fleshed out alert contact mapping feature. The old one was GH-8507

Transports to convert:

  - [x] API
  - [x] Cisco Spark
  - [x] Elasticsearch
  - [x] GitLab
  - [x] Philips Hue
  - [x] Jira
  - [x] Mail
  - [ ] ~~PagerDuty~~ - Requires a callback so leaving for now
  - [x] Nagios
  - [x] IRC
  - [x] Discord
  - [x] Rocket.chat
  - [x] Hipchat
  - [x] Pushover
  - [x] Boxcar
  - [x] Telegram
  - [x] Pushbullet
  - [x] VictorOps
  - [x] OpsGenie
  - [x] Clickatell
  - [x] PlaySMS
  - [x] Canopsis
  - [x] osTicket
  - [x] Microsoft Teams
  - [x] SMSEagle
  - [x] Syslog
  - [x] Slack

The intention is for this feature to have three different levels to it:
1. Alert rule to an alert contact mapping (where the code is at now)
2. Alert rule to an alert group (made up of alert contacts) mapping
3. Alert contact mapping to different transport configurations.

There will be three transport configuration types.
1. Default (the configuration that is held in the configs table)
2. None (no transport configuration - will explain later)
3. Other (a configuration that will be defined in a different able)

Take Mail transport for example. It can either be of a "default" or "other" configuration. The hope is that in the future, users can send mail from different mail servers if they wish.
However, for ciscospark which requires a room ID and an api-token, I've decided that it has no transport configuration. Most likely, every alert contact will contain a different room-id and an api-token - which is why it has the transport config of "none".
For other transports : I am not familiar with them, so hopefully the community can add support for these. I can definitely help!

To add support for each transport will require several things:
- addition to the UI
- addition to forms/alert-contacts.inc.php
- modifications to its object class

Screenshots
![image](https://user-images.githubusercontent.com/28970851/39594533-2092ce9e-4eca-11e8-9c5d-cd002ece1425.png)
![image](https://user-images.githubusercontent.com/28970851/39594544-276e9856-4eca-11e8-80cc-82789ee0b2b2.png)
![image](https://user-images.githubusercontent.com/28970851/39594553-2fdf528c-4eca-11e8-8a40-4f149e767054.png)

I'm not sure if this is the best way to do things, so please let me know if there's a better way to structure the code! Any comments on code/db schema,/UI etc is welcome and encouraged! 

The UI is heavily based on alert rules (front end is not my strong suit). And parts of the code are based on the code that was written for alert rules.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Asterisk Application support (#8914)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

PR 183 from librenms-agent contains the script to make this work

https://github.com/librenms/librenms-agent/pull/183

* Added discovery of serverscheck flooding sensor (#8923)

Added discovery for state of serverscheck flooding sensors.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* fix foldersize() recursion (#8930)

previously, it tried to add an array to an integer...

* Support for HTML tags in TELEGRAM transport (#8929)

This update will add support for HTML tags in TELEGRAM Transport

Here is the list of all tags that you can use in alert template for telegram transport.

```
<b>bold</b>, <strong>bold</strong>
<i>italic</i>, <em>italic</em>
<a href="http://www.example.com/">inline URL</a>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
```

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fix Calix OS definitions (#8832)

* Fix Calix OS definitions

The main change is EXA (E7, etc) and B6 (Occam) devices are now their own OS

Now the follow OS exist:
exa: E7 EXA, E5-400, E5-48, E3-48, E3-8G
occamos: B6

Unchanged:
calix: E5-1**, E3-12C
axos: E7-2 AXOS, E9-2, E3-2, E5-520, E5-16F, E3-16F, E5-30x

* fix tests
exa_e7-2 seems like bogus data.

* additional tests, fix an error in the yaml

* Remove extra line return

* Add missed file

* Added VRF support on VRP devices (huawei) (#8879)

* Feature: Enable VRF handling in Huawei VRP devices using standard MPLS-L3VPN-STD-MIB

* Feature: Enable VRF handling in Huawei VRP devices using standard MPLS-L3VPN-STD-MIB

* Feature: VRF on VRP devices - Fix Codeclimate error

* Feature: VRF on VRP devices - Fix Codeclimate error

* Feature: Enable VRF handling in Huawei VRP devices using standard MPLS-L3VPN-STD-MIB

* Feature: VRF on VRP devices - Fix PR ChangeRequest

* Feature: VRF on VRP devices - Fix PR ChangeRequest

* Create vrp_ce12804-withvrf.json

* in_array, not str_contains

* Changed jnxProductQFX511048S4Q to jnxProductQFX511048S4C in rewrites.php (#8932)

Originally had this pull request earlier this year to add support for this: #8466 but looks like Juniper changed this at some point when the Juniper chassis mibs were updated here: #8678

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Updated transport docs to fix table (#8934)

* Make alert transport form compatible with sql strict mode (#8931)

* Edit is_default so it is compatible with sql strict mode

* whitespace fix

* Evaluate is_default earlier

* Fix logic

* Fix typo in clickatell (#8937)

* Removed the static Slack Priority field (#8936)

* Removed the static Priority field

* Update Slack.php

* Arris CMTS - C4/C4c remamed and Added C3 support (#8883)

* Added Arris C3 to cmts.yaml

* Added Arris C3 hardware

* ARRIS CMTS->Move from cmts to arris_c4 yaml

* Fixed some Arris_c4 definitions

* Added Arris C3 CMTS

* Fixed some typos

* Arris C3 test files

* Arris C4 test files

* Deleted not anymore valid files

* Renamed from underscore

* Fixed some typos

* Correct test files

* Removed old snmprec files

* Correct test files v2

* Deleted more old files

* Return to cmts for valid_sensor() for Arris C4/C4c

* Re-done test files

* Re-do test files after rebase

* fix: Match interface counter64 OIDs with unsigned bigint (#8940)

* fix: Match interface counter64 OIDs with unsigned bigint

* move to one line, add ifInOctets

* Update db_schema.yaml

* Update db_schema.yaml

* Poll service check only if the associated device is available (#8757)

* Update check-services.php

Poll service check only if the associated device is available.

* Update check-services.php

Updating line 68 based on laf suggestion.

* Update check-services.php

Also check the following before polling the service:
* "Disable ICMP Test" is enabled
* Service hostname/IP is different from associated device.

* Update check-services.php

Remove whitespaces.

* Update check-services.php

* Make check-services.php perform more similarly to services.wrapper.py - loop service checks per device and execute RunRules() function after polling all services for one device (like in poller.php).
* Add more debugging information, similar to poller.php

* Update check-services.php

Implement logging to eventlog when service is skipped due to icmp down event. Event is logged only once during device down event, which is achieved by checking value in service_disabled column in services table.

* Update check-services.php

Fix Travis errors.

* Update check-services.php

Revert back to one query and one foreach loop code.
Added inet6_ntop() for reading $service['ip'] value.
Removed RunRules() function.

* Update check-services.php

Formatting fixes.

* Update check-services.php

More formatting fixes. :)

* Update check-services.php

Removed 'alerts' from init_module.

* Update Services.md

Update Services documentation with info about changes to service checks polling logic.

* Update check-services.php

Fix spelling check on `previosly`.

* Update check-services.php

Replace phrase "Nagios Service" with "Service check".

* Update Services.md

Reword first two sentences of `Service checks polling logic` section.

* Fixed test transport form (#8942)

* Update Network-Map.md (#8946)

Fix typo

* Remove testing data (#8945)

* Added Citrix Netscaler HA sensors and alerts (#8800)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed whitespace bug in ceraos temperature sensor (#8948)

* Fixed whitespace bug in ceraos temperature sensor

* Update ceraos.json

* Update ceraos.json

* Fixed typo in new alert rule html (#8958)

* Update RRDCached.md to fix permissions (#8959)

Add step to Debian 9 to fix permissions on /mnt/librenms/rrd/journal/

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Adds missing hostname parameter to addhost.php (#8961)

Just followed the docs after installation and stumbled about this, which caused some irritation.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed pushbullet transport (#8963)

* Fixed pushbullet transport

* Updated return value

* Fix default template (#8964)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update Templates.md (#8965)

Fix errors in `Service Alert` template example.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Allow ping checks to be ran separately from polling (#8821)

Allows ping checks at intervals not tied to the poller.  Pointless if you are not alerting on device status.
I updated the rrdstep.php script to treat ping-perf files separately and made it so it only converts if needed.

Docs here: https://docs.librenms.org/Extensions/Fast-Ping-Check/

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Alert transport fixes (#8967)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Convert alert templates in place (#8951)

* Convert alert templates inplace

* Update copyright

* Update convert-template.inc.php

* Add docs for using a base template (#8939)

* Add docs for using a base template

* Updated readme

* Add wget command to memcached (#8971)

* Update base template (#8973)

* Added changelog for 1.42 (#8975)

* Added changelog for 1.42

* Small updates

* Fix template conversion (#8976)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update Templates.md (#8979)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update convert-template.inc.php (#8980)

* Cast variables as arrays to cover empty values (#8982)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Log an event for each Service Status change (#8968)

Hello

Here is a proposal for a pièce of code to log (using log_events) each service status change onto the device itself. 

Let me know if we should create the "getStatusText()" function to convert the int to "OK", "Critical" etc etc . I searched for such a function but did not find it. 

I also add to use a hack for the SQL cause it would prevent the device_id valueto be available in the resulting $service when device_attribs is empty for the device. If you have a better way to suggest, I'll be happy to use it. 

PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed Eventlog search (missing OR in SQL query) (#8981)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added 'Disabled' and 'Down' state for devices/links rendered on NetworkMap (#8926)

Hello

Here is a proposal for a dedicated color on disabled devices displayed on the Network Maps. Usecase is that during a migration, we are "disabling" the old devices and we delete them only a few days/weeks later. This change allows to see the productive devices as well as the disabled ones and clearly know which is which. 

Thanx

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Selective Port polling improvements (#8650)

Don't delete skipped ports when using selected polling
Improve output of port polling module.
Update ifOperStatus and ifAdminStatus even when skipping.

Warning! causes a semantic change where ifAdminStatus_prev and ifOperStatus_prev are updated every poll, so they will only be mismatched for one poll.  This could cause alerts to behave differently.

Add an optimization if less than 10% of the ports are disabled (or less than 5), walk the base oids.
Time improvement on test device Full: 12s, Selective: 8s, Optimized 4s. (no disabled ports on device, many down)

Another test device.

![image](https://user-images.githubusercontent.com/39462/40066671-46cdc956-582a-11e8-928a-80bbd81dd423.png)


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Find snmpsimd binary rather than infer snmpsimd.py (#8952)

instead of calling snmpsimd.py blindly

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Line up ping graph legend (#8955)

![image](https://user-images.githubusercontent.com/39462/43288765-7ff46116-90ee-11e8-80ec-a1f37e5027ae.png)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update sonus-sbc detection (#8978)

* Remove port association mode map from the database (#8941)

* Remove port association mode map from the database

* Renamed sql file

* Renamed sql file

* Allow to use full DN as value for member attribute instead of member: username (#8969)

Allow to use full DN as value for member attribute instead of member: username

I dont use LDAP so this should be tested with both methods.

For using fulldn as user `$config['ldap_auth_userdn'] = true;` must be set in config.php

This comes from https://community.librenms.org/t/feature-request-full-dn-as-group-member-attibute-in-ldap-auth/4805

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Add another example hardware setup (#8983)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed the display of hostnames within the edit device permissions if a SysName is used instead (#8986)

* Correct config template for API transport (#8991)

Due to bug in the implementation of the alert transport mapping introduced in #8660  , the API transport is unable to be configured via the new interface. Only the 'get' method is displayed in the UI and the defined validation is expecting uppercase "GET" or "POST" as the method, making it impossible to configure the API transport.

This change corrects the name to option value mapping to uppercase GET and adds back the POST method option. 

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update Fast-Ping-Check.md to include options (#8987)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* remove strict comparisons for check-services.php (#8992)

Required by #8935

That PR returns ints if appropriate
"0" => 0

* Update Distributed-Poller.md to include running daily.sh (#8988)

Small update to the docs as of daily.sh has to run on all instances

* Don't insert into the alert table if the entry is already correct. (#8990)

* Don't insert into the alert table if the entry is already correct.

* Fix another strict comparison

* Correct smokeping integration example (#8997)

The only mention in the sourcecode I can find to 'smokeping_server_hostname' is in this doc, and such an option doesn't really make sense. You will still require the $config['smokeping']['integration'] = true option though.

* Reference Issues for new OS support (#8996)

* Reference Issues for new OS support

* Update link

* Update Telegram.php (#9000)

* Update scripts/rrdstep.php (#9004)

Use system_step in icmp_step and system_heartbeat

* Added rockstor svg os and logo (#9002)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Display MAX rrd value in Service Graphs (#9001)

Hi

This patch does add the MAX graph (AREA) for the Service graphs. And the Max numerical value is as well taken from the MAX RRD value instead of AVERAGE. 

When scaling to larger amount of time, displaying like today the average only makes all spikes disappear, and the Max value does not make much sense.

I also added a color choice to *pinkify* the "Loss" graphs. 

Exemple with HTTP graphs polling google: 

![http-exemple](https://user-images.githubusercontent.com/38363551/43886912-7760b28c-9bbd-11e8-875b-b2afe140bdf9.png)

PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed snmptraps. (#8898)

* Fixed snmptraps.

* Fixed space

* Added bgp down/up and authentication failure

* Fixed typo

* Fixed some typos, arrays, astext and format_hostname

* Updated documentation

* Moved code to a function

* Some refactor

* Minor fixes

* Minor fixes 2

* More minor fixes

* Changes requested by Tony

* Minor fixes

* Moved include to snmptrap.php

* Refactor traps to use object oriented code.

Should trigger events too/instead, but we'll leave that.
Testing todo

* Add tests and fix things so they actually work
Not checking events yet.

* Fixed typo and severity level

* Update composer deps, I think the lock file wasn't right.
add json and mbstring extension deps while I'm at it.

* Fix several issues with phpunit fixtures

* Update alerts.inc.php (#8977)

Also sort by timestamp, after sorting/grouping by severity.

* Added Juniper Junos syslog notification code (#9006)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Remove non-existent PowerNet-MIB OIDs. (#9005)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Use Process for fping (#8970)

Simplify fping function and add debug output.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Check if value is valid for Linux servers (#8956)

Fix for issue #8950 


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* device: Add missing Extreme Networks rewrites (#8957)

* device: Sort Extreme Networks devices rewrites

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>

* device: Add couple Extreme Summit rewrites

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>

* Remove duplicate

* Updates to snmptrap handling (#9010)

* Updates to snmptrap handling
fix a bug in findDeviceByIP.  Add more tests for that.
Move handle outside of the Trap class, it doesn't fit.
Add developer docs.

* fix tests copy paste issue.

* Fix findByIp when port may not exist.

* Logging: Output context (and extra) if they exist

* Generic trap event logging and new config setting.

* Standardized install method for RaspberryPi App (#9014)

As most Applications use wget to download the scripts, I've altered the RaspberryPi Application to get listed in same way.
Though it does appear LibreNMS doesn't support this Application anymore

* Update Applications doc for postfix and RHEL usage (#9019)

* Update ReadMe (postfix)

added RHEL support note

* Update Applications.md

* device: Added detection for SIAE Microelettronica ALFOplus2 microwave radio device (#8953)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added support for Huawei iBMC (#9011)

* Device: Huawei iBMC - Initial support for Huawei iBMC on RH servers

* Device: Huawei iBMC - Server management Console

* Device: Huawei iBMC - Server management Console - snmp_get_multi_oid

* Added json test data

* Fix invalid json in test data (#9015)

* Fix invalid json in test data
Most simply needed the syntax fixed
fail2ban needed updated data (added non-zero values in test data too)
awplus: ntp application cannot be enabled by tests since it doesn't use snmp extend... ntp app is enabled by ntp module... pass on that for now.

* missed awplus change somehow...

* Update SNMP-Configuration-Examples.md (#9022)

Updated ESXi 5.x/6.x
Added VCenter 6.x

* Add a check for a failed dns query in get_astext() (#9020)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added support for older Airmux-400 (#9024)

Removed sysObjectID extension to allow discovery of older RAD Airmux 400 devices

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added hiding of disabled ports in graph, device overview and device ports view. (#9017)

When disabling or ignoring ports in the "Ports Settings" (http://<nms_host>/device/device=<device_id>/tab=edit/section=ports/) then the ports are still shown under the Port tab for a specific device (http://<nms_host>/device/device=<device_id>/section=ports/) and in the Overall Traffic Graph.
To keep the view and graph more clear, this change only shows the ports which are not disabled or ignored.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [y] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Use PDO for MySQL queries (#8935)

Gut dbFacile
mres() now does nothing... could have some vulnerable queries, but most are ok

TODO
- [x] IRC client broke
- [x] Install broke

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Use rrdtool_escape() for sensors instead of manually padding text (#9029)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Tidy up some transport code from previous pr (#8927)

* Fix dbFacile null parameters (#9031)

* Fixed widgets from updated dbFacile changes (#9033)

* Fixed widgets from updated dbFacile changes

* Updated top interfaces

* Remove accidental cast (#9032)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added basic support for IBM i (AS/400) (#9030)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Cleaned up Trango Apex Lynx OS code and added wireless sensors (#9026)

I removed an incorrect mib and added the correct one.  Changed initial detection to use mib instead of numeric oid. Removed trim function.  Added wireless sensor class.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Convert old templates title as well as body (#9034)

* Convert old templates title as well as body

* Update convert-template.inc.php

* Fixed pre-commit (#9035)

* Improved SmartAX OS support. Added CPU&Temperature for each card and … (#9023)

* Improved SmartAX OS support. Added CPU&Temperature for each card and hardware detection

* Minor fixes

* Uploaded test data

* Moved to snmpwalk_array_num()

* Fixed Temperature

* Added sensor power

* Fixed Style issues and proper hardware detection

* Fixed last style issue

* Last update. Added version and serial. Added traffic and processors mini graphs

* Fix laravel start from PDO PR (#9037)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* convert zfs over to use json_app_get (#8573)

* convert zfs over to use json_app_get

* make the format checker happy

* change array brackets used and update for upcomming changes to json_app_get

* change it over to do exception checking

* styling cleanup

* cleanup error handling

* update to the latest json_app_get

* correct a bit of logic for legacy and cleanup some formatting

* add the snmprec files for the ZFS app

* add the tests for ZFS with legacy extend

* add another check

* convert these from base64 to hex

* remove improper commas

* Match upstream spacing

* fix typo

* fix bad data and zfs metrics, allow float values

* bad capture

* improve comment

* Update db_schema.yaml

* Fix top interfaces for non-admin users (#9038)

* Fix broken and unused sql query in billing code (#9039)

* Just disable phan for now (#9045)

Seems like it would take a lot to make it less noisy, phpmd has been more helpful

* Update validate to check for mysqlnd (#9043)

Ran into some annoying bugs with the old mysql library driver and BIGINT.

* Workaround for storage bigint (#9049)

Fix is to use mysqlnd driver instead of mysqli.

* Workaround for billing with large bps (#9044)

* Workaround for billing with large bps
Workaround for mysqli driver mucking up BIGINT
Real fix is for users to switch to mysqlnd

* Add note

* More bigints

* Fixed OSPF duplicate DB entries (#9051)

Re-write ospf polling using Eloquent

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

@vicomte vicomte referenced this pull request Aug 21, 2018

Merged

merge from librenms/master (#10) #11

77 of 90 tasks complete

vicomte added a commit to vicomte/librenms that referenced this pull request Aug 21, 2018

merge from librenms/master (#10) (#11)
* Added APC Environmental Manager Support (#8872)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
fix #8781

* Small Cleanup (#8871)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Improved support for cambium cmm and added cmm4 (#8737)

- Added port discovery for cmm3 (not available for cmm4, not that i could find)
- Added discovery for cmm4
- Added Power port cmm4
- Removed Processor bug by disabling processor on device.

I am unable to test CMM4 and may need someone to do so or review for possible errors.

Fixes Issues #8732, #8731

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Collectd graph bug fix (#8855)

- fix graph color handling bug
- fix graph listing when metagraph exists
- show collectd metric name (plugin and type) in title

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Updated shebang on librenms-service.py (#8875)

Changed shebang to point to python3 as per documentation the service does not work with python2

* Fix up depth column (#8884)

Remove some dead code

* Fixed api list devices query for normal users (#8881)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

fixes: https://github.com/librenms/myLibreNMS/issues/37

* Add sysDescr and hardware for oxidized overrides (#8885)

* Fix processor usage on edit page (#8887)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* discovery.php: don't exit(5) without new devices discovered (#8893)

Don't exit with a non-zero value in case no new devices were discovered, as non-zero codes are considered failed jobs for most cron implementations and produce logs like the following (in Debian):

```
cron.info CRON[963890]: (CRON) error (grandchild #963892 failed with exit status 5)
``` 

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Support specifying submodules in poller and discovery for debug (#8896)

Mostly useful for debugging

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added support for sorting alerts by severity on the Alerts widget (#8895)

Added feature to sort alerts by severity on the Alerts widget.


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fix broken navigation on VRFs Page (#8889)

Hello

The VRFs page has navigation issue right now, that bring the user back to BGP page when most links are clicked (graphs, VRF). This change does some cleanup based on the "device/vrf" page, to recreate a "consistant" navigation. 
Graphs are fixed, and clicking the "VRF" says "Not implemented". 

Bye
PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Improved Logging and Debugging (#8870)

Use Log facility when Laravel is booted.
Update init.php so we can easily boot Laravel for CLI scripts. (and just Eloquent, but that may go away)
Move all debug setup into set_debug() function and use that across all scripts.
Log Laravel database queries.
Send debug output to librenms log file when enabling debug in the webui.
Allow for colorized Log CLI output. (currently will leave % tags in log file output)

** Needs testing and perhaps tweaking still.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Typo in changelog (#8897)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Refactor alert templates to use Laravel Blade templating engine (#8803)

* Initial start on new templating support

* further updates

* more updates

* More working version

* Last fixes

* Small updates

* modified test to look for dbname.

* Schema update

* Added fix for not being able to disable Philips Hue transport

* Updated sql file

* Updated db_schema

* Set myclabs/deep-copy to be 1.7.x version in composer

* Fixes from murrant

* Forced nikic/php-parser to version 3.1.x in composer

* Updated composer to use custom fork of string-blade-compiler + fixed transport use

* Updated to always use correct template

* Merged legacy and blade templating engines

* Removed template type + fixed test-alert.php

* Added more template placeholders

* Added ability to reference data in templates as $alert->X

* Updated docs for templates

* Updated db_schema.yaml

* Added $alert->builder

* Clarify the use of $alert->builder

* Fixed the use of $alert->transport

* renamed schema file

* Added template validation

* Small update to fix travis issue

* Add Docs text to title bar

* Updated amqp to new of version

* Consistency in alert rule and template title bars

* Downgrade phpdotenv dependency (#8902)

https://github.com/vlucas/phpdotenv/issues/276

Fixes values in .env starting with # being empty.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added detection for CoreOS devices (#8899)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Updated Old Template URL to point to the correct location within docs (#8905)

* fix stupid error in vars.inc.php (#8904)

* test-template.php fixed after #8803 PR

Hello

Following this post, ( https://community.librenms.org/t/bug-test-template-php-not-running-after-laravel-upgrade/4639/9 ), here is the PR.

PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Revert "fix stupid error in vars.inc.php" (#8909)

* Revert "test-template.php fixed after #8803 PR"

This reverts commit 2c26c08020b01ad10050335c4ee50ea034d4cbe0.

* Revert "fix stupid error in vars.inc.php (#8904)"

This reverts commit 2f681a3df3e4c09abee4fbf18a6777771b8810f8.

* fixed can_ping_device() logic (#8906)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fix errors in vars.inc.php (#8913)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Ignore long lines in codeclimate (#8912)

Other option is to increase line length.

Feel free to disagree.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Don't depend on String_Blade_Compiler so hard (#8907)

Allows things to boot if it is missing but displays a toast.
Allows Toastr facade to work on legacy pages too.

Not 100% sure if we want this.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Stop allowing search text to be tagged for select2 (#8915)

* PSR-4 Plugin Support (#8880)

Add phpdocblocks Plugins.php
Add psr-4 plugins path to composer.json

Changes to be committed:
	modified:   LibreNMS/Plugins.php
	modified:   composer.json

* Fix missed variable rename. (#8916)

Walk was in another file.

* Fix plugin loading (#8917)

* Fix plugin loading
class_exists was loading the including the files, then we included it again.
Mostly, just include -> include_once is the fix.

* fix style

* forgot to update docblock

* Codeclimate updates (#8918)

Update to version 2 of config
Don't require camelCase variables

* BUG - test-template.php upgrade after #8803 +  #8908 PR (#8910)

* Update test-template.php

* Test-Template.php - Use AlertData Class

* Update test-template.php

* Custom error page (#8911)

Generic error page, just a dump of the current page with additional information.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added missing Config dependency (#8919)

* Improve DCN Device Support (#8878)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
fix #8755 

I have not added test data as it would require filterting quite some LLDP/IP's etc information.

* Fixed alert rules that use columns in value (#8925)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added Alert Transports Mapping (#8660)

Hello all,
I guess this is the second version of a more fully fleshed out alert contact mapping feature. The old one was GH-8507

Transports to convert:

  - [x] API
  - [x] Cisco Spark
  - [x] Elasticsearch
  - [x] GitLab
  - [x] Philips Hue
  - [x] Jira
  - [x] Mail
  - [ ] ~~PagerDuty~~ - Requires a callback so leaving for now
  - [x] Nagios
  - [x] IRC
  - [x] Discord
  - [x] Rocket.chat
  - [x] Hipchat
  - [x] Pushover
  - [x] Boxcar
  - [x] Telegram
  - [x] Pushbullet
  - [x] VictorOps
  - [x] OpsGenie
  - [x] Clickatell
  - [x] PlaySMS
  - [x] Canopsis
  - [x] osTicket
  - [x] Microsoft Teams
  - [x] SMSEagle
  - [x] Syslog
  - [x] Slack

The intention is for this feature to have three different levels to it:
1. Alert rule to an alert contact mapping (where the code is at now)
2. Alert rule to an alert group (made up of alert contacts) mapping
3. Alert contact mapping to different transport configurations.

There will be three transport configuration types.
1. Default (the configuration that is held in the configs table)
2. None (no transport configuration - will explain later)
3. Other (a configuration that will be defined in a different able)

Take Mail transport for example. It can either be of a "default" or "other" configuration. The hope is that in the future, users can send mail from different mail servers if they wish.
However, for ciscospark which requires a room ID and an api-token, I've decided that it has no transport configuration. Most likely, every alert contact will contain a different room-id and an api-token - which is why it has the transport config of "none".
For other transports : I am not familiar with them, so hopefully the community can add support for these. I can definitely help!

To add support for each transport will require several things:
- addition to the UI
- addition to forms/alert-contacts.inc.php
- modifications to its object class

Screenshots
![image](https://user-images.githubusercontent.com/28970851/39594533-2092ce9e-4eca-11e8-9c5d-cd002ece1425.png)
![image](https://user-images.githubusercontent.com/28970851/39594544-276e9856-4eca-11e8-80cc-82789ee0b2b2.png)
![image](https://user-images.githubusercontent.com/28970851/39594553-2fdf528c-4eca-11e8-8a40-4f149e767054.png)

I'm not sure if this is the best way to do things, so please let me know if there's a better way to structure the code! Any comments on code/db schema,/UI etc is welcome and encouraged! 

The UI is heavily based on alert rules (front end is not my strong suit). And parts of the code are based on the code that was written for alert rules.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Asterisk Application support (#8914)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

PR 183 from librenms-agent contains the script to make this work

https://github.com/librenms/librenms-agent/pull/183

* Added discovery of serverscheck flooding sensor (#8923)

Added discovery for state of serverscheck flooding sensors.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* fix foldersize() recursion (#8930)

previously, it tried to add an array to an integer...

* Support for HTML tags in TELEGRAM transport (#8929)

This update will add support for HTML tags in TELEGRAM Transport

Here is the list of all tags that you can use in alert template for telegram transport.

```
<b>bold</b>, <strong>bold</strong>
<i>italic</i>, <em>italic</em>
<a href="http://www.example.com/">inline URL</a>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
```

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fix Calix OS definitions (#8832)

* Fix Calix OS definitions

The main change is EXA (E7, etc) and B6 (Occam) devices are now their own OS

Now the follow OS exist:
exa: E7 EXA, E5-400, E5-48, E3-48, E3-8G
occamos: B6

Unchanged:
calix: E5-1**, E3-12C
axos: E7-2 AXOS, E9-2, E3-2, E5-520, E5-16F, E3-16F, E5-30x

* fix tests
exa_e7-2 seems like bogus data.

* additional tests, fix an error in the yaml

* Remove extra line return

* Add missed file

* Added VRF support on VRP devices (huawei) (#8879)

* Feature: Enable VRF handling in Huawei VRP devices using standard MPLS-L3VPN-STD-MIB

* Feature: Enable VRF handling in Huawei VRP devices using standard MPLS-L3VPN-STD-MIB

* Feature: VRF on VRP devices - Fix Codeclimate error

* Feature: VRF on VRP devices - Fix Codeclimate error

* Feature: Enable VRF handling in Huawei VRP devices using standard MPLS-L3VPN-STD-MIB

* Feature: VRF on VRP devices - Fix PR ChangeRequest

* Feature: VRF on VRP devices - Fix PR ChangeRequest

* Create vrp_ce12804-withvrf.json

* in_array, not str_contains

* Changed jnxProductQFX511048S4Q to jnxProductQFX511048S4C in rewrites.php (#8932)

Originally had this pull request earlier this year to add support for this: #8466 but looks like Juniper changed this at some point when the Juniper chassis mibs were updated here: #8678

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Updated transport docs to fix table (#8934)

* Make alert transport form compatible with sql strict mode (#8931)

* Edit is_default so it is compatible with sql strict mode

* whitespace fix

* Evaluate is_default earlier

* Fix logic

* Fix typo in clickatell (#8937)

* Removed the static Slack Priority field (#8936)

* Removed the static Priority field

* Update Slack.php

* Arris CMTS - C4/C4c remamed and Added C3 support (#8883)

* Added Arris C3 to cmts.yaml

* Added Arris C3 hardware

* ARRIS CMTS->Move from cmts to arris_c4 yaml

* Fixed some Arris_c4 definitions

* Added Arris C3 CMTS

* Fixed some typos

* Arris C3 test files

* Arris C4 test files

* Deleted not anymore valid files

* Renamed from underscore

* Fixed some typos

* Correct test files

* Removed old snmprec files

* Correct test files v2

* Deleted more old files

* Return to cmts for valid_sensor() for Arris C4/C4c

* Re-done test files

* Re-do test files after rebase

* fix: Match interface counter64 OIDs with unsigned bigint (#8940)

* fix: Match interface counter64 OIDs with unsigned bigint

* move to one line, add ifInOctets

* Update db_schema.yaml

* Update db_schema.yaml

* Poll service check only if the associated device is available (#8757)

* Update check-services.php

Poll service check only if the associated device is available.

* Update check-services.php

Updating line 68 based on laf suggestion.

* Update check-services.php

Also check the following before polling the service:
* "Disable ICMP Test" is enabled
* Service hostname/IP is different from associated device.

* Update check-services.php

Remove whitespaces.

* Update check-services.php

* Make check-services.php perform more similarly to services.wrapper.py - loop service checks per device and execute RunRules() function after polling all services for one device (like in poller.php).
* Add more debugging information, similar to poller.php

* Update check-services.php

Implement logging to eventlog when service is skipped due to icmp down event. Event is logged only once during device down event, which is achieved by checking value in service_disabled column in services table.

* Update check-services.php

Fix Travis errors.

* Update check-services.php

Revert back to one query and one foreach loop code.
Added inet6_ntop() for reading $service['ip'] value.
Removed RunRules() function.

* Update check-services.php

Formatting fixes.

* Update check-services.php

More formatting fixes. :)

* Update check-services.php

Removed 'alerts' from init_module.

* Update Services.md

Update Services documentation with info about changes to service checks polling logic.

* Update check-services.php

Fix spelling check on `previosly`.

* Update check-services.php

Replace phrase "Nagios Service" with "Service check".

* Update Services.md

Reword first two sentences of `Service checks polling logic` section.

* Fixed test transport form (#8942)

* Update Network-Map.md (#8946)

Fix typo

* Remove testing data (#8945)

* Added Citrix Netscaler HA sensors and alerts (#8800)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed whitespace bug in ceraos temperature sensor (#8948)

* Fixed whitespace bug in ceraos temperature sensor

* Update ceraos.json

* Update ceraos.json

* Fixed typo in new alert rule html (#8958)

* Update RRDCached.md to fix permissions (#8959)

Add step to Debian 9 to fix permissions on /mnt/librenms/rrd/journal/

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Adds missing hostname parameter to addhost.php (#8961)

Just followed the docs after installation and stumbled about this, which caused some irritation.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed pushbullet transport (#8963)

* Fixed pushbullet transport

* Updated return value

* Fix default template (#8964)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update Templates.md (#8965)

Fix errors in `Service Alert` template example.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Allow ping checks to be ran separately from polling (#8821)

Allows ping checks at intervals not tied to the poller.  Pointless if you are not alerting on device status.
I updated the rrdstep.php script to treat ping-perf files separately and made it so it only converts if needed.

Docs here: https://docs.librenms.org/Extensions/Fast-Ping-Check/

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Alert transport fixes (#8967)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Convert alert templates in place (#8951)

* Convert alert templates inplace

* Update copyright

* Update convert-template.inc.php

* Add docs for using a base template (#8939)

* Add docs for using a base template

* Updated readme

* Add wget command to memcached (#8971)

* Update base template (#8973)

* Added changelog for 1.42 (#8975)

* Added changelog for 1.42

* Small updates

* Fix template conversion (#8976)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update Templates.md (#8979)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update convert-template.inc.php (#8980)

* Cast variables as arrays to cover empty values (#8982)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Log an event for each Service Status change (#8968)

Hello

Here is a proposal for a pièce of code to log (using log_events) each service status change onto the device itself. 

Let me know if we should create the "getStatusText()" function to convert the int to "OK", "Critical" etc etc . I searched for such a function but did not find it. 

I also add to use a hack for the SQL cause it would prevent the device_id valueto be available in the resulting $service when device_attribs is empty for the device. If you have a better way to suggest, I'll be happy to use it. 

PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed Eventlog search (missing OR in SQL query) (#8981)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added 'Disabled' and 'Down' state for devices/links rendered on NetworkMap (#8926)

Hello

Here is a proposal for a dedicated color on disabled devices displayed on the Network Maps. Usecase is that during a migration, we are "disabling" the old devices and we delete them only a few days/weeks later. This change allows to see the productive devices as well as the disabled ones and clearly know which is which. 

Thanx

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Selective Port polling improvements (#8650)

Don't delete skipped ports when using selected polling
Improve output of port polling module.
Update ifOperStatus and ifAdminStatus even when skipping.

Warning! causes a semantic change where ifAdminStatus_prev and ifOperStatus_prev are updated every poll, so they will only be mismatched for one poll.  This could cause alerts to behave differently.

Add an optimization if less than 10% of the ports are disabled (or less than 5), walk the base oids.
Time improvement on test device Full: 12s, Selective: 8s, Optimized 4s. (no disabled ports on device, many down)

Another test device.

![image](https://user-images.githubusercontent.com/39462/40066671-46cdc956-582a-11e8-928a-80bbd81dd423.png)


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Find snmpsimd binary rather than infer snmpsimd.py (#8952)

instead of calling snmpsimd.py blindly

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Line up ping graph legend (#8955)

![image](https://user-images.githubusercontent.com/39462/43288765-7ff46116-90ee-11e8-80ec-a1f37e5027ae.png)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update sonus-sbc detection (#8978)

* Remove port association mode map from the database (#8941)

* Remove port association mode map from the database

* Renamed sql file

* Renamed sql file

* Allow to use full DN as value for member attribute instead of member: username (#8969)

Allow to use full DN as value for member attribute instead of member: username

I dont use LDAP so this should be tested with both methods.

For using fulldn as user `$config['ldap_auth_userdn'] = true;` must be set in config.php

This comes from https://community.librenms.org/t/feature-request-full-dn-as-group-member-attibute-in-ldap-auth/4805

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Add another example hardware setup (#8983)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed the display of hostnames within the edit device permissions if a SysName is used instead (#8986)

* Correct config template for API transport (#8991)

Due to bug in the implementation of the alert transport mapping introduced in #8660  , the API transport is unable to be configured via the new interface. Only the 'get' method is displayed in the UI and the defined validation is expecting uppercase "GET" or "POST" as the method, making it impossible to configure the API transport.

This change corrects the name to option value mapping to uppercase GET and adds back the POST method option. 

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update Fast-Ping-Check.md to include options (#8987)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* remove strict comparisons for check-services.php (#8992)

Required by #8935

That PR returns ints if appropriate
"0" => 0

* Update Distributed-Poller.md to include running daily.sh (#8988)

Small update to the docs as of daily.sh has to run on all instances

* Don't insert into the alert table if the entry is already correct. (#8990)

* Don't insert into the alert table if the entry is already correct.

* Fix another strict comparison

* Correct smokeping integration example (#8997)

The only mention in the sourcecode I can find to 'smokeping_server_hostname' is in this doc, and such an option doesn't really make sense. You will still require the $config['smokeping']['integration'] = true option though.

* Reference Issues for new OS support (#8996)

* Reference Issues for new OS support

* Update link

* Update Telegram.php (#9000)

* Update scripts/rrdstep.php (#9004)

Use system_step in icmp_step and system_heartbeat

* Added rockstor svg os and logo (#9002)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Display MAX rrd value in Service Graphs (#9001)

Hi

This patch does add the MAX graph (AREA) for the Service graphs. And the Max numerical value is as well taken from the MAX RRD value instead of AVERAGE. 

When scaling to larger amount of time, displaying like today the average only makes all spikes disappear, and the Max value does not make much sense.

I also added a color choice to *pinkify* the "Loss" graphs. 

Exemple with HTTP graphs polling google: 

![http-exemple](https://user-images.githubusercontent.com/38363551/43886912-7760b28c-9bbd-11e8-875b-b2afe140bdf9.png)

PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed snmptraps. (#8898)

* Fixed snmptraps.

* Fixed space

* Added bgp down/up and authentication failure

* Fixed typo

* Fixed some typos, arrays, astext and format_hostname

* Updated documentation

* Moved code to a function

* Some refactor

* Minor fixes

* Minor fixes 2

* More minor fixes

* Changes requested by Tony

* Minor fixes

* Moved include to snmptrap.php

* Refactor traps to use object oriented code.

Should trigger events too/instead, but we'll leave that.
Testing todo

* Add tests and fix things so they actually work
Not checking events yet.

* Fixed typo and severity level

* Update composer deps, I think the lock file wasn't right.
add json and mbstring extension deps while I'm at it.

* Fix several issues with phpunit fixtures

* Update alerts.inc.php (#8977)

Also sort by timestamp, after sorting/grouping by severity.

* Added Juniper Junos syslog notification code (#9006)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Remove non-existent PowerNet-MIB OIDs. (#9005)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Use Process for fping (#8970)

Simplify fping function and add debug output.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Check if value is valid for Linux servers (#8956)

Fix for issue #8950 


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* device: Add missing Extreme Networks rewrites (#8957)

* device: Sort Extreme Networks devices rewrites

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>

* device: Add couple Extreme Summit rewrites

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>

* Remove duplicate

* Updates to snmptrap handling (#9010)

* Updates to snmptrap handling
fix a bug in findDeviceByIP.  Add more tests for that.
Move handle outside of the Trap class, it doesn't fit.
Add developer docs.

* fix tests copy paste issue.

* Fix findByIp when port may not exist.

* Logging: Output context (and extra) if they exist

* Generic trap event logging and new config setting.

* Standardized install method for RaspberryPi App (#9014)

As most Applications use wget to download the scripts, I've altered the RaspberryPi Application to get listed in same way.
Though it does appear LibreNMS doesn't support this Application anymore

* Update Applications doc for postfix and RHEL usage (#9019)

* Update ReadMe (postfix)

added RHEL support note

* Update Applications.md

* device: Added detection for SIAE Microelettronica ALFOplus2 microwave radio device (#8953)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added support for Huawei iBMC (#9011)

* Device: Huawei iBMC - Initial support for Huawei iBMC on RH servers

* Device: Huawei iBMC - Server management Console

* Device: Huawei iBMC - Server management Console - snmp_get_multi_oid

* Added json test data

* Fix invalid json in test data (#9015)

* Fix invalid json in test data
Most simply needed the syntax fixed
fail2ban needed updated data (added non-zero values in test data too)
awplus: ntp application cannot be enabled by tests since it doesn't use snmp extend... ntp app is enabled by ntp module... pass on that for now.

* missed awplus change somehow...

* Update SNMP-Configuration-Examples.md (#9022)

Updated ESXi 5.x/6.x
Added VCenter 6.x

* Add a check for a failed dns query in get_astext() (#9020)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added support for older Airmux-400 (#9024)

Removed sysObjectID extension to allow discovery of older RAD Airmux 400 devices

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added hiding of disabled ports in graph, device overview and device ports view. (#9017)

When disabling or ignoring ports in the "Ports Settings" (http://<nms_host>/device/device=<device_id>/tab=edit/section=ports/) then the ports are still shown under the Port tab for a specific device (http://<nms_host>/device/device=<device_id>/section=ports/) and in the Overall Traffic Graph.
To keep the view and graph more clear, this change only shows the ports which are not disabled or ignored.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [y] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Use PDO for MySQL queries (#8935)

Gut dbFacile
mres() now does nothing... could have some vulnerable queries, but most are ok

TODO
- [x] IRC client broke
- [x] Install broke

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Use rrdtool_escape() for sensors instead of manually padding text (#9029)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Tidy up some transport code from previous pr (#8927)

* Fix dbFacile null parameters (#9031)

* Fixed widgets from updated dbFacile changes (#9033)

* Fixed widgets from updated dbFacile changes

* Updated top interfaces

* Remove accidental cast (#9032)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added basic support for IBM i (AS/400) (#9030)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Cleaned up Trango Apex Lynx OS code and added wireless sensors (#9026)

I removed an incorrect mib and added the correct one.  Changed initial detection to use mib instead of numeric oid. Removed trim function.  Added wireless sensor class.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Convert old templates title as well as body (#9034)

* Convert old templates title as well as body

* Update convert-template.inc.php

* Fixed pre-commit (#9035)

* Improved SmartAX OS support. Added CPU&Temperature for each card and … (#9023)

* Improved SmartAX OS support. Added CPU&Temperature for each card and hardware detection

* Minor fixes

* Uploaded test data

* Moved to snmpwalk_array_num()

* Fixed Temperature

* Added sensor power

* Fixed Style issues and proper hardware detection

* Fixed last style issue

* Last update. Added version and serial. Added traffic and processors mini graphs

* Fix laravel start from PDO PR (#9037)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* convert zfs over to use json_app_get (#8573)

* convert zfs over to use json_app_get

* make the format checker happy

* change array brackets used and update for upcomming changes to json_app_get

* change it over to do exception checking

* styling cleanup

* cleanup error handling

* update to the latest json_app_get

* correct a bit of logic for legacy and cleanup some formatting

* add the snmprec files for the ZFS app

* add the tests for ZFS with legacy extend

* add another check

* convert these from base64 to hex

* remove improper commas

* Match upstream spacing

* fix typo

* fix bad data and zfs metrics, allow float values

* bad capture

* improve comment

* Update db_schema.yaml

* Fix top interfaces for non-admin users (#9038)

* Fix broken and unused sql query in billing code (#9039)

* Just disable phan for now (#9045)

Seems like it would take a lot to make it less noisy, phpmd has been more helpful

* Update validate to check for mysqlnd (#9043)

Ran into some annoying bugs with the old mysql library driver and BIGINT.

* Workaround for storage bigint (#9049)

Fix is to use mysqlnd driver instead of mysqli.

* Workaround for billing with large bps (#9044)

* Workaround for billing with large bps
Workaround for mysqli driver mucking up BIGINT
Real fix is for users to switch to mysqlnd

* Add note

* More bigints

* Fixed OSPF duplicate DB entries (#9051)

Re-write ospf polling using Eloquent

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

vicomte added a commit to vicomte/librenms that referenced this pull request Aug 21, 2018

merge from librenms/master (#12)
* Added APC Environmental Manager Support (#8872)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
fix #8781

* Small Cleanup (#8871)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Improved support for cambium cmm and added cmm4 (#8737)

- Added port discovery for cmm3 (not available for cmm4, not that i could find)
- Added discovery for cmm4
- Added Power port cmm4
- Removed Processor bug by disabling processor on device.

I am unable to test CMM4 and may need someone to do so or review for possible errors.

Fixes Issues #8732, #8731

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Collectd graph bug fix (#8855)

- fix graph color handling bug
- fix graph listing when metagraph exists
- show collectd metric name (plugin and type) in title

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Updated shebang on librenms-service.py (#8875)

Changed shebang to point to python3 as per documentation the service does not work with python2

* Fix up depth column (#8884)

Remove some dead code

* Fixed api list devices query for normal users (#8881)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

fixes: https://github.com/librenms/myLibreNMS/issues/37

* Add sysDescr and hardware for oxidized overrides (#8885)

* Fix processor usage on edit page (#8887)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* discovery.php: don't exit(5) without new devices discovered (#8893)

Don't exit with a non-zero value in case no new devices were discovered, as non-zero codes are considered failed jobs for most cron implementations and produce logs like the following (in Debian):

```
cron.info CRON[963890]: (CRON) error (grandchild #963892 failed with exit status 5)
``` 

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Support specifying submodules in poller and discovery for debug (#8896)

Mostly useful for debugging

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added support for sorting alerts by severity on the Alerts widget (#8895)

Added feature to sort alerts by severity on the Alerts widget.


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fix broken navigation on VRFs Page (#8889)

Hello

The VRFs page has navigation issue right now, that bring the user back to BGP page when most links are clicked (graphs, VRF). This change does some cleanup based on the "device/vrf" page, to recreate a "consistant" navigation. 
Graphs are fixed, and clicking the "VRF" says "Not implemented". 

Bye
PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Improved Logging and Debugging (#8870)

Use Log facility when Laravel is booted.
Update init.php so we can easily boot Laravel for CLI scripts. (and just Eloquent, but that may go away)
Move all debug setup into set_debug() function and use that across all scripts.
Log Laravel database queries.
Send debug output to librenms log file when enabling debug in the webui.
Allow for colorized Log CLI output. (currently will leave % tags in log file output)

** Needs testing and perhaps tweaking still.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Typo in changelog (#8897)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Refactor alert templates to use Laravel Blade templating engine (#8803)

* Initial start on new templating support

* further updates

* more updates

* More working version

* Last fixes

* Small updates

* modified test to look for dbname.

* Schema update

* Added fix for not being able to disable Philips Hue transport

* Updated sql file

* Updated db_schema

* Set myclabs/deep-copy to be 1.7.x version in composer

* Fixes from murrant

* Forced nikic/php-parser to version 3.1.x in composer

* Updated composer to use custom fork of string-blade-compiler + fixed transport use

* Updated to always use correct template

* Merged legacy and blade templating engines

* Removed template type + fixed test-alert.php

* Added more template placeholders

* Added ability to reference data in templates as $alert->X

* Updated docs for templates

* Updated db_schema.yaml

* Added $alert->builder

* Clarify the use of $alert->builder

* Fixed the use of $alert->transport

* renamed schema file

* Added template validation

* Small update to fix travis issue

* Add Docs text to title bar

* Updated amqp to new of version

* Consistency in alert rule and template title bars

* Downgrade phpdotenv dependency (#8902)

https://github.com/vlucas/phpdotenv/issues/276

Fixes values in .env starting with # being empty.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added detection for CoreOS devices (#8899)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Updated Old Template URL to point to the correct location within docs (#8905)

* fix stupid error in vars.inc.php (#8904)

* test-template.php fixed after #8803 PR

Hello

Following this post, ( https://community.librenms.org/t/bug-test-template-php-not-running-after-laravel-upgrade/4639/9 ), here is the PR.

PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Revert "fix stupid error in vars.inc.php" (#8909)

* Revert "test-template.php fixed after #8803 PR"

This reverts commit 2c26c08020b01ad10050335c4ee50ea034d4cbe0.

* Revert "fix stupid error in vars.inc.php (#8904)"

This reverts commit 2f681a3df3e4c09abee4fbf18a6777771b8810f8.

* fixed can_ping_device() logic (#8906)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fix errors in vars.inc.php (#8913)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Ignore long lines in codeclimate (#8912)

Other option is to increase line length.

Feel free to disagree.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Don't depend on String_Blade_Compiler so hard (#8907)

Allows things to boot if it is missing but displays a toast.
Allows Toastr facade to work on legacy pages too.

Not 100% sure if we want this.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Stop allowing search text to be tagged for select2 (#8915)

* PSR-4 Plugin Support (#8880)

Add phpdocblocks Plugins.php
Add psr-4 plugins path to composer.json

Changes to be committed:
	modified:   LibreNMS/Plugins.php
	modified:   composer.json

* Fix missed variable rename. (#8916)

Walk was in another file.

* Fix plugin loading (#8917)

* Fix plugin loading
class_exists was loading the including the files, then we included it again.
Mostly, just include -> include_once is the fix.

* fix style

* forgot to update docblock

* Codeclimate updates (#8918)

Update to version 2 of config
Don't require camelCase variables

* BUG - test-template.php upgrade after #8803 +  #8908 PR (#8910)

* Update test-template.php

* Test-Template.php - Use AlertData Class

* Update test-template.php

* Custom error page (#8911)

Generic error page, just a dump of the current page with additional information.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added missing Config dependency (#8919)

* Improve DCN Device Support (#8878)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
fix #8755 

I have not added test data as it would require filterting quite some LLDP/IP's etc information.

* Fixed alert rules that use columns in value (#8925)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added Alert Transports Mapping (#8660)

Hello all,
I guess this is the second version of a more fully fleshed out alert contact mapping feature. The old one was GH-8507

Transports to convert:

  - [x] API
  - [x] Cisco Spark
  - [x] Elasticsearch
  - [x] GitLab
  - [x] Philips Hue
  - [x] Jira
  - [x] Mail
  - [ ] ~~PagerDuty~~ - Requires a callback so leaving for now
  - [x] Nagios
  - [x] IRC
  - [x] Discord
  - [x] Rocket.chat
  - [x] Hipchat
  - [x] Pushover
  - [x] Boxcar
  - [x] Telegram
  - [x] Pushbullet
  - [x] VictorOps
  - [x] OpsGenie
  - [x] Clickatell
  - [x] PlaySMS
  - [x] Canopsis
  - [x] osTicket
  - [x] Microsoft Teams
  - [x] SMSEagle
  - [x] Syslog
  - [x] Slack

The intention is for this feature to have three different levels to it:
1. Alert rule to an alert contact mapping (where the code is at now)
2. Alert rule to an alert group (made up of alert contacts) mapping
3. Alert contact mapping to different transport configurations.

There will be three transport configuration types.
1. Default (the configuration that is held in the configs table)
2. None (no transport configuration - will explain later)
3. Other (a configuration that will be defined in a different able)

Take Mail transport for example. It can either be of a "default" or "other" configuration. The hope is that in the future, users can send mail from different mail servers if they wish.
However, for ciscospark which requires a room ID and an api-token, I've decided that it has no transport configuration. Most likely, every alert contact will contain a different room-id and an api-token - which is why it has the transport config of "none".
For other transports : I am not familiar with them, so hopefully the community can add support for these. I can definitely help!

To add support for each transport will require several things:
- addition to the UI
- addition to forms/alert-contacts.inc.php
- modifications to its object class

Screenshots
![image](https://user-images.githubusercontent.com/28970851/39594533-2092ce9e-4eca-11e8-9c5d-cd002ece1425.png)
![image](https://user-images.githubusercontent.com/28970851/39594544-276e9856-4eca-11e8-80cc-82789ee0b2b2.png)
![image](https://user-images.githubusercontent.com/28970851/39594553-2fdf528c-4eca-11e8-8a40-4f149e767054.png)

I'm not sure if this is the best way to do things, so please let me know if there's a better way to structure the code! Any comments on code/db schema,/UI etc is welcome and encouraged! 

The UI is heavily based on alert rules (front end is not my strong suit). And parts of the code are based on the code that was written for alert rules.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Asterisk Application support (#8914)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

PR 183 from librenms-agent contains the script to make this work

https://github.com/librenms/librenms-agent/pull/183

* Added discovery of serverscheck flooding sensor (#8923)

Added discovery for state of serverscheck flooding sensors.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* fix foldersize() recursion (#8930)

previously, it tried to add an array to an integer...

* Support for HTML tags in TELEGRAM transport (#8929)

This update will add support for HTML tags in TELEGRAM Transport

Here is the list of all tags that you can use in alert template for telegram transport.

```
<b>bold</b>, <strong>bold</strong>
<i>italic</i>, <em>italic</em>
<a href="http://www.example.com/">inline URL</a>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
```

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fix Calix OS definitions (#8832)

* Fix Calix OS definitions

The main change is EXA (E7, etc) and B6 (Occam) devices are now their own OS

Now the follow OS exist:
exa: E7 EXA, E5-400, E5-48, E3-48, E3-8G
occamos: B6

Unchanged:
calix: E5-1**, E3-12C
axos: E7-2 AXOS, E9-2, E3-2, E5-520, E5-16F, E3-16F, E5-30x

* fix tests
exa_e7-2 seems like bogus data.

* additional tests, fix an error in the yaml

* Remove extra line return

* Add missed file

* Added VRF support on VRP devices (huawei) (#8879)

* Feature: Enable VRF handling in Huawei VRP devices using standard MPLS-L3VPN-STD-MIB

* Feature: Enable VRF handling in Huawei VRP devices using standard MPLS-L3VPN-STD-MIB

* Feature: VRF on VRP devices - Fix Codeclimate error

* Feature: VRF on VRP devices - Fix Codeclimate error

* Feature: Enable VRF handling in Huawei VRP devices using standard MPLS-L3VPN-STD-MIB

* Feature: VRF on VRP devices - Fix PR ChangeRequest

* Feature: VRF on VRP devices - Fix PR ChangeRequest

* Create vrp_ce12804-withvrf.json

* in_array, not str_contains

* Changed jnxProductQFX511048S4Q to jnxProductQFX511048S4C in rewrites.php (#8932)

Originally had this pull request earlier this year to add support for this: #8466 but looks like Juniper changed this at some point when the Juniper chassis mibs were updated here: #8678

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Updated transport docs to fix table (#8934)

* Make alert transport form compatible with sql strict mode (#8931)

* Edit is_default so it is compatible with sql strict mode

* whitespace fix

* Evaluate is_default earlier

* Fix logic

* Fix typo in clickatell (#8937)

* Removed the static Slack Priority field (#8936)

* Removed the static Priority field

* Update Slack.php

* Arris CMTS - C4/C4c remamed and Added C3 support (#8883)

* Added Arris C3 to cmts.yaml

* Added Arris C3 hardware

* ARRIS CMTS->Move from cmts to arris_c4 yaml

* Fixed some Arris_c4 definitions

* Added Arris C3 CMTS

* Fixed some typos

* Arris C3 test files

* Arris C4 test files

* Deleted not anymore valid files

* Renamed from underscore

* Fixed some typos

* Correct test files

* Removed old snmprec files

* Correct test files v2

* Deleted more old files

* Return to cmts for valid_sensor() for Arris C4/C4c

* Re-done test files

* Re-do test files after rebase

* fix: Match interface counter64 OIDs with unsigned bigint (#8940)

* fix: Match interface counter64 OIDs with unsigned bigint

* move to one line, add ifInOctets

* Update db_schema.yaml

* Update db_schema.yaml

* Poll service check only if the associated device is available (#8757)

* Update check-services.php

Poll service check only if the associated device is available.

* Update check-services.php

Updating line 68 based on laf suggestion.

* Update check-services.php

Also check the following before polling the service:
* "Disable ICMP Test" is enabled
* Service hostname/IP is different from associated device.

* Update check-services.php

Remove whitespaces.

* Update check-services.php

* Make check-services.php perform more similarly to services.wrapper.py - loop service checks per device and execute RunRules() function after polling all services for one device (like in poller.php).
* Add more debugging information, similar to poller.php

* Update check-services.php

Implement logging to eventlog when service is skipped due to icmp down event. Event is logged only once during device down event, which is achieved by checking value in service_disabled column in services table.

* Update check-services.php

Fix Travis errors.

* Update check-services.php

Revert back to one query and one foreach loop code.
Added inet6_ntop() for reading $service['ip'] value.
Removed RunRules() function.

* Update check-services.php

Formatting fixes.

* Update check-services.php

More formatting fixes. :)

* Update check-services.php

Removed 'alerts' from init_module.

* Update Services.md

Update Services documentation with info about changes to service checks polling logic.

* Update check-services.php

Fix spelling check on `previosly`.

* Update check-services.php

Replace phrase "Nagios Service" with "Service check".

* Update Services.md

Reword first two sentences of `Service checks polling logic` section.

* Fixed test transport form (#8942)

* Update Network-Map.md (#8946)

Fix typo

* Remove testing data (#8945)

* Added Citrix Netscaler HA sensors and alerts (#8800)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed whitespace bug in ceraos temperature sensor (#8948)

* Fixed whitespace bug in ceraos temperature sensor

* Update ceraos.json

* Update ceraos.json

* Fixed typo in new alert rule html (#8958)

* Update RRDCached.md to fix permissions (#8959)

Add step to Debian 9 to fix permissions on /mnt/librenms/rrd/journal/

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Adds missing hostname parameter to addhost.php (#8961)

Just followed the docs after installation and stumbled about this, which caused some irritation.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed pushbullet transport (#8963)

* Fixed pushbullet transport

* Updated return value

* Fix default template (#8964)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update Templates.md (#8965)

Fix errors in `Service Alert` template example.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Allow ping checks to be ran separately from polling (#8821)

Allows ping checks at intervals not tied to the poller.  Pointless if you are not alerting on device status.
I updated the rrdstep.php script to treat ping-perf files separately and made it so it only converts if needed.

Docs here: https://docs.librenms.org/Extensions/Fast-Ping-Check/

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Alert transport fixes (#8967)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Convert alert templates in place (#8951)

* Convert alert templates inplace

* Update copyright

* Update convert-template.inc.php

* Add docs for using a base template (#8939)

* Add docs for using a base template

* Updated readme

* Add wget command to memcached (#8971)

* Update base template (#8973)

* Added changelog for 1.42 (#8975)

* Added changelog for 1.42

* Small updates

* Fix template conversion (#8976)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update Templates.md (#8979)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update convert-template.inc.php (#8980)

* Cast variables as arrays to cover empty values (#8982)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Log an event for each Service Status change (#8968)

Hello

Here is a proposal for a pièce of code to log (using log_events) each service status change onto the device itself. 

Let me know if we should create the "getStatusText()" function to convert the int to "OK", "Critical" etc etc . I searched for such a function but did not find it. 

I also add to use a hack for the SQL cause it would prevent the device_id valueto be available in the resulting $service when device_attribs is empty for the device. If you have a better way to suggest, I'll be happy to use it. 

PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed Eventlog search (missing OR in SQL query) (#8981)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added 'Disabled' and 'Down' state for devices/links rendered on NetworkMap (#8926)

Hello

Here is a proposal for a dedicated color on disabled devices displayed on the Network Maps. Usecase is that during a migration, we are "disabling" the old devices and we delete them only a few days/weeks later. This change allows to see the productive devices as well as the disabled ones and clearly know which is which. 

Thanx

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Selective Port polling improvements (#8650)

Don't delete skipped ports when using selected polling
Improve output of port polling module.
Update ifOperStatus and ifAdminStatus even when skipping.

Warning! causes a semantic change where ifAdminStatus_prev and ifOperStatus_prev are updated every poll, so they will only be mismatched for one poll.  This could cause alerts to behave differently.

Add an optimization if less than 10% of the ports are disabled (or less than 5), walk the base oids.
Time improvement on test device Full: 12s, Selective: 8s, Optimized 4s. (no disabled ports on device, many down)

Another test device.

![image](https://user-images.githubusercontent.com/39462/40066671-46cdc956-582a-11e8-928a-80bbd81dd423.png)


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Find snmpsimd binary rather than infer snmpsimd.py (#8952)

instead of calling snmpsimd.py blindly

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Line up ping graph legend (#8955)

![image](https://user-images.githubusercontent.com/39462/43288765-7ff46116-90ee-11e8-80ec-a1f37e5027ae.png)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update sonus-sbc detection (#8978)

* Remove port association mode map from the database (#8941)

* Remove port association mode map from the database

* Renamed sql file

* Renamed sql file

* Allow to use full DN as value for member attribute instead of member: username (#8969)

Allow to use full DN as value for member attribute instead of member: username

I dont use LDAP so this should be tested with both methods.

For using fulldn as user `$config['ldap_auth_userdn'] = true;` must be set in config.php

This comes from https://community.librenms.org/t/feature-request-full-dn-as-group-member-attibute-in-ldap-auth/4805

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Add another example hardware setup (#8983)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed the display of hostnames within the edit device permissions if a SysName is used instead (#8986)

* Correct config template for API transport (#8991)

Due to bug in the implementation of the alert transport mapping introduced in #8660  , the API transport is unable to be configured via the new interface. Only the 'get' method is displayed in the UI and the defined validation is expecting uppercase "GET" or "POST" as the method, making it impossible to configure the API transport.

This change corrects the name to option value mapping to uppercase GET and adds back the POST method option. 

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update Fast-Ping-Check.md to include options (#8987)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* remove strict comparisons for check-services.php (#8992)

Required by #8935

That PR returns ints if appropriate
"0" => 0

* Update Distributed-Poller.md to include running daily.sh (#8988)

Small update to the docs as of daily.sh has to run on all instances

* Don't insert into the alert table if the entry is already correct. (#8990)

* Don't insert into the alert table if the entry is already correct.

* Fix another strict comparison

* Correct smokeping integration example (#8997)

The only mention in the sourcecode I can find to 'smokeping_server_hostname' is in this doc, and such an option doesn't really make sense. You will still require the $config['smokeping']['integration'] = true option though.

* Reference Issues for new OS support (#8996)

* Reference Issues for new OS support

* Update link

* Update Telegram.php (#9000)

* Update scripts/rrdstep.php (#9004)

Use system_step in icmp_step and system_heartbeat

* Added rockstor svg os and logo (#9002)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Display MAX rrd value in Service Graphs (#9001)

Hi

This patch does add the MAX graph (AREA) for the Service graphs. And the Max numerical value is as well taken from the MAX RRD value instead of AVERAGE. 

When scaling to larger amount of time, displaying like today the average only makes all spikes disappear, and the Max value does not make much sense.

I also added a color choice to *pinkify* the "Loss" graphs. 

Exemple with HTTP graphs polling google: 

![http-exemple](https://user-images.githubusercontent.com/38363551/43886912-7760b28c-9bbd-11e8-875b-b2afe140bdf9.png)

PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed snmptraps. (#8898)

* Fixed snmptraps.

* Fixed space

* Added bgp down/up and authentication failure

* Fixed typo

* Fixed some typos, arrays, astext and format_hostname

* Updated documentation

* Moved code to a function

* Some refactor

* Minor fixes

* Minor fixes 2

* More minor fixes

* Changes requested by Tony

* Minor fixes

* Moved include to snmptrap.php

* Refactor traps to use object oriented code.

Should trigger events too/instead, but we'll leave that.
Testing todo

* Add tests and fix things so they actually work
Not checking events yet.

* Fixed typo and severity level

* Update composer deps, I think the lock file wasn't right.
add json and mbstring extension deps while I'm at it.

* Fix several issues with phpunit fixtures

* Update alerts.inc.php (#8977)

Also sort by timestamp, after sorting/grouping by severity.

* Added Juniper Junos syslog notification code (#9006)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Remove non-existent PowerNet-MIB OIDs. (#9005)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Use Process for fping (#8970)

Simplify fping function and add debug output.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Check if value is valid for Linux servers (#8956)

Fix for issue #8950 


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* device: Add missing Extreme Networks rewrites (#8957)

* device: Sort Extreme Networks devices rewrites

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>

* device: Add couple Extreme Summit rewrites

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>

* Remove duplicate

* Updates to snmptrap handling (#9010)

* Updates to snmptrap handling
fix a bug in findDeviceByIP.  Add more tests for that.
Move handle outside of the Trap class, it doesn't fit.
Add developer docs.

* fix tests copy paste issue.

* Fix findByIp when port may not exist.

* Logging: Output context (and extra) if they exist

* Generic trap event logging and new config setting.

* Standardized install method for RaspberryPi App (#9014)

As most Applications use wget to download the scripts, I've altered the RaspberryPi Application to get listed in same way.
Though it does appear LibreNMS doesn't support this Application anymore

* Update Applications doc for postfix and RHEL usage (#9019)

* Update ReadMe (postfix)

added RHEL support note

* Update Applications.md

* device: Added detection for SIAE Microelettronica ALFOplus2 microwave radio device (#8953)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added support for Huawei iBMC (#9011)

* Device: Huawei iBMC - Initial support for Huawei iBMC on RH servers

* Device: Huawei iBMC - Server management Console

* Device: Huawei iBMC - Server management Console - snmp_get_multi_oid

* Added json test data

* Fix invalid json in test data (#9015)

* Fix invalid json in test data
Most simply needed the syntax fixed
fail2ban needed updated data (added non-zero values in test data too)
awplus: ntp application cannot be enabled by tests since it doesn't use snmp extend... ntp app is enabled by ntp module... pass on that for now.

* missed awplus change somehow...

* Update SNMP-Configuration-Examples.md (#9022)

Updated ESXi 5.x/6.x
Added VCenter 6.x

* Add a check for a failed dns query in get_astext() (#9020)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added support for older Airmux-400 (#9024)

Removed sysObjectID extension to allow discovery of older RAD Airmux 400 devices

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added hiding of disabled ports in graph, device overview and device ports view. (#9017)

When disabling or ignoring ports in the "Ports Settings" (http://<nms_host>/device/device=<device_id>/tab=edit/section=ports/) then the ports are still shown under the Port tab for a specific device (http://<nms_host>/device/device=<device_id>/section=ports/) and in the Overall Traffic Graph.
To keep the view and graph more clear, this change only shows the ports which are not disabled or ignored.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [y] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Use PDO for MySQL queries (#8935)

Gut dbFacile
mres() now does nothing... could have some vulnerable queries, but most are ok

TODO
- [x] IRC client broke
- [x] Install broke

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Use rrdtool_escape() for sensors instead of manually padding text (#9029)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Tidy up some transport code from previous pr (#8927)

* Fix dbFacile null parameters (#9031)

* Fixed widgets from updated dbFacile changes (#9033)

* Fixed widgets from updated dbFacile changes

* Updated top interfaces

* Remove accidental cast (#9032)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added basic support for IBM i (AS/400) (#9030)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Cleaned up Trango Apex Lynx OS code and added wireless sensors (#9026)

I removed an incorrect mib and added the correct one.  Changed initial detection to use mib instead of numeric oid. Removed trim function.  Added wireless sensor class.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Convert old templates title as well as body (#9034)

* Convert old templates title as well as body

* Update convert-template.inc.php

* Fixed pre-commit (#9035)

* Improved SmartAX OS support. Added CPU&Temperature for each card and … (#9023)

* Improved SmartAX OS support. Added CPU&Temperature for each card and hardware detection

* Minor fixes

* Uploaded test data

* Moved to snmpwalk_array_num()

* Fixed Temperature

* Added sensor power

* Fixed Style issues and proper hardware detection

* Fixed last style issue

* Last update. Added version and serial. Added traffic and processors mini graphs

* Fix laravel start from PDO PR (#9037)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* convert zfs over to use json_app_get (#8573)

* convert zfs over to use json_app_get

* make the format checker happy

* change array brackets used and update for upcomming changes to json_app_get

* change it over to do exception checking

* styling cleanup

* cleanup error handling

* update to the latest json_app_get

* correct a bit of logic for legacy and cleanup some formatting

* add the snmprec files for the ZFS app

* add the tests for ZFS with legacy extend

* add another check

* convert these from base64 to hex

* remove improper commas

* Match upstream spacing

* fix typo

* fix bad data and zfs metrics, allow float values

* bad capture

* improve comment

* Update db_schema.yaml

* Fix top interfaces for non-admin users (#9038)

* Fix broken and unused sql query in billing code (#9039)

* Just disable phan for now (#9045)

Seems like it would take a lot to make it less noisy, phpmd has been more helpful

* Update validate to check for mysqlnd (#9043)

Ran into some annoying bugs with the old mysql library driver and BIGINT.

* Workaround for storage bigint (#9049)

Fix is to use mysqlnd driver instead of mysqli.

* Workaround for billing with large bps (#9044)

* Workaround for billing with large bps
Workaround for mysqli driver mucking up BIGINT
Real fix is for users to switch to mysqlnd

* Add note

* More bigints

* Fixed OSPF duplicate DB entries (#9051)

Re-write ospf polling using Eloquent

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

vicomte added a commit to vicomte/librenms that referenced this pull request Aug 21, 2018

merge from master (#13)
* merge from librenms/master (#10)

* Added APC Environmental Manager Support (#8872)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
fix #8781

* Small Cleanup (#8871)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Improved support for cambium cmm and added cmm4 (#8737)

- Added port discovery for cmm3 (not available for cmm4, not that i could find)
- Added discovery for cmm4
- Added Power port cmm4
- Removed Processor bug by disabling processor on device.

I am unable to test CMM4 and may need someone to do so or review for possible errors.

Fixes Issues #8732, #8731

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Collectd graph bug fix (#8855)

- fix graph color handling bug
- fix graph listing when metagraph exists
- show collectd metric name (plugin and type) in title

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Updated shebang on librenms-service.py (#8875)

Changed shebang to point to python3 as per documentation the service does not work with python2

* Fix up depth column (#8884)

Remove some dead code

* Fixed api list devices query for normal users (#8881)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

fixes: https://github.com/librenms/myLibreNMS/issues/37

* Add sysDescr and hardware for oxidized overrides (#8885)

* Fix processor usage on edit page (#8887)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* discovery.php: don't exit(5) without new devices discovered (#8893)

Don't exit with a non-zero value in case no new devices were discovered, as non-zero codes are considered failed jobs for most cron implementations and produce logs like the following (in Debian):

```
cron.info CRON[963890]: (CRON) error (grandchild #963892 failed with exit status 5)
``` 

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Support specifying submodules in poller and discovery for debug (#8896)

Mostly useful for debugging

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added support for sorting alerts by severity on the Alerts widget (#8895)

Added feature to sort alerts by severity on the Alerts widget.


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fix broken navigation on VRFs Page (#8889)

Hello

The VRFs page has navigation issue right now, that bring the user back to BGP page when most links are clicked (graphs, VRF). This change does some cleanup based on the "device/vrf" page, to recreate a "consistant" navigation. 
Graphs are fixed, and clicking the "VRF" says "Not implemented". 

Bye
PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Improved Logging and Debugging (#8870)

Use Log facility when Laravel is booted.
Update init.php so we can easily boot Laravel for CLI scripts. (and just Eloquent, but that may go away)
Move all debug setup into set_debug() function and use that across all scripts.
Log Laravel database queries.
Send debug output to librenms log file when enabling debug in the webui.
Allow for colorized Log CLI output. (currently will leave % tags in log file output)

** Needs testing and perhaps tweaking still.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Typo in changelog (#8897)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Refactor alert templates to use Laravel Blade templating engine (#8803)

* Initial start on new templating support

* further updates

* more updates

* More working version

* Last fixes

* Small updates

* modified test to look for dbname.

* Schema update

* Added fix for not being able to disable Philips Hue transport

* Updated sql file

* Updated db_schema

* Set myclabs/deep-copy to be 1.7.x version in composer

* Fixes from murrant

* Forced nikic/php-parser to version 3.1.x in composer

* Updated composer to use custom fork of string-blade-compiler + fixed transport use

* Updated to always use correct template

* Merged legacy and blade templating engines

* Removed template type + fixed test-alert.php

* Added more template placeholders

* Added ability to reference data in templates as $alert->X

* Updated docs for templates

* Updated db_schema.yaml

* Added $alert->builder

* Clarify the use of $alert->builder

* Fixed the use of $alert->transport

* renamed schema file

* Added template validation

* Small update to fix travis issue

* Add Docs text to title bar

* Updated amqp to new of version

* Consistency in alert rule and template title bars

* Downgrade phpdotenv dependency (#8902)

https://github.com/vlucas/phpdotenv/issues/276

Fixes values in .env starting with # being empty.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added detection for CoreOS devices (#8899)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Updated Old Template URL to point to the correct location within docs (#8905)

* fix stupid error in vars.inc.php (#8904)

* test-template.php fixed after #8803 PR

Hello

Following this post, ( https://community.librenms.org/t/bug-test-template-php-not-running-after-laravel-upgrade/4639/9 ), here is the PR.

PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Revert "fix stupid error in vars.inc.php" (#8909)

* Revert "test-template.php fixed after #8803 PR"

This reverts commit 2c26c08020b01ad10050335c4ee50ea034d4cbe0.

* Revert "fix stupid error in vars.inc.php (#8904)"

This reverts commit 2f681a3df3e4c09abee4fbf18a6777771b8810f8.

* fixed can_ping_device() logic (#8906)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fix errors in vars.inc.php (#8913)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Ignore long lines in codeclimate (#8912)

Other option is to increase line length.

Feel free to disagree.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Don't depend on String_Blade_Compiler so hard (#8907)

Allows things to boot if it is missing but displays a toast.
Allows Toastr facade to work on legacy pages too.

Not 100% sure if we want this.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Stop allowing search text to be tagged for select2 (#8915)

* PSR-4 Plugin Support (#8880)

Add phpdocblocks Plugins.php
Add psr-4 plugins path to composer.json

Changes to be committed:
	modified:   LibreNMS/Plugins.php
	modified:   composer.json

* Fix missed variable rename. (#8916)

Walk was in another file.

* Fix plugin loading (#8917)

* Fix plugin loading
class_exists was loading the including the files, then we included it again.
Mostly, just include -> include_once is the fix.

* fix style

* forgot to update docblock

* Codeclimate updates (#8918)

Update to version 2 of config
Don't require camelCase variables

* BUG - test-template.php upgrade after #8803 +  #8908 PR (#8910)

* Update test-template.php

* Test-Template.php - Use AlertData Class

* Update test-template.php

* Custom error page (#8911)

Generic error page, just a dump of the current page with additional information.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added missing Config dependency (#8919)

* Improve DCN Device Support (#8878)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
fix #8755 

I have not added test data as it would require filterting quite some LLDP/IP's etc information.

* Fixed alert rules that use columns in value (#8925)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added Alert Transports Mapping (#8660)

Hello all,
I guess this is the second version of a more fully fleshed out alert contact mapping feature. The old one was GH-8507

Transports to convert:

  - [x] API
  - [x] Cisco Spark
  - [x] Elasticsearch
  - [x] GitLab
  - [x] Philips Hue
  - [x] Jira
  - [x] Mail
  - [ ] ~~PagerDuty~~ - Requires a callback so leaving for now
  - [x] Nagios
  - [x] IRC
  - [x] Discord
  - [x] Rocket.chat
  - [x] Hipchat
  - [x] Pushover
  - [x] Boxcar
  - [x] Telegram
  - [x] Pushbullet
  - [x] VictorOps
  - [x] OpsGenie
  - [x] Clickatell
  - [x] PlaySMS
  - [x] Canopsis
  - [x] osTicket
  - [x] Microsoft Teams
  - [x] SMSEagle
  - [x] Syslog
  - [x] Slack

The intention is for this feature to have three different levels to it:
1. Alert rule to an alert contact mapping (where the code is at now)
2. Alert rule to an alert group (made up of alert contacts) mapping
3. Alert contact mapping to different transport configurations.

There will be three transport configuration types.
1. Default (the configuration that is held in the configs table)
2. None (no transport configuration - will explain later)
3. Other (a configuration that will be defined in a different able)

Take Mail transport for example. It can either be of a "default" or "other" configuration. The hope is that in the future, users can send mail from different mail servers if they wish.
However, for ciscospark which requires a room ID and an api-token, I've decided that it has no transport configuration. Most likely, every alert contact will contain a different room-id and an api-token - which is why it has the transport config of "none".
For other transports : I am not familiar with them, so hopefully the community can add support for these. I can definitely help!

To add support for each transport will require several things:
- addition to the UI
- addition to forms/alert-contacts.inc.php
- modifications to its object class

Screenshots
![image](https://user-images.githubusercontent.com/28970851/39594533-2092ce9e-4eca-11e8-9c5d-cd002ece1425.png)
![image](https://user-images.githubusercontent.com/28970851/39594544-276e9856-4eca-11e8-80cc-82789ee0b2b2.png)
![image](https://user-images.githubusercontent.com/28970851/39594553-2fdf528c-4eca-11e8-8a40-4f149e767054.png)

I'm not sure if this is the best way to do things, so please let me know if there's a better way to structure the code! Any comments on code/db schema,/UI etc is welcome and encouraged! 

The UI is heavily based on alert rules (front end is not my strong suit). And parts of the code are based on the code that was written for alert rules.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Asterisk Application support (#8914)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

PR 183 from librenms-agent contains the script to make this work

https://github.com/librenms/librenms-agent/pull/183

* Added discovery of serverscheck flooding sensor (#8923)

Added discovery for state of serverscheck flooding sensors.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* fix foldersize() recursion (#8930)

previously, it tried to add an array to an integer...

* Support for HTML tags in TELEGRAM transport (#8929)

This update will add support for HTML tags in TELEGRAM Transport

Here is the list of all tags that you can use in alert template for telegram transport.

```
<b>bold</b>, <strong>bold</strong>
<i>italic</i>, <em>italic</em>
<a href="http://www.example.com/">inline URL</a>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
```

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fix Calix OS definitions (#8832)

* Fix Calix OS definitions

The main change is EXA (E7, etc) and B6 (Occam) devices are now their own OS

Now the follow OS exist:
exa: E7 EXA, E5-400, E5-48, E3-48, E3-8G
occamos: B6

Unchanged:
calix: E5-1**, E3-12C
axos: E7-2 AXOS, E9-2, E3-2, E5-520, E5-16F, E3-16F, E5-30x

* fix tests
exa_e7-2 seems like bogus data.

* additional tests, fix an error in the yaml

* Remove extra line return

* Add missed file

* Added VRF support on VRP devices (huawei) (#8879)

* Feature: Enable VRF handling in Huawei VRP devices using standard MPLS-L3VPN-STD-MIB

* Feature: Enable VRF handling in Huawei VRP devices using standard MPLS-L3VPN-STD-MIB

* Feature: VRF on VRP devices - Fix Codeclimate error

* Feature: VRF on VRP devices - Fix Codeclimate error

* Feature: Enable VRF handling in Huawei VRP devices using standard MPLS-L3VPN-STD-MIB

* Feature: VRF on VRP devices - Fix PR ChangeRequest

* Feature: VRF on VRP devices - Fix PR ChangeRequest

* Create vrp_ce12804-withvrf.json

* in_array, not str_contains

* Changed jnxProductQFX511048S4Q to jnxProductQFX511048S4C in rewrites.php (#8932)

Originally had this pull request earlier this year to add support for this: #8466 but looks like Juniper changed this at some point when the Juniper chassis mibs were updated here: #8678

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Updated transport docs to fix table (#8934)

* Make alert transport form compatible with sql strict mode (#8931)

* Edit is_default so it is compatible with sql strict mode

* whitespace fix

* Evaluate is_default earlier

* Fix logic

* Fix typo in clickatell (#8937)

* Removed the static Slack Priority field (#8936)

* Removed the static Priority field

* Update Slack.php

* Arris CMTS - C4/C4c remamed and Added C3 support (#8883)

* Added Arris C3 to cmts.yaml

* Added Arris C3 hardware

* ARRIS CMTS->Move from cmts to arris_c4 yaml

* Fixed some Arris_c4 definitions

* Added Arris C3 CMTS

* Fixed some typos

* Arris C3 test files

* Arris C4 test files

* Deleted not anymore valid files

* Renamed from underscore

* Fixed some typos

* Correct test files

* Removed old snmprec files

* Correct test files v2

* Deleted more old files

* Return to cmts for valid_sensor() for Arris C4/C4c

* Re-done test files

* Re-do test files after rebase

* fix: Match interface counter64 OIDs with unsigned bigint (#8940)

* fix: Match interface counter64 OIDs with unsigned bigint

* move to one line, add ifInOctets

* Update db_schema.yaml

* Update db_schema.yaml

* Poll service check only if the associated device is available (#8757)

* Update check-services.php

Poll service check only if the associated device is available.

* Update check-services.php

Updating line 68 based on laf suggestion.

* Update check-services.php

Also check the following before polling the service:
* "Disable ICMP Test" is enabled
* Service hostname/IP is different from associated device.

* Update check-services.php

Remove whitespaces.

* Update check-services.php

* Make check-services.php perform more similarly to services.wrapper.py - loop service checks per device and execute RunRules() function after polling all services for one device (like in poller.php).
* Add more debugging information, similar to poller.php

* Update check-services.php

Implement logging to eventlog when service is skipped due to icmp down event. Event is logged only once during device down event, which is achieved by checking value in service_disabled column in services table.

* Update check-services.php

Fix Travis errors.

* Update check-services.php

Revert back to one query and one foreach loop code.
Added inet6_ntop() for reading $service['ip'] value.
Removed RunRules() function.

* Update check-services.php

Formatting fixes.

* Update check-services.php

More formatting fixes. :)

* Update check-services.php

Removed 'alerts' from init_module.

* Update Services.md

Update Services documentation with info about changes to service checks polling logic.

* Update check-services.php

Fix spelling check on `previosly`.

* Update check-services.php

Replace phrase "Nagios Service" with "Service check".

* Update Services.md

Reword first two sentences of `Service checks polling logic` section.

* Fixed test transport form (#8942)

* Update Network-Map.md (#8946)

Fix typo

* Remove testing data (#8945)

* Added Citrix Netscaler HA sensors and alerts (#8800)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed whitespace bug in ceraos temperature sensor (#8948)

* Fixed whitespace bug in ceraos temperature sensor

* Update ceraos.json

* Update ceraos.json

* Fixed typo in new alert rule html (#8958)

* Update RRDCached.md to fix permissions (#8959)

Add step to Debian 9 to fix permissions on /mnt/librenms/rrd/journal/

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Adds missing hostname parameter to addhost.php (#8961)

Just followed the docs after installation and stumbled about this, which caused some irritation.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed pushbullet transport (#8963)

* Fixed pushbullet transport

* Updated return value

* Fix default template (#8964)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update Templates.md (#8965)

Fix errors in `Service Alert` template example.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Allow ping checks to be ran separately from polling (#8821)

Allows ping checks at intervals not tied to the poller.  Pointless if you are not alerting on device status.
I updated the rrdstep.php script to treat ping-perf files separately and made it so it only converts if needed.

Docs here: https://docs.librenms.org/Extensions/Fast-Ping-Check/

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Alert transport fixes (#8967)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Convert alert templates in place (#8951)

* Convert alert templates inplace

* Update copyright

* Update convert-template.inc.php

* Add docs for using a base template (#8939)

* Add docs for using a base template

* Updated readme

* Add wget command to memcached (#8971)

* Update base template (#8973)

* Added changelog for 1.42 (#8975)

* Added changelog for 1.42

* Small updates

* Fix template conversion (#8976)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update Templates.md (#8979)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update convert-template.inc.php (#8980)

* Cast variables as arrays to cover empty values (#8982)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Log an event for each Service Status change (#8968)

Hello

Here is a proposal for a pièce of code to log (using log_events) each service status change onto the device itself. 

Let me know if we should create the "getStatusText()" function to convert the int to "OK", "Critical" etc etc . I searched for such a function but did not find it. 

I also add to use a hack for the SQL cause it would prevent the device_id valueto be available in the resulting $service when device_attribs is empty for the device. If you have a better way to suggest, I'll be happy to use it. 

PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed Eventlog search (missing OR in SQL query) (#8981)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added 'Disabled' and 'Down' state for devices/links rendered on NetworkMap (#8926)

Hello

Here is a proposal for a dedicated color on disabled devices displayed on the Network Maps. Usecase is that during a migration, we are "disabling" the old devices and we delete them only a few days/weeks later. This change allows to see the productive devices as well as the disabled ones and clearly know which is which. 

Thanx

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Selective Port polling improvements (#8650)

Don't delete skipped ports when using selected polling
Improve output of port polling module.
Update ifOperStatus and ifAdminStatus even when skipping.

Warning! causes a semantic change where ifAdminStatus_prev and ifOperStatus_prev are updated every poll, so they will only be mismatched for one poll.  This could cause alerts to behave differently.

Add an optimization if less than 10% of the ports are disabled (or less than 5), walk the base oids.
Time improvement on test device Full: 12s, Selective: 8s, Optimized 4s. (no disabled ports on device, many down)

Another test device.

![image](https://user-images.githubusercontent.com/39462/40066671-46cdc956-582a-11e8-928a-80bbd81dd423.png)


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Find snmpsimd binary rather than infer snmpsimd.py (#8952)

instead of calling snmpsimd.py blindly

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Line up ping graph legend (#8955)

![image](https://user-images.githubusercontent.com/39462/43288765-7ff46116-90ee-11e8-80ec-a1f37e5027ae.png)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update sonus-sbc detection (#8978)

* Remove port association mode map from the database (#8941)

* Remove port association mode map from the database

* Renamed sql file

* Renamed sql file

* Allow to use full DN as value for member attribute instead of member: username (#8969)

Allow to use full DN as value for member attribute instead of member: username

I dont use LDAP so this should be tested with both methods.

For using fulldn as user `$config['ldap_auth_userdn'] = true;` must be set in config.php

This comes from https://community.librenms.org/t/feature-request-full-dn-as-group-member-attibute-in-ldap-auth/4805

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Add another example hardware setup (#8983)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed the display of hostnames within the edit device permissions if a SysName is used instead (#8986)

* Correct config template for API transport (#8991)

Due to bug in the implementation of the alert transport mapping introduced in #8660  , the API transport is unable to be configured via the new interface. Only the 'get' method is displayed in the UI and the defined validation is expecting uppercase "GET" or "POST" as the method, making it impossible to configure the API transport.

This change corrects the name to option value mapping to uppercase GET and adds back the POST method option. 

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Update Fast-Ping-Check.md to include options (#8987)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* remove strict comparisons for check-services.php (#8992)

Required by #8935

That PR returns ints if appropriate
"0" => 0

* Update Distributed-Poller.md to include running daily.sh (#8988)

Small update to the docs as of daily.sh has to run on all instances

* Don't insert into the alert table if the entry is already correct. (#8990)

* Don't insert into the alert table if the entry is already correct.

* Fix another strict comparison

* Correct smokeping integration example (#8997)

The only mention in the sourcecode I can find to 'smokeping_server_hostname' is in this doc, and such an option doesn't really make sense. You will still require the $config['smokeping']['integration'] = true option though.

* Reference Issues for new OS support (#8996)

* Reference Issues for new OS support

* Update link

* Update Telegram.php (#9000)

* Update scripts/rrdstep.php (#9004)

Use system_step in icmp_step and system_heartbeat

* Added rockstor svg os and logo (#9002)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Display MAX rrd value in Service Graphs (#9001)

Hi

This patch does add the MAX graph (AREA) for the Service graphs. And the Max numerical value is as well taken from the MAX RRD value instead of AVERAGE. 

When scaling to larger amount of time, displaying like today the average only makes all spikes disappear, and the Max value does not make much sense.

I also added a color choice to *pinkify* the "Loss" graphs. 

Exemple with HTTP graphs polling google: 

![http-exemple](https://user-images.githubusercontent.com/38363551/43886912-7760b28c-9bbd-11e8-875b-b2afe140bdf9.png)

PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fixed snmptraps. (#8898)

* Fixed snmptraps.

* Fixed space

* Added bgp down/up and authentication failure

* Fixed typo

* Fixed some typos, arrays, astext and format_hostname

* Updated documentation

* Moved code to a function

* Some refactor

* Minor fixes

* Minor fixes 2

* More minor fixes

* Changes requested by Tony

* Minor fixes

* Moved include to snmptrap.php

* Refactor traps to use object oriented code.

Should trigger events too/instead, but we'll leave that.
Testing todo

* Add tests and fix things so they actually work
Not checking events yet.

* Fixed typo and severity level

* Update composer deps, I think the lock file wasn't right.
add json and mbstring extension deps while I'm at it.

* Fix several issues with phpunit fixtures

* Update alerts.inc.php (#8977)

Also sort by timestamp, after sorting/grouping by severity.

* Added Juniper Junos syslog notification code (#9006)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Remove non-existent PowerNet-MIB OIDs. (#9005)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Use Process for fping (#8970)

Simplify fping function and add debug output.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Check if value is valid for Linux servers (#8956)

Fix for issue #8950 


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* device: Add missing Extreme Networks rewrites (#8957)

* device: Sort Extreme Networks devices rewrites

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>

* device: Add couple Extreme Summit rewrites

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>

* Remove duplicate

* Updates to snmptrap handling (#9010)

* Updates to snmptrap handling
fix a bug in findDeviceByIP.  Add more tests for that.
Move handle outside of the Trap class, it doesn't fit.
Add developer docs.

* fix tests copy paste issue.

* Fix findByIp when port may not exist.

* Logging: Output context (and extra) if they exist

* Generic trap event logging and new config setting.

* Standardized install method for RaspberryPi App (#9014)

As most Applications use wget to download the scripts, I've altered the RaspberryPi Application to get listed in same way.
Though it does appear LibreNMS doesn't support this Application anymore

* Update Applications doc for postfix and RHEL usage (#9019)

* Update ReadMe (postfix)

added RHEL support note

* Update Applications.md

* device: Added detection for SIAE Microelettronica ALFOplus2 microwave radio device (#8953)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added support for Huawei iBMC (#9011)

* Device: Huawei iBMC - Initial support for Huawei iBMC on RH servers

* Device: Huawei iBMC - Server management Console

* Device: Huawei iBMC - Server management Console - snmp_get_multi_oid

* Added json test data

* Fix invalid json in test data (#9015)

* Fix invalid json in test data
Most simply needed the syntax fixed
fail2ban needed updated data (added non-zero values in test data too)
awplus: ntp application cannot be enabled by tests since it doesn't use snmp extend... ntp app is enabled by ntp module... pass on that for now.

* missed awplus change somehow...

* Update SNMP-Configuration-Examples.md (#9022)

Updated ESXi 5.x/6.x
Added VCenter 6.x

* Add a check for a failed dns query in get_astext() (#9020)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added support for older Airmux-400 (#9024)

Removed sysObjectID extension to allow discovery of older RAD Airmux 400 devices

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added hiding of disabled ports in graph, device overview and device ports view. (#9017)

When disabling or ignoring ports in the "Ports Settings" (http://<nms_host>/device/device=<device_id>/tab=edit/section=ports/) then the ports are still shown under the Port tab for a specific device (http://<nms_host>/device/device=<device_id>/section=ports/) and in the Overall Traffic Graph.
To keep the view and graph more clear, this change only shows the ports which are not disabled or ignored.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [y] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Use PDO for MySQL queries (#8935)

Gut dbFacile
mres() now does nothing... could have some vulnerable queries, but most are ok

TODO
- [x] IRC client broke
- [x] Install broke

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Use rrdtool_escape() for sensors instead of manually padding text (#9029)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Tidy up some transport code from previous pr (#8927)

* Fix dbFacile null parameters (#9031)

* Fixed widgets from updated dbFacile changes (#9033)

* Fixed widgets from updated dbFacile changes

* Updated top interfaces

* Remove accidental cast (#9032)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added basic support for IBM i (AS/400) (#9030)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Cleaned up Trango Apex Lynx OS code and added wireless sensors (#9026)

I removed an incorrect mib and added the correct one.  Changed initial detection to use mib instead of numeric oid. Removed trim function.  Added wireless sensor class.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Convert old templates title as well as body (#9034)

* Convert old templates title as well as body

* Update convert-template.inc.php

* Fixed pre-commit (#9035)

* Improved SmartAX OS support. Added CPU&Temperature for each card and … (#9023)

* Improved SmartAX OS support. Added CPU&Temperature for each card and hardware detection

* Minor fixes

* Uploaded test data

* Moved to snmpwalk_array_num()

* Fixed Temperature

* Added sensor power

* Fixed Style issues and proper hardware detection

* Fixed last style issue

* Last update. Added version and serial. Added traffic and processors mini graphs

* Fix laravel start from PDO PR (#9037)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* convert zfs over to use json_app_get (#8573)

* convert zfs over to use json_app_get

* make the format checker happy

* change array brackets used and update for upcomming changes to json_app_get

* change it over to do exception checking

* styling cleanup

* cleanup error handling

* update to the latest json_app_get

* correct a bit of logic for legacy and cleanup some formatting

* add the snmprec files for the ZFS app

* add the tests for ZFS with legacy extend

* add another check

* convert these from base64 to hex

* remove improper commas

* Match upstream spacing

* fix typo

* fix bad data and zfs metrics, allow float values

* bad capture

* improve comment

* Update db_schema.yaml

* Fix top interfaces for non-admin users (#9038)

* Fix broken and unused sql query in billing code (#9039)

* Just disable phan for now (#9045)

Seems like it would take a lot to make it less noisy, phpmd has been more helpful

* Update validate to check for mysqlnd (#9043)

Ran into some annoying bugs with the old mysql library driver and BIGINT.

* Workaround for storage bigint (#9049)

Fix is to use mysqlnd driver instead of mysqli.

* Workaround for billing with large bps (#9044)

* Workaround for billing with large bps
Workaround for mysqli driver mucking up BIGINT
Real fix is for users to switch to mysqlnd

* Add note

* More bigints

* Fixed OSPF duplicate DB entries (#9051)

Re-write ospf polling using Eloquent

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* merge from librenms/master (#12)

* Added APC Environmental Manager Support (#8872)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
fix #8781

* Small Cleanup (#8871)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Improved support for cambium cmm and added cmm4 (#8737)

- Added port discovery for cmm3 (not available for cmm4, not that i could find)
- Added discovery for cmm4
- Added Power port cmm4
- Removed Processor bug by disabling processor on device.

I am unable to test CMM4 and may need someone to do so or review for possible errors.

Fixes Issues #8732, #8731

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Collectd graph bug fix (#8855)

- fix graph color handling bug
- fix graph listing when metagraph exists
- show collectd metric name (plugin and type) in title

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Updated shebang on librenms-service.py (#8875)

Changed shebang to point to python3 as per documentation the service does not work with python2

* Fix up depth column (#8884)

Remove some dead code

* Fixed api list devices query for normal users (#8881)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

fixes: https://github.com/librenms/myLibreNMS/issues/37

* Add sysDescr and hardware for oxidized overrides (#8885)

* Fix processor usage on edit page (#8887)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* discovery.php: don't exit(5) without new devices discovered (#8893)

Don't exit with a non-zero value in case no new devices were discovered, as non-zero codes are considered failed jobs for most cron implementations and produce logs like the following (in Debian):

```
cron.info CRON[963890]: (CRON) error (grandchild #963892 failed with exit status 5)
``` 

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Support specifying submodules in poller and discovery for debug (#8896)

Mostly useful for debugging

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added support for sorting alerts by severity on the Alerts widget (#8895)

Added feature to sort alerts by severity on the Alerts widget.


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Fix broken navigation on VRFs Page (#8889)

Hello

The VRFs page has navigation issue right now, that bring the user back to BGP page when most links are clicked (graphs, VRF). This change does some cleanup based on the "device/vrf" page, to recreate a "consistant" navigation. 
Graphs are fixed, and clicking the "VRF" says "Not implemented". 

Bye
PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Improved Logging and Debugging (#8870)

Use Log facility when Laravel is booted.
Update init.php so we can easily boot Laravel for CLI scripts. (and just Eloquent, but that may go away)
Move all debug setup into set_debug() function and use that across all scripts.
Log Laravel database queries.
Send debug output to librenms log file when enabling debug in the webui.
Allow for colorized Log CLI output. (currently will leave % tags in log file output)

** Needs testing and perhaps tweaking still.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Typo in changelog (#8897)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Refactor alert templates to use Laravel Blade templating engine (#8803)

* Initial start on new templating support

* further updates

* more updates

* More working version

* Last fixes

* Small updates

* modified test to look for dbname.

* Schema update

* Added fix for not being able to disable Philips Hue transport

* Updated sql file

* Updated db_schema

* Set myclabs/deep-copy to be 1.7.x version in composer

* Fixes from murrant

* Forced nikic/php-parser to version 3.1.x in composer

* Updated composer to use custom fork of string-blade-compiler + fixed transport use

* Updated to always use correct template

* Merged legacy and blade templating engines

* Removed template type + fixed test-alert.php

* Added more template placeholders

* Added ability to reference data in templates as $alert->X

* Updated docs for templates

* Updated db_schema.yaml

* Added $alert->builder

* Clarify the use of $alert->builder

* Fixed the use of $alert->transport

* renamed schema file

* Added template validation

* Small update to fix travis issue

* Add Docs text to title bar

* Updated amqp to new of version

* Consistency in alert rule and template title bars

* Downgrade phpdotenv dependency (#8902)

https://github.com/vlucas/phpdotenv/issues/276

Fixes values in .env starting with # being empty.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Added detection for CoreOS devices (#8899)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

* Updated Old Template URL to point to the correct location within docs (#8905)

* fix stupid error in vars.inc.php (#8904)

* test-template.php fixed after #8803 PR

Hello

Following this post, ( https://community.librenms.org/t/bug-test-template-php-not-running-after-laravel-upgrade/4639/9 ), here is the PR.

PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitt…

@lock lock bot locked as resolved and limited conversation to collaborators Sep 23, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.