<?php
#Network Traffic Monitor is an application to monitor the network traffic on all SNMP managable devices.
#
#Copyright (c) 2004, Daimler Trust nv <hide@address.com> - Jan Van Hees <hide@address.com>
#
#This file is part of Network Traffic Monitor.
#
# Network Traffic Monitor is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# Network Traffic Monitor is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Network Traffic Monitor; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/*
* This script provides a list of all linked devices
*/
require_once("../auth.php");
require_once ("../config.php");
require_once ("HTML/Template/IT.php");
require_once "HTML/Table.php";
if($_POST['port']){
header("Location: error.php");
exit;
}
$gid = $_GET['g'];
$db = dbLogin();
$tpl = new HTML_Template_IT(TEMPLATEDIR);
$tpl->loadTemplatefile("basic.tpl");
$tpl->setVariable("title","Ports");
#if it is a regular user, he can only C his own ports
if($gid){
$sql = "SELECT devices.devicename,devices.host, ports.portname, groups.groupname, groups.gid, speed.mbit, ports.pid, devices.did FROM ports
INNER JOIN devices ON ports.did = devices.did
INNER JOIN portgroups ON ports.pid = portgroups.pid
INNER JOIN groups ON portgroups.gid = groups.gid
INNER JOIN speed ON ports.speed=speed.spid
where groups.gid=$gid
ORDER BY devices.devicename";
}//if gid
# Admin or finance can C all ports from all users
else{
$sql = "SELECT devices.devicename,devices.host, ports.portname, groups.groupname, groups.gid, speed.mbit, ports.pid, devices.did FROM ports
INNER JOIN devices ON ports.did = devices.did
INNER JOIN portgroups ON ports.pid = portgroups.pid
INNER JOIN groups ON portgroups.gid = groups.gid
INNER JOIN speed ON ports.speed=speed.spid
ORDER BY devices.devicename";
}//else
$temp = $db->query($sql);
$i = 0;
while ($row = $temp->fetchrow()){
$group = "<a href=\"groupusers?g=$row[4]&name=$row[3]\">$row[3]</a>";
$act = "<a href=\"editdevice.php?p=$row[6]&g=$row[4]&d=$row[7]\"> E </a> / <a href=\"delete.php?type=port&i=$row[6]\">D</a>";
$spee = "$row[5] Mbit/s";
$arr = array($row[0], $row[1], $row[2], $spee, $row[3], $act);
$data[$i]=$arr;
$i++;
}//while fetchrow
//create table
$tableAttrs = array("width" => "800");
$table = new HTML_Table($tableAttrs);
$table -> setAutoGrow(true);
for($nr = 0 ; $nr < count($data); $nr++) {
for($i = 0; $i < 6; $i++) {
if("" != $data[$nr][$i])
$table -> setCellContents( $nr+1, $i+1, $data[$nr][$i]);
}//for
}//for
$altRow = array("bgcolor"=>"silver");
$table -> altRowAttributes(1, null, $altRow);
$table -> setHeaderContents(0, 1, "Device");
$table -> setHeaderContents(0, 2, "Host");
$table -> setHeaderContents(0, 3, "Portname");
$table -> setHeaderContents(0, 4, "Speed");
$table -> setHeaderContents(0, 5, "Group");
$table -> setHeaderContents(0, 6, " ");
$hrAttrs = array("bgcolor" => "silver");
$table -> setRowAttributes(0, $hrAttrs, true);
$tpl->setVariable("data",$table->toHTML());
$tpl->setVariable("add", "<a href=\"addport.php\">Link Port</a>");
$content = $tpl->get();
fillFrame($db, $content);
dblogout($db);
?>