mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
* Implement an autoloader When cleaning up classes for psr2, things got a bit unwieldy, so I implemented a class autoloader. I created a PSR-0 compliant LibreNMS directory and moved all classes there that made sense. Implemented LibreNMS\ClassLoader which supports adding manual class mappings This reduces the file includes needed and only loads classes when needed. * Add teh autoloader to graph.php * Add a small bit of docs Fix incomplete class in includes/discovery/functions.inc.php
82 lines
2.2 KiB
PHP
82 lines
2.2 KiB
PHP
<?php
|
|
header('Content-type: application/json');
|
|
|
|
if (is_admin() === false) {
|
|
$response = array(
|
|
'status' => 'error',
|
|
'message' => 'Need to be admin',
|
|
);
|
|
echo _json_encode($response);
|
|
exit;
|
|
}
|
|
|
|
$status = 'error';
|
|
$message = 'Error with config';
|
|
|
|
// enable/disable components on devices.
|
|
$device_id = intval($_POST['device']);
|
|
|
|
$OBJCOMP = new LibreNMS\Component();
|
|
|
|
// Go get the component array.
|
|
$COMPONENTS = $OBJCOMP->getComponents($device_id);
|
|
|
|
// We only care about our device id.
|
|
$COMPONENTS = $COMPONENTS[$device_id];
|
|
|
|
// Track how many updates we are making.
|
|
$UPDATE = array();
|
|
|
|
foreach ($COMPONENTS as $ID => $AVP) {
|
|
// Is the component disabled?
|
|
if (isset($_POST['dis_'.$ID])) {
|
|
// Yes it is, was it disabled before?
|
|
if ($COMPONENTS[$ID]['disabled'] == 0) {
|
|
// No it wasn't, best we disable it then..
|
|
$COMPONENTS[$ID]['disabled'] = 1;
|
|
$UPDATE[$ID] = true;
|
|
}
|
|
} else {
|
|
// No its not, was it disabled before?
|
|
if ($COMPONENTS[$ID]['disabled'] == 1) {
|
|
// Yes it was, best we enable it then..
|
|
$COMPONENTS[$ID]['disabled'] = 0;
|
|
$UPDATE[$ID] = true;
|
|
}
|
|
}
|
|
|
|
// Is the component ignored?
|
|
if (isset($_POST['ign_'.$ID])) {
|
|
// Yes it is, was it ignored before?
|
|
if ($COMPONENTS[$ID]['ignore'] == 0) {
|
|
// No it wasn't, best we ignore it then..
|
|
$COMPONENTS[$ID]['ignore'] = 1;
|
|
$UPDATE[$ID] = true;
|
|
}
|
|
} else {
|
|
// No its not, was it ignored before?
|
|
if ($COMPONENTS[$ID]['ignore'] == 1) {
|
|
// Yes it was, best we un-ignore it then..
|
|
$COMPONENTS[$ID]['ignore'] = 0;
|
|
$UPDATE[$ID] = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (count($UPDATE) > 0) {
|
|
// Update our edited components.
|
|
$STATUS = $OBJCOMP->setComponentPrefs($device_id, $COMPONENTS);
|
|
|
|
$message = count($UPDATE).' Device records updated.';
|
|
$status = 'ok';
|
|
} else {
|
|
$message = 'Record unchanged. No update necessary.';
|
|
$status = 'ok';
|
|
}
|
|
|
|
$response = array(
|
|
'status' => $status,
|
|
'message' => $message,
|
|
);
|
|
echo _json_encode($response);
|