librenms/includes/html/object-cache.inc.php
Tony Murray 36431dd296
Security fix: unauthorized access (#10091)
* Security fix: unauthorized access
Affects nginx users:
Moved php files outside of public html directory (Apache was protected by .htaccess)

Affects all users:
Some files did not check for authentication and could disclose some info.
Better checks before including files from user input

* git mv html/includes/ includes/html
git mv html/pages/ includes/html/
2019-04-11 23:26:42 -05:00

36 lines
1.0 KiB
PHP

<?php
// FIXME queries such as the one below should probably go into index.php?
// FIXME: This appears to keep a complete cache of device details in memory for every page load.
// It would be interesting to know where this is used. It probably should have its own API.
use LibreNMS\ObjectCache;
foreach (dbFetchRows('SELECT * FROM `devices` ORDER BY `hostname`') as $device) {
$cache['devices']['hostname'][$device['hostname']] = $device['device_id'];
$cache['devices']['id'][$device['device_id']] = $device;
$cache['device_types'][$device['type']]++;
}
$devices = new ObjectCache('devices');
$ports = new ObjectCache('ports');
$services = new ObjectCache('services');
if ($devices['down']) {
$devices['bgcolour'] = '#ffcccc';
} else {
$devices['bgcolour'] = 'transparent';
}
if ($ports['down']) {
$ports['bgcolour'] = '#ffcccc';
} else {
$ports['bgcolour'] = '#e5e5e5';
}
if ($services['down']) {
$services['bgcolour'] = '#ffcccc';
} else {
$services['bgcolour'] = 'transparent';
}