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
69 lines
2.8 KiB
PHP
69 lines
2.8 KiB
PHP
<?php
|
|
|
|
$row = 1;
|
|
|
|
$device_id = $_POST['device_id'];
|
|
|
|
$OBJCOMP = new LibreNMS\Component();
|
|
|
|
// Add a filter if supplied
|
|
if (isset($searchPhrase) && !empty($searchPhrase)) {
|
|
$options['filter']['label'] = array('LIKE', $searchPhrase);
|
|
}
|
|
|
|
// Add a Sort option
|
|
if (!isset($sort) || empty($sort)) {
|
|
// Nothing supplied, default is id ASC.
|
|
$options['sort'] = 'id asc';
|
|
} else {
|
|
$options['sort'] = $sort;
|
|
}
|
|
|
|
// Define the Limit parameters
|
|
if (isset($current)) {
|
|
$start = (($current * $rowCount) - ($rowCount));
|
|
}
|
|
if ($rowCount != -1) {
|
|
$options['limit'] = array($start,$rowCount);
|
|
}
|
|
|
|
$COMPONENTS = $OBJCOMP->getComponents($device_id, $options);
|
|
|
|
$response[] = array(
|
|
'id' => '<button type="submit" id="save-form" class="btn btn-success btn-sm" title="Save current component disable/ignore settings">Save</button><button type="submit" id="form-reset" class="btn btn-danger btn-sm" title="Reset form to when the page was loaded">Reset</button>',
|
|
'label' => ' ',
|
|
'status' => '<button type="submit" id="warning-select" class="btn btn-default btn-sm" title="Disable alerting on all currently warning components">Warning</button> <button type="submit" id="critical-select" class="btn btn-default btn-sm" title="Disable alerting on all currently critical components">Critical</button>',
|
|
'disable' => '<button type="submit" id="disable-toggle" class="btn btn-default btn-sm" title="Toggle polling for all components">Toggle</button><button type="button" id="disable-select" class="btn btn-default btn-sm" title="Disable polling on all components">Select All</button>',
|
|
'ignore' => '<button type="submit" id="ignore-toggle" class="btn btn-default btn-sm" title="Toggle alerting for all components">Toggle</button><button type="button" id="ignore-select" class="btn btn-default btn-sm" title="Disable alerting on all components">Select All</button>',
|
|
);
|
|
|
|
foreach ($COMPONENTS[$device_id] as $ID => $AVP) {
|
|
if ($AVP['status'] == 0) {
|
|
$class = "green";
|
|
$status = "Ok";
|
|
} elseif ($AVP['status'] == 1) {
|
|
$class = "grey";
|
|
$status = "Warning";
|
|
} else {
|
|
// Critical
|
|
$class = "red";
|
|
$status = "Critical";
|
|
}
|
|
$response[] = array(
|
|
'id' => $ID,
|
|
'type' => $AVP['type'],
|
|
'label' => $AVP['label'],
|
|
'status' => "<span name='status_".$ID."' class='".$class."'>".$status."</span>",
|
|
'disable' => '<input type="checkbox" class="disable-check" name="dis_'.$ID.'"'.($AVP['disabled'] ? 'checked' : '').'>',
|
|
'ignore' => '<input type="checkbox" class="ignore-check" name="ign_'.$ID.'"'.($AVP['ignore'] ? 'checked' : '').'>',
|
|
);
|
|
}//end foreach
|
|
|
|
$output = array(
|
|
'current' => $current,
|
|
'rowCount' => $rowCount,
|
|
'rows' => $response,
|
|
'total' => count($COMPONENTS[$device_id]),
|
|
);
|
|
echo _json_encode($output);
|