mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
@ -1,22 +1,25 @@
|
||||
<?php
|
||||
|
||||
use LibreNMS\Config;
|
||||
|
||||
// Generate a list of ports and then call the multi_bits grapher to generate from the list
|
||||
$i = 0;
|
||||
|
||||
if (!is_array($config['customers_descr'])) {
|
||||
$config['customers_descr'] = array($config['customers_descr']);
|
||||
}
|
||||
$cust_descrs = (array)Config::get('customers_descr', ['cust']);
|
||||
|
||||
$descr_type = "'".implode("', '", $config['customers_descr'])."'";
|
||||
$sql = 'SELECT * FROM `ports` AS I, `devices` AS D WHERE `port_descr_descr` = ? AND D.device_id = I.device_id AND `port_descr_type` IN ' . dbGenPlaceholders(count($cust_descrs));
|
||||
$param = $cust_descrs;
|
||||
array_unshift($param, $vars['id']);
|
||||
|
||||
foreach (dbFetchRows('SELECT * FROM `ports` AS I, `devices` AS D WHERE `port_descr_type` IN (?) AND `port_descr_descr` = ? AND D.device_id = I.device_id', array(array($descr_type), $vars['id'])) as $port) {
|
||||
$rrd_list = [];
|
||||
foreach (dbFetchRows($sql, $param) as $port) {
|
||||
$rrd_filename = get_port_rrdfile_path($port['hostname'], $port['port_id']); // FIXME: Unification OK?
|
||||
if (rrdtool_check_rrd_exists($rrd_filename)) {
|
||||
$rrd_list[$i]['filename'] = $rrd_filename;
|
||||
$rrd_list[$i]['descr'] = $port['hostname'].'-'.$port['ifDescr'];
|
||||
$rrd_list[$i]['descr_in'] = shorthost($port['hostname']);
|
||||
$rrd_list[$i]['descr_out'] = makeshortif($port['ifDescr']);
|
||||
$i++;
|
||||
$rrd_list[] = [
|
||||
'filename' => $rrd_filename,
|
||||
'descr' => $port['hostname'] . '-' . $port['ifDescr'],
|
||||
'descr_in' => shorthost($port['hostname']),
|
||||
'descr_out' => makeshortif($port['ifDescr']),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,17 +1,15 @@
|
||||
<?php
|
||||
|
||||
if (!is_array($config['customers_descr'])) {
|
||||
$config['customers_descr'] = array($config['customers_descr']);
|
||||
}
|
||||
use LibreNMS\Config;
|
||||
|
||||
$descr_type = "'".implode("', '", $config['customers_descr'])."'";
|
||||
$cust_descrs = (array)Config::get('customers_descr', ['cust']);
|
||||
|
||||
$i = 0;
|
||||
$sql = ' FROM `ports` LEFT JOIN `devices` AS `D` ON `ports`.`device_id` = `D`.`device_id` WHERE `port_descr_type` IN ' . dbGenPlaceholders(count($cust_descrs));
|
||||
$param = $cust_descrs;
|
||||
|
||||
$sql = ' FROM `ports` LEFT JOIN `devices` AS `D` ON `ports`.`device_id` = `D`.`device_id` WHERE `port_descr_type` IN (?)';
|
||||
$param[] = array($descr_type);
|
||||
if (isset($searchPhrase) && !empty($searchPhrase)) {
|
||||
$sql .= " AND (`port_descr_descr` LIKE '%$searchPhrase%' OR `ifName` LIKE '%$searchPhrase%' OR `ifDescr` LIKE '%$searchPhrase%' OR `ifAlias` LIKE '%$searchPhrase%' OR `D`.`hostname` LIKE '%$searchPhrase%' OR `port_descr_speed` LIKE '%$searchPhrase%' OR `port_descr_notes` LIKE '%$searchPhrase%')";
|
||||
$sql .= " AND (`port_descr_descr` LIKE ? OR `ifName` LIKE ? OR `ifDescr` LIKE ? OR `ifAlias` LIKE ? OR `D`.`hostname` LIKE ? OR `port_descr_speed` LIKE ? OR `port_descr_notes` LIKE ?)";
|
||||
array_push($param, "%$searchPhrase%", "%$searchPhrase%", "%$searchPhrase%", "%$searchPhrase%", "%$searchPhrase%", "%$searchPhrase%", "%$searchPhrase%");
|
||||
}
|
||||
|
||||
$count_sql = "SELECT COUNT(DISTINCT(`port_descr_descr`)) $sql";
|
||||
@ -41,11 +39,13 @@ if ($rowCount != -1) {
|
||||
$sql = "SELECT `port_descr_descr` $sql";
|
||||
|
||||
foreach (dbFetchRows($sql, $param) as $customer) {
|
||||
$i++;
|
||||
|
||||
$customer_name = $customer['port_descr_descr'];
|
||||
|
||||
foreach (dbFetchRows('SELECT * FROM `ports` WHERE `port_descr_type` IN (?) AND `port_descr_descr` = ?', array(array($descr_type), $customer['port_descr_descr'])) as $port) {
|
||||
$port_query = 'SELECT * FROM `ports` WHERE `port_descr_type` IN ' . dbGenPlaceholders(count($cust_descrs)) . ' AND `port_descr_descr` = ?';
|
||||
$port_params = $cust_descrs;
|
||||
$port_params[] = $customer_name;
|
||||
|
||||
foreach (dbFetchRows($port_query, $port_params) as $port) {
|
||||
$device = device_by_id_cache($port['device_id']);
|
||||
|
||||
$ifname = fixifname($device['ifDescr']);
|
||||
|
Reference in New Issue
Block a user