Sort by Traffic in "Device Port" page

This commit is contained in:
Joni Lee
2015-11-26 17:56:14 +08:00
parent 9bf3665706
commit d6116f2f98

View File

@ -121,8 +121,19 @@ else {
if ($vars['view'] == 'details') {
$port_details = 1;
}
?>
<div style='margin: 0px;'><table class='table'>
<tr>
<th width="350">Port</th>
<th width="100"></th>
<th width="120"><a href="<?php echo generate_url($vars, array('sort' => "traffic")); ?>">Traffic</a></th>
<th width="75">Speed</th>
<th width="100">Media</th>
<th width="100">Mac Address</th>
<th width="375"></th>
</tr>
<?php
echo "<div style='margin: 0px;'><table class='table'>";
$i = '1';
global $port_cache, $port_index_cache;
@ -130,11 +141,15 @@ else {
$ports = dbFetchRows("SELECT * FROM `ports` WHERE `device_id` = ? AND `deleted` = '0' ORDER BY `ifIndex` ASC", array($device['device_id']));
// As we've dragged the whole database, lets pre-populate our caches :)
// FIXME - we should probably split the fetching of link/stack/etc into functions and cache them here too to cut down on single row queries.
foreach ($ports as $port) {
foreach ($ports as $key => $port) {
$port_cache[$port['port_id']] = $port;
$port_index_cache[$port['device_id']][$port['ifIndex']] = $port;
$ports[$key]["ifOctets_rate"] = $port["ifInOctets_rate"] + $port["ifOutOctets_rate"];
}
$ports = array_sort($ports, 'ifOctets_rate', SORT_DESC);
foreach ($ports as $port) {
include 'includes/print-interface.inc.php';
$i++;