mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
* 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/
117 lines
4.9 KiB
PHP
117 lines
4.9 KiB
PHP
<?php
|
|
|
|
// This file prints a table row for each interface
|
|
use LibreNMS\Util\IP;
|
|
|
|
$port['device_id'] = $device['device_id'];
|
|
$port['hostname'] = $device['hostname'];
|
|
|
|
$if_id = $port['port_id'];
|
|
|
|
$port = cleanPort($port);
|
|
|
|
if (!is_integer($i / 2)) {
|
|
$row_colour = $config['list_colour']['even'];
|
|
} else {
|
|
$row_colour = $config['list_colour']['odd'];
|
|
}
|
|
|
|
if ($port['ifInErrors_delta'] > 0 || $port['ifOutErrors_delta'] > 0) {
|
|
$error_img = generate_port_link($port, "<i class='fa fa-flag fa-lg' style='color:red' aria-hidden='true'></i>", 'port_errors');
|
|
} else {
|
|
$error_img = '';
|
|
}
|
|
|
|
echo "<tr style=\"background-color: $row_colour; padding: 5px;\" valign=top onmouseover=\"this.style.backgroundColor='{$config['list_colour']['highlight']}';\" onmouseout=\"this.style.backgroundColor='$row_colour';\"
|
|
onclick=\"location.href='device/".$device['device_id'].'/port/'.$port['port_id']."/'\" style='cursor: pointer;'>
|
|
<td valign=top width=350>";
|
|
echo ' <span class=list-large>
|
|
'.generate_port_link($port, $port['ifIndex'].'. '.$port['label']).'
|
|
</span><br /><span class=interface-desc>'.display($port['ifAlias']).'</span>';
|
|
|
|
if ($port['ifAlias']) {
|
|
echo '<br />';
|
|
}
|
|
|
|
unset($break);
|
|
if ($port_details) {
|
|
foreach (dbFetchRows('SELECT * FROM `ipv4_addresses` WHERE `port_id` = ?', array($port['port_id'])) as $ip) {
|
|
echo "$break <a class=interface-desc href=\"javascript:popUp('ajax/netcmd?cmd=whois&query=".$ip['ipv4_address']."')\">".$ip['ipv4_address'].'/'.$ip['ipv4_prefixlen'].'</a>';
|
|
$break = ',';
|
|
}
|
|
|
|
foreach (dbFetchRows('SELECT * FROM `ipv6_addresses` WHERE `port_id` = ?', array($port['port_id'])) as $ip6) {
|
|
;
|
|
echo "$break <a class=interface-desc href=\"javascript:popUp('ajax/netcmd?cmd=whois&query=".$ip6['ipv6_address']."')\">".IP::parse($ip6['ipv6_address'], true).'/'.$ip6['ipv6_prefixlen'].'</a>';
|
|
$break = ',';
|
|
}
|
|
}
|
|
|
|
echo '</span>';
|
|
|
|
$width = '120';
|
|
$height = '40';
|
|
$from = $config['time']['day'];
|
|
|
|
echo '</td><td width=135>';
|
|
echo (formatRates(($port['ifInOctets_rate'] * 8))." <i class='fa fa-arrows-v fa-lg icon-theme' aria-hidden='true'></i> ".formatRates(($port['ifOutOctets_rate'] * 8)));
|
|
echo '<br />';
|
|
$port['graph_type'] = 'port_bits';
|
|
echo generate_port_link(
|
|
$port,
|
|
"<img src='graph.php?type=".$port['graph_type'].'&id='.$port['port_id'].'&from='.$from.'&to='.$config['time']['now'].'&width='.$width.'&height='.$height.'&legend=no&bg='.str_replace('#', '', $row_colour)."'>",
|
|
$port['graph_type']
|
|
);
|
|
|
|
echo '</td><td width=135>';
|
|
echo ''.formatRates($port['adslAturChanCurrTxRate']).'/'.formatRates($port['adslAtucChanCurrTxRate']);
|
|
echo '<br />';
|
|
$port['graph_type'] = 'port_adsl_speed';
|
|
echo generate_port_link(
|
|
$port,
|
|
"<img src='graph.php?type=".$port['graph_type'].'&id='.$port['port_id'].'&from='.$from.'&to='.$config['time']['now'].'&width='.$width.'&height='.$height.'&legend=no&bg='.str_replace('#', '', $row_colour)."'>",
|
|
$port['graph_type']
|
|
);
|
|
|
|
echo '</td><td width=135>';
|
|
echo ''.formatRates($port['adslAturCurrAttainableRate']).'/'.formatRates($port['adslAtucCurrAttainableRate']);
|
|
echo '<br />';
|
|
$port['graph_type'] = 'port_adsl_attainable';
|
|
echo generate_port_link(
|
|
$port,
|
|
"<img src='graph.php?type=".$port['graph_type'].'&id='.$port['port_id'].'&from='.$from.'&to='.$config['time']['now'].'&width='.$width.'&height='.$height.'&legend=no&bg='.str_replace('#', '', $row_colour)."'>",
|
|
$port['graph_type']
|
|
);
|
|
|
|
echo '</td><td width=135>';
|
|
echo ''.$port['adslAturCurrAtn'].'dB/'.$port['adslAtucCurrAtn'].'dB';
|
|
echo '<br />';
|
|
$port['graph_type'] = 'port_adsl_attenuation';
|
|
echo generate_port_link(
|
|
$port,
|
|
"<img src='graph.php?type=".$port['graph_type'].'&id='.$port['port_id'].'&from='.$from.'&to='.$config['time']['now'].'&width='.$width.'&height='.$height.'&legend=no&bg='.str_replace('#', '', $row_colour)."'>",
|
|
$port['graph_type']
|
|
);
|
|
|
|
echo '</td><td width=135>';
|
|
echo ''.$port['adslAturCurrSnrMgn'].'dB/'.$port['adslAtucCurrSnrMgn'].'dB';
|
|
echo '<br />';
|
|
$port['graph_type'] = 'port_adsl_snr';
|
|
echo generate_port_link(
|
|
$port,
|
|
"<img src='graph.php?type=".$port['graph_type'].'&id='.$port['port_id'].'&from='.$from.'&to='.$config['time']['now'].'&width='.$width.'&height='.$height.'&legend=no&bg='.str_replace('#', '', $row_colour)."'>",
|
|
$port['graph_type']
|
|
);
|
|
|
|
echo '</td><td width=135>';
|
|
echo ''.$port['adslAturCurrOutputPwr'].'dBm/'.$port['adslAtucCurrOutputPwr'].'dBm';
|
|
echo '<br />';
|
|
$port['graph_type'] = 'port_adsl_power';
|
|
echo generate_port_link(
|
|
$port,
|
|
"<img src='graph.php?type=".$port['graph_type'].'&id='.$port['port_id'].'&from='.$from.'&to='.$config['time']['now'].'&width='.$width.'&height='.$height.'&legend=no&bg='.str_replace('#', '', $row_colour)."'>",
|
|
$port['graph_type']
|
|
);
|
|
|
|
echo '</td>';
|