}else{ $ifstat = "alrm"; } }else{ $ifstat = "imga"; } if($rport == $po){$rpimg = "<img src=\"img/16/home.png\" title=Rootport>";} if($pstate[$po] == 1 or $pstate[$po] == "disabled"){$pst = "<img src=\"img/16/bcls.png\" title=\"STP disabled\">";} elseif($pstate[$po] == 2 or $pstate[$po] == "blocking"){$pst = "<img src=\"img/16/bstp.png\" title=\"STP blocking\">";} elseif($pstate[$po] == 3 or $pstate[$po] == "listening"){$pst = "<img src=\"img/16/bup.png\" title=\"STP listening\">";} elseif($pstate[$po] == 4 or $pstate[$po] == "learning"){$pst = "<img src=\"img/16/brld.png\" title=\"STP learning\">";} elseif($pstate[$po] == 5 or $pstate[$po] == "forwarding"){$pst = "<img src=\"img/16/brgt.png\" title=\"STP forwarding\">";} else{$pst = "<img src=\"img/16/bcls.png\" title=\"broken\">";} $ui = urlencode($ifn[$ix]); list($ifimg,$iftit) = Iftype($ift[$ix]); TblRow($bg); echo "<th class=\"$ifstat\" width=\"20\"><img src=\"img/$ifimg\" title=\"$ix - $iftit\"></th>\n"; echo "<th class=\"$bi\" width=\"20\">$pst $sten $rpimg</th><td>\n"; if($ifstat == "good" and $guiauth != 'none' and !isset($_GET['print'])){ echo "<div style=\"font-weight: bold\" class=\"blu\" title=\"$rltlbl $trflbl\" onclick=\"window.open('inc/rt-popup.php?d=$debug&ip=$ip&v=$rv&c=$rc&i=$ix&t=$ud&in=$ui','$ip_$ix','scrollbars=0,menubar=0,resizable=1,width=600,height=400')\">$ifn[$ix]</div></td>\n"; }else{ echo "<b>$ifn[$ix]</b></td>\n"; } echo "<td align=\"right\">$pcost[$po]</td><td align=\"right\">".DecFix($ifs[$ix])."</td><td>$ifi[$ix]</td>\n"; if($shg){ echo "<td nowrap align=\"center\">\n"; IfGraphs($ud, $ui, $ifs[$i], ($_SESSION['gsiz'] == 4)?2:1 ); echo "</td>"; } echo "</tr>\n";
function StatusIf($loc, $mode) { global $link, $rrdstep, $trfa, $modgroup, $self, $trflbl, $errlbl, $inblbl, $oublbl, $tim, $firstmsg; if ($mode == "brup") { $label = "{$inblbl} {$errlbl}"; $query = GenQuery('interfaces', 's', 'device,ifname,speed,iftype,dinerr', 'dinerr desc', $_SESSION['lim'], array('dinerr', 'iftype', 'location'), array('>', '!=', 'like'), array("{$rrdstep}", '71', $loc), array('AND', 'AND'), 'JOIN devices USING (device)'); } elseif ($mode == "brdn") { $label = "{$oublbl} {$errlbl}"; $query = GenQuery('interfaces', 's', 'device,ifname,speed,iftype,douterr', 'douterr desc', $_SESSION['lim'], array('douterr', 'iftype', 'location'), array('>', '!=', 'like'), array("{$rrdstep}", '71', $loc), array('AND', 'AND'), 'JOIN devices USING (device)'); } elseif ($mode == "bbup") { $label = "{$inblbl} {$trflbl}"; $query = GenQuery('interfaces', 's', "device,ifname,speed,iftype,dinoct/speed/{$rrdstep}*800", 'dinoct/speed desc', $_SESSION['lim'], array('speed', "dinoct/speed/{$rrdstep}*800", 'location'), array('>', '>', 'like'), array(0, $trfa, $loc), array('AND', 'AND'), 'JOIN devices USING (device)'); } elseif ($mode == "bbdn") { $label = "{$inblbl} {$trflbl}"; $query = GenQuery('interfaces', 's', "device,ifname,speed,iftype,doutoct/speed/{$rrdstep}*800", 'doutoct/speed desc', $_SESSION['lim'], array('speed', "doutoct/speed/{$rrdstep}*800", 'location'), array('>', '>', 'like'), array(0, $trfa, $loc), array('AND', 'AND'), 'JOIN devices USING (device)'); } elseif ($mode == "bdis") { $label = "Disabled {$tim['t']}"; $query = GenQuery('interfaces', 's', 'device,ifname,speed,iftype,ifstat,lastchg', 'lastchg desc', $_SESSION['lim'], array('ifstat', 'iftype', 'lastchg', 'location'), array('=', '!=', '>', 'like'), array('0', '53', $firstmsg, $loc), array('AND', 'AND'), 'JOIN devices USING (device)'); } $res = DbQuery($query, $link); if ($res) { $nr = DbNumRows($res); if ($nr) { ?> <p> <table class="content"><tr class="<?php echo $modgroup[$self]; ?> 2"> <th colspan="2"><img src="img/16/port.png" title="Top <?php echo $_SESSION['lim']; ?> "><br>Interface</th><th><img src="img/16/<?php echo $mode; ?> .png" title="<?php echo $label; ?> "><br><?php echo substr($label, 0, 3); ?> </th> <?php $row = 0; while ($r = DbFetchRow($res)) { if ($row % 2) { $bg = "txta"; $bi = "imga"; $off = 200; } else { $bg = "txtb"; $bi = "imgb"; $off = 185; } $row++; $bg3 = sprintf("%02x", $off); $tb = $type ? $r[4] * 5 : ($r[4] - $trfa) * 2; if ($tb > 55) { $tb = 55; } $rb = sprintf("%02x", $tb + $off); $t = substr($r[0], 0, strpos($r[0], '.')); $t = strlen($t) < 4 ? $r[0] : $t; $ud = urlencode($r[0]); $ui = urlencode($r[1]); if ($mode == "bdis") { $rb = $bg3; $stat = date($_SESSION['date'], $r[5]); } elseif ($mode == "brup" or $mode == "brdn") { $stat = DecFix($r[4]); } else { $stat = sprintf("%1.1f", $r[4]) . " %"; } list($ifimg, $iftit) = Iftype($r[3]); echo "<tr class=\"{$bg}\"><th class=\"{$bi}\" width=\"25\"><img src=img/{$ifimg} title=\"{$iftit}\">"; if ($_SESSION['gsiz'] == 6) { echo "</th><td>{$t} {$r['1']}</td><th bgcolor=\"#{$rb}{$rb}{$bg3}\">"; } else { echo "</th><td><a href=Devices-Status.php?dev={$ud}&pop=on>{$t}</a> "; echo "<a href=Nodes-List.php?in[]=device&op[]==&st[]={$ud}&co[]=AND&in[]=ifname&op[]==&st[]={$ui}>{$r['1']}</a> " . DecFix($r[2]) . "</td><th bgcolor=\"#{$rb}{$rb}{$bg3}\">\n"; } echo "{$stat}</th></tr>\n"; } echo "</table>\n"; } elseif (!$_SESSION['gsiz'] or $_SESSION['gsiz'] == 6) { ?> <p><img src="img/32/<?php echo $mode; ?> .png" title="<?php echo $label; ?> " hspace="8"><img src="img/32/bchk.png" title="OK"> <?php } DbFreeResult($res); } else { print DbError($link); } }
$row = 0; foreach (array_keys($r) as $rd) { if ($row % 2) { $bg = $bga; $bi = $bia; } else { $bg = $bgb; $bi = $bib; } $row++; $if = $ina[$r[$rd]['ifx']] . " " . $ial[$r[$rd]['ifx']] . " " . $icm[$r[$rd]['ifx']]; $spd = ZFix($isp[$r[$rd]['ifx']]); $rpimg = RteProto($r[$rd]['pro']); $unh = rawurlencode($netif[$r[$rd]['nho']]); list($pfix, $msk, $bmsk) = Masker($r[$rd]['msk']); list($ifimg, $iftit) = Iftype($ity[$r[$rd]['ifx']]); list($ntimg, $ntit) = Nettype($rd); echo "<tr bgcolor=#{$bg}>"; echo "<td bgcolor={$bi} width=20 align=center><img src=img/16/{$ntimg} title={$ntit}></td>\n"; echo "<td><a href=Topology-Map.php?ina=network&flt={$rd}%2F{$pfix}&draw=1>{$rd}/{$pfix}</a></td>\n"; echo "<td>" . $r[$rd]['nho'] . " <a href=?rtr={$unh}>" . $netif[$r[$rd]['nho']] . "</a></td><td><img src=img/{$ifimg} title={$iftit} hspace=4> {$if}</td>\n"; echo "<td align=right>{$spd}</td><td align=center>" . $r[$rd]['me1'] . "</td>\n"; echo "<td><img src=img/16/{$rpimg}.png> " . $r[$rd]['pro'] . "</td><td align=right>" . $r[$rd]['age'] . "</td>\n"; echo "</tr>\n"; } echo "</table><table bgcolor=#666666 {$tabtag} >\n"; echo "<tr bgcolor=#{$bg2}><td>{$row} entries in route table</td></tr></table>\n"; } include_once "inc/footer.php"; //=================================================================== // Get routes of a device
if( in_array("graphs",$col) ){echo "<th>Graphs</th>";} echo "</tr>\n"; $link = @DbConnect($dbhost,$dbuser,$dbpass,$dbname); $query = GenQuery('interfaces','s','*',$ord,'',array($ina,$inb),array($opa,$opb),array($sta,$stb),array($cop) ); $res = @DbQuery($query,$link); if($res){ $row = 0; while( ($if = @DbFetchRow($res)) ){ if ($row % 2){$bg = "txta"; $bi = "imga";}else{$bg = "txtb"; $bi = "imgb";} $row++; $ud = rawurlencode($if[0]); $ui = rawurlencode($if[1]); echo "<tr class=\"$bg\">"; if(in_array("ifname",$col)){ list($ifimg,$iftit) = Iftype($if[4]); echo "<th class=\"$bi\"><img src=\"img/$ifimg\" title=\"$iftit\"></th>"; } echo "<td><a href=Nodes-List.php?ina=device&opa==&sta=$ud&cop=AND&inb=ifname&opb==&stb=$ui>$if[1]</a></td>\n"; if(in_array("device",$col)){ echo "<td><a href=Devices-Status.php?dev=$ud>$if[0]</a></td>\n"; } if(in_array("ifidx",$col)){echo "<td align=right>$if[2]</td>";} if(in_array("type",$col)){echo "<td align=right>$if[4]</td>";} if(in_array("mac",$col)){echo "<td>$if[5]</td>";} if(in_array("description",$col)){echo "<td>$if[6]</td>";} if(in_array("alias",$col)){echo "<td>$if[7]</td>";} if(in_array("status",$col)){echo "<td align=right>$if[8]</td>";} if(in_array("speed",$col)){echo "<td align=right>".ZFix($if[9])."</td>";} if(in_array("duplex",$col)){echo "<td>$if[10]</td>";} if(in_array("vlid",$col)){echo "<td align=right>$if[11]</td>";}
function IntChart($mode, $dir, $ina, $opa, $sta, $lim, $ord, $opt) { global $link, $modgroup, $self, $rrdstep; global $laslbl, $totlbl, $loclbl, $locsep, $conlbl, $srtlbl, $trflbl, $errlbl, $inblbl, $oublbl, $idxlbl, $spdlbl, $acslbl, $nonlbl; $unt = ""; $grf = intval($_SESSION['gsiz'] / 2); $dti = $dir == "in" ? $inblbl : $oublbl; if ($opt) { $pes = 0; $d = ""; $bam = "si"; $abs = $totlbl; } else { $pes = 1; $d = "d"; $bam = "mi"; $abs = $laslbl; } if ($ord) { $ocol = "aval desc"; $sopt = ""; } else { $ocol = "rval desc"; $sopt = $mode == "trf" ? "/ {$spdlbl}" : "/ {$trflbl}"; } if ($mode == "trf") { $pes = 0; $col = "oct"; $tit = $trflbl; $ico = $dir == "in" ? "bbup" : "bbdn"; if ($opt) { $rel = "{$d}{$dir}oct/speed"; } else { $rel = "{$d}{$dir}oct/{$rrdstep}*8000/speed"; } $qry = GenQuery('interfaces', 's', "device,contact,location,icon,ifname,speed,iftype,ifidx,comment,alias,{$d}{$dir}oct as aval,{$rel} as rval", $ocol, $lim, array('speed', $ina), array('>', $opa), array('0', $sta), array('AND'), 'LEFT JOIN devices USING (device)'); } elseif ($mode == "err") { $col = "err"; $tit = $errlbl; $ico = $dir == "in" ? "brup" : "brdn"; $qry = GenQuery('interfaces', 's', "device,contact,location,icon,ifname,speed,iftype,ifidx,comment,alias,{$d}{$dir}{$col} as aval,{$d}{$dir}{$col}/{$d}{$dir}oct as rval", $ocol, $lim, array('iftype', "{$d}{$dir}{$col}", $ina), array('!=', '>', $opa), array('71', 0, $sta), array('AND', 'AND'), 'LEFT JOIN devices USING (device)'); } elseif ($mode == "dsc") { $col = "dis"; $tit = "Discards"; $ico = $dir == "in" ? "bbu2" : "bbd2"; $qry = GenQuery('interfaces', 's', "device,contact,location,icon,ifname,speed,iftype,ifidx,comment,alias,{$d}{$dir}{$col} as aval,{$d}{$dir}{$col}/{$d}{$dir}oct as rval", $ocol, $lim, array('iftype', "{$d}{$dir}{$col}", $ina), array('!=', '>', $opa), array('71', 0, $sta), array('AND', 'AND'), 'LEFT JOIN devices USING (device)'); } elseif ($mode == "brc") { $tit = "{$acslbl} Broadcasts"; $ico = "wlan"; $qry = GenQuery('interfaces', 's', "device,contact,location,icon,ifname,speed,iftype,ifidx,comment,alias,{$d}inbrc as aval,{$d}inbrc/{$d}inoct as rval", $ocol, $lim, array('comment', "{$d}inoct", $ina), array('!~', '>', $opa), array('DP:|MAC:', 0, $sta), array('AND', 'AND'), 'LEFT JOIN devices USING (device)'); } echo "<h2>{$abs} {$tit} {$dti}</h2>\n"; $res = DbQuery($qry, $link); if (DbNumRows($res)) { ?> <table class="content"> <tr class="<?php echo $modgroup[$self]; ?> 2"> <th colspan="2" width="30%"><img src="img/16/dev.png"><br>Device</th> <th><img src="img/16/port.png"><br>IF</th> <th colspan="2"><img src="img/16/<?php echo $ico; ?> .png"><br><?php echo $tit; ?> </th> </tr> <?php $row = 0; while ($r = DbFetchRow($res)) { if ($row % 2) { $bg = "txta"; $bi = "imga"; } else { $bg = "txtb"; $bi = "imgb"; } $row++; $ud = urlencode($r[0]); $ui = urlencode($r[4]); $l = explode($locsep, $r[2]); list($ifimg, $iftyp) = Iftype($r[6]); if ($grf) { if ($mode == "trf") { $gop = $r[5]; } elseif ($mode == "err") { $gop = 1; } else { $gop = 0; } $gr = "<img src=\"inc/drawrrd.php?dv={$ud}&if%5B%5D={$ui}&s={$grf}&t={$mode}&o={$gop}\" title=\"" . ($pes ? round($r[10] / $rrdstep, 1) . '/s' : DecFix($r[10])) . "\">"; } else { $gr = DecFix($r[10]); } TblRow($bg); echo "<th class=\"{$bi}\"><a href=\"Devices-Status.php?dev={$ud}\"><img src=\"img/dev/{$r['3']}.png\" title=\"{$conlbl}: {$r['1']}, {$loclbl}: {$l['0']} {$l['1']} {$l['2']}\"></a></th>\n"; echo "<td><b>" . substr($r[0], 0, $_SESSION['lsiz']) . "</b></td>\n"; echo "<td><img src=\"img/{$ifimg}\" title=\"{$iftyp} {$idxlbl} {$r['7']}\"><a href=\"Nodes-List.php?in[]=device&op[]==&st[]={$ud}&co[]=AND&in[]=ifname&op[]==&st[]={$ui}\">{$r['4']}</a> " . DecFix($r[5]) . " {$r['8']} {$r['9']}</td>\n"; echo "<th><a href=\"Devices-Graph.php?dv={$ud}&if%5B%5D={$ui}&it%5B%5D=" . substr($mode, 0, 1) . "\">{$gr}</a></th>\n"; echo "<td nowrap>"; if ($mode == "trf" and !$opt) { echo Bar($r[11] / 10, 45) . ' ' . round($r[11] / 10, 1) . '%'; } elseif ($mode == "brc") { echo Bar($r[10], "lvl100", $bam) . " " . DecFix($r[10]); } else { echo Bar($r[10], 10, $bam) . " " . DecFix($r[10]); } echo "</td></tr>\n"; } ?> </table> <table class="content" > <tr class="<?php echo $modgroup[$self]; ?> 2"><td><?php echo $row; ?> IF, <?php echo $srtlbl; ?> : <?php echo $tit; ?> <?php echo $sopt; ?> </td></tr> </table> <p> <?php } else { echo "<h5>{$nonlbl}</h5>"; } }
function StatusIf($mode) { global $link, $lim, $rrdstep, $trfa, $tabtag, $bia, $bib, $bg2; if ($mode == "ie") { $doerr = 1; $query = GenQuery('interfaces', 's', 'device,ifname,speed,type,dinerr', 'dinerr desc', $lim, array('dinerr'), array('>'), array("{$rrdstep}")); $label = "In Err"; $btn = "rbup"; } elseif ($mode == "oe") { $doerr = 1; $query = GenQuery('interfaces', 's', 'device,ifname,speed,type,douterr', 'douterr desc', $lim, array('douterr'), array('>'), array("{$rrdstep}")); $label = "Out Err"; $btn = "rbdn"; } elseif ($mode == "it") { $doerr = 0; $query = GenQuery('interfaces', 's', "device,ifname,speed,type,dinoct*800/speed/{$rrdstep}", 'dinoct/speed desc', $lim, array("dinoct*800/speed/{$rrdstep}"), array('>'), array($trfa)); $label = "In Octets"; $btn = "bbup"; } elseif ($mode == "ot") { $doerr = 0; $query = GenQuery('interfaces', 's', "device,ifname,speed,type,doutoct*800/speed/{$rrdstep}", 'doutoct/speed desc', $lim, array("doutoct*800/speed/{$rrdstep}"), array('>'), array($trfa)); $label = "Out Octets"; $btn = "bbdn"; } $res = @DbQuery($query, $link); if ($res) { $nr = @DbNumRows($res); if ($nr) { ?> <p><table bgcolor=#666666 cellspacing=1 cellpadding=2 width=100% ><tr bgcolor=<?php echo $bg2; ?> > <th colspan=2><img src=img/16/dumy.png title="Top <?php echo $lim; ?> "><br>Interface</th><th><img src=img/16/<?php echo $btn; ?> .png><br><?php echo $label; ?> </th> <?php $row = 0; while ($t = @DbFetchRow($res)) { if ($row % 2) { $off = 180; $bi = $bib; } else { $off = 195; $bi = $bia; } $row++; $bg3 = sprintf("%02x", $off); $tb = $doerr ? $t[4] * 5 : ($t[4] - $trfa) * 2; if ($tb > 55) { $tb = 55; } $rb = sprintf("%02x", $tb + $off); $ud = rawurlencode($t[0]); $ui = rawurlencode($t[1]); list($ifimg, $iftit) = Iftype($t[3]); echo "<tr bgcolor=#{$rb}{$bg3}{$bg3}><th bgcolor=#{$bi}><img src=img/{$ifimg} title=\"{$iftit}\">"; echo "</th><td><a href=Devices-Status.php?dev={$ud}&shg=on&shp=on>{$t['0']}</a> "; echo "<a href=Nodes-List.php?ina=device&opa==&sta={$ud}&cop=AND&inb=ifname&opb==&stb={$ui}>{$t['1']}</a></td>\n"; if ($doerr) { echo "<th>{$t['4']}</th></tr>\n"; } else { echo "<th>" . sprintf("%1.1f", $t[4]) . " %</th></tr>\n"; } } echo "</table>\n"; } else { ?> <p><img src=img/32/<?php echo $btn; ?> .png title="<?php echo $label; ?> " hspace=8><img src=img/32/bchk.png title="OK"><?php } @DbFreeResult($res); } else { print @DbError($link); } }
if(in_array("arpval",$col)){ TblCell($n[15],"?in[]=arpval&op[]==&st[]=$n[15]","align=\"right\"");} if(in_array("firstseen",$col)){ TblCell(date($datfmt,$n[4]),"?in[]=firstseen&op[]==&st[]=$n[4]","nowrap bgcolor=\"#$fc\""); } if(in_array("lastseen",$col)){ TblCell(date($datfmt,$n[5]),"?in[]=lastseen&op[]==&st[]=$n[5]","nowrap bgcolor=\"#$lc\""); } if( in_array("device",$col) ){ TblCell($n[6],"?in[]=device&op[]==&st[]=$ud&ord=ifname","nowrap","<a href=\"Devices-Status.php?dev=$ud&pop=on\"><img src=\"img/16/sys.png\"></a>"); } if(in_array("type",$col)){ TblCell( $n[23],"?in[]=type&op[]==&st[]=".urlencode($n[23]) );} if(in_array("location",$col)){ TblCell( $n[24],"?in[]=location&op[]==&st[]=".urlencode($n[24]) );} if(in_array("contact",$col)){ TblCell( $n[25],"?in[]=contact&op[]==&st[]=".urlencode($n[25]) );} if( in_array("ifname",$col) ){ list($ifimg,$iftit) = Iftype($n[26]); list($ifbg,$ifst) = Ifdbstat($n[29]); TblCell($n[7],"?in[]=device&op[]==&in[]=ifname&op[]==&st[]=$ud&co[]=AND&st[]=$ui","class=\"$ifbg\"","<img src=\"img/$ifimg\" title=\"$iftit, $ifst\">",'td-img'); } if(in_array("ifdesc",$col)){ TblCell($n[27]);} if(in_array("alias",$col)){ TblCell($n[28]);} if(in_array("speed",$col)){ TblCell( DecFix($n[30]),"","align=\"right\"" );} if(in_array("duplex",$col)) {TblCell($n[31]);} if(in_array("vlanid",$col)) {TblCell( ($n[9] < 255)?"SSID:$n[8]":$n[8],"?in[]=vlanid&op[]==&st[]=$n[8]","align=\"right\"");} if(in_array("pvid",$col)) {TblCell( ($n[9] < 255)?"CH:$n[32]":$n[32],"?in[]=vlanid&op[]==&st[]=$n[8]","align=\"right\"");} if(in_array("ifmetric",$col)){ TblCell( (($n[9] < 255)?Bar($n[9],-30,'mi')." $n[9]db":"$n[9]"),"?in[]=ifmetric&op[]==&st[]=$n[9]","nowrap" );} if(in_array("ifupdate",$col)){ list($i1c,$i2c) = Agecol($n[10],$n[10],$row % 2); TblCell( date($datfmt,$n[10]),"","nowrap bgcolor=\"#$i1c\""); } if(in_array("ifchanges",$col)){ TblCell($n[11],"?in[]=ifchanges&op[]==&st[]=$n[11]");}