function TopoRegs($siz = 0) { global $link, $debug, $map, $manlbl, $dreg, $locsep, $bg2, $netlbl, $addlbl, $loclbl, $poplbl; echo "<h2>{$manlbl} {$netlbl}</h2>\n"; echo "<table class=\"content fixed\"><tr>\n"; $col = 0; ksort($dreg); foreach (array_keys($dreg) as $r) { $ur = urlencode($r); $nd = $dreg[$r]['nd']; $mn = isset($dreg[$r]['mn']) ? $dreg[$r]['mn'] : 0; $al = isset($dreg[$r]['al']) ? $dreg[$r]['al'] : 0; list($statbg, $stat) = StatusBg($nd, $mn, $al, 'imga'); if ($col == $_SESSION['col']) { $col = 0; echo "</tr><tr>"; } echo "<td valign=\"bottom\" class=\"{$statbg}\"><center>\n"; $mstat = $mn ? "{$mn} Monitored {$stat}" : ""; if ($siz) { echo "<a href=?reg={$ur}><img src=\"img/32/glob.png\" title=\"{$nd} Devices {$mstat}\"></a><br>" . substr($r, 0, $_SESSION['lsiz']) . "\n"; } else { $qmap = $ur; $s = $_SESSION['gsiz'] < 3 ? "160x120" : "240x160"; $rp = preg_replace('/\\W/', '', $r); if ($rp and $map) { if (!file_exists("topo/{$rp}") and !$_SESSION['snap']) { mkdir("topo/{$rp}"); } if ($map > 1) { $loced = ''; $ns = $ew = 0; $query = GenQuery('locations', 's', 'id,x,y,ns,ew,locdesc', '', '', array('region', 'city', 'building'), array('=', '=', '='), array($r, '', ''), array('AND', 'AND')); $res = DbQuery($query, $link); if (DbNumRows($res)) { list($id, $x, $y, $ns, $ew, $des) = DbFetchRow($res); echo "{$des}<br>"; $loced = ''; } else { $loced = "<a href=\"Topology-Loced.php?reg={$ur}\"><img src=\"img/16/ncfg.png\" title=\"{$addlbl}\"><a/>"; } if ($ns and $ew) { $ns /= 10000000; $ew /= 10000000; $qmap = "{$ns},{$ew}"; } if ($_SESSION['map']) { echo "<a href=\"?reg={$ur}&map={$map}\"><img src=\"http://maps.google.com/maps/api/staticmap?zoom=5&size={$s}&maptype=roadmap&sensor=false&markers=color:blue%7C{$qmap}\" title=\"{$nd} Devices {$mstat}, {$com}\" style=\"border:1px solid black\"></a><br>\n"; echo "{$loced}<a href=\"http://maps.google.com/maps?q={$qmap}\" target=\"window\"><img src=\"img/16/map.png\" title=\"Googlemaps\"></a>\n"; } else { if ($_SESSION['snap']) { $cache = "img/glob.png"; } else { $cache = "topo/{$rp}/osm-{$s}.png"; if (!file_exists($cache) and ini_get('allow_url_fopen')) { if (!$ns and !$ew) { $url = "http://nominatim.openstreetmap.org/search?format=json&limit=1&q={$qmap}"; $geo = json_decode(file_get_contents($url), TRUE); if ($debug) { echo "<div class=\"textpad code good\"><b>{$url}</b><p>"; print_r($geo); echo '</div>'; } if ($geo) { $qmap = $geo[0][lat] . "," . $geo[0][lon]; } } file_put_contents($cache, file_get_contents("http://staticmap.openstreetmap.de/staticmap.php?center={$qmap}&zoom=5&size={$s}")); } } echo "<a href=\"?reg={$ur}&map={$map}\"><img src=\"{$cache}\" title=\"{$nd} Devices {$mstat}\" style=\"border:1px solid black\"></a><br>\n"; echo "{$loced}<a href=\"http://nominatim.openstreetmap.org/search.php?q={$qmap}\" target=\"window\"><img src=\"img/16/osm.png\" title=\"Openstreetmap\"></a>\n"; } } else { if (file_exists("topo/{$rp}/map-{$s}.png")) { echo "<a href=\"?reg={$ur}&map={$map}\"><img src=\"topo/{$rp}/map-{$s}.png\" title=\"{$nd} Devices {$mstat}\" style=\"border:1px solid black\"></a><br>\n"; } else { echo "<a href=\"?reg={$ur}&map={$map}\"><img src=\"inc/drawmap.php?st[]=^{$ur}&dim={$s}&lev=2&pos=s\" title=\"{$nd} Devices {$mstat}\" style=\"border:1px solid black\"></a><br>\n"; } $pop = NodPop(array('location'), array('like'), array("{$r}{$locsep}%"), array()); } } else { echo "<a href=\"?reg={$ur}\"><img src=\"img/32/glob.png\" title=\"{$nd} Devices {$mstat}\"></a><br>\n"; } echo "<a href=\"Topology-Map.php?st[]={$ur}{$locsep}%&lev=2&fmt=png\"><img src=\"img/16/paint.png\" title=\"Topology-Map\"></a>\n"; echo "<a href=\"Devices-List.php?in[]=location&op[]=like&st[]={$ur}{$locsep}%\">" . substr($r, 0, $_SESSION['lsiz']) . "</a>\n"; } $locp = $pop ? " <a href=\"Nodes-List.php?in[]=location&op[]=like&st[]={$ur}{$locsep}%\"><img src=\"img/16/nods.png\" title=\"{$loclbl} {$poplbl}\">{$pop}</a>" : ''; echo "{$locp}</center></td>\n"; $col++; } echo "</tr></table>\n"; }
flush(); echo "<tr><th class=\"$modgroup[$self]2\">$stalbl</th><td class=\"txta\">"; if( substr($dev[27],1,1) == "C" ){ echo " <img src=\"img/16/cpu.png\" title=\"CPU $lodlbl\">".Bar($dev[20],$cpua/2,'si')." $dev[20]% "; } if( $dev[30] > 1 and preg_match('/^..[MPS]/',$dev[27]) ){ $putil = round($dev[31] / $dev[30] * 100,1); echo " <img src=\"img/16/batt.png\" title=\"PoE $lodlbl\">".Bar($putil,$poew/2,'si')." $putil% "; } if($tmp){ echo " <img src=\"img/16/temp.png\" title=\"$tmplbl\">".Bar($dev[22],$tmpa/2,'si')." $tmp "; } $pcnt = NodPop( array('device'),array('='),array($dev[0]),array() ); echo " <a href=\"Nodes-List.php?in[]=device&op[]==&st[]=$ud&ord=ifname\"><img src=\"img/16/nods.png\" title=\"$poplbl\">".Bar($pcnt,100,'si')." $pcnt</a>"; if ($rver){ $ii = IfFree($dev[0]); echo " <a href=\"Devices-Interfaces.php?in[]=device&op[]==&st[]=$ud&co[]=AND&in[]=ifstat&op[]=<&st[]=3&co[]=AND&in[]=iftype&op[]=~&st[]=^(6|7|117)$&col[]=imBL&col[]=ifname&col[]=device&col[]=linktype&col[]=ifdesc&col[]=alias&col[]=lastchg&col[]=inoct&col[]=outoct&ord=lastchg\"><img src=\"img/p45.png\" title=\"$acslbl $porlbl $frelbl\">".Bar($ii,-5,'si')." $ii</a> "; if( $wasup ){ $uptime = Get($ip, $rver, $dev[15], "1.3.6.1.2.1.1.3.0"); if($uptime){ $upsec = Tic2Sec($uptime); $sttit = date($_SESSION['date'],time() - $upsec); $uptit = sprintf("%d %s %d:%02d",floor($upsec/86400),$tim['d'],floor(($upsec%86400)/3600),floor(($upsec%3600)/60)); if ($upsec < 86400){ echo " <img src=\"img/16/warn.png\" title=\"$uptlbl < 24 $tim[h], $sttlbl $sttit\"> $uptit"; }else{
TblCell($v[3], "?in[]=type&op[]==&st[]=" . urlencode($v[3])); } if (in_array("firstdis", $col)) { TblCell(date($datfmt, $v[4]), "?in[]=firstdis&op[]==&st[]={$v['4']}", "bgcolor=\"#{$fc}\""); } if (in_array("lastdis", $col)) { TblCell(date($datfmt, $v[5]), "?in[]=lastdis&op[]==&st[]={$v['5']}", "bgcolor=\"#{$lc}\""); } if (in_array("location", $col)) { TblCell($v[6], "?in[]=location&op[]==&st[]=" . urlencode($v[6])); } if (in_array("contact", $col)) { TblCell($v[7], "?in[]=contact&op[]==&st[]=" . urlencode($v[7])); } if (in_array("poNS", $col)) { $pop = NodPop(array('device', 'vlanid'), array('=', '='), array($v[0], $v[1]), array('AND')); if ($pop) { TblCell($pop, "Nodes-List.php?in[]=device&in[]=vlanid&op[]==&op[]==&st[]={$ud}&st[]={$v['1']}&co[]=AND", '', Bar($pop, 100, 'si'), 'td-img'); } else { TblCell(); } } echo "</tr>\n"; } DbFreeResult($res); } else { print DbError($link); } ?> </table> <table class="content">
TblCell($if[27] . "mW", "?in[]=poe&op[]==&st[]={$if['27']}", "align=\"right\""); } if (in_array("comment", $col)) { TblCell($if[28]); } if (in_array("trafalert", $col)) { TblCell($if[29] . '%'); } if (in_array("bcastalert", $col)) { TblCell($if[30] . '/s'); } if (in_array("macflood", $col)) { TblCell($if[31]); } if (in_array("poNS", $col) and !isset($_GET['xls'])) { $pop = NodPop(array('device', 'ifname'), array('=', '='), array($if[0], $if[1]), array('AND')); if ($pop) { echo "<td nowrap>" . Bar($pop, 24, 'mi') . " <a href=Nodes-List.php?in[]=device&op[]==&st[]={$ud}&in[]=ifname&op[]==&st[]={$if['1']}&co[]=AND\">{$pop}</td>"; } else { TblCell(); } DbFreeResult($np); } if (in_array("gfNS", $col) and !isset($_GET['xls'])) { echo "<td nowrap align=\"center\">\n"; IfGraphs($ud, $ui, $if[9], $_SESSION['gsiz']); echo "</td>\n"; } if (in_array("rdrNS", $col) and !isset($_GET['xls'])) { echo "<td nowrap align=\"center\">\n"; IfRadar("rt{$row}", $_SESSION['gsiz'], '248', $if[12], $if[14], $if[13], $if[15], $if[20], $if[21], $if[24]);
} if (in_array("locdesc", $col)) { echo "<td>{$l['8']}</td>"; } if (in_array("dvNS", $col)) { $lor = TopoLoc($l[1], $l[2], $l[3]); $pop = DevPop(array('location'), array('like'), array($lor)); if ($pop) { TblCell($pop, "Devices-List.php?in[]=location&op[]=like&st[]=" . urlencode($lor), '', Bar($pop, 100, 'si'), 'td-img'); } else { TblCell(); } } if (in_array("poNS", $col)) { $lor = TopoLoc($l[1], $l[2], $l[3]); $pop = NodPop(array('location'), array('like'), array($lor), array()); if ($pop) { TblCell($pop, "Nodes-List.php?in[]=location&op[]=like&st[]=" . urlencode($lor), '', Bar($pop, 100, 'si'), 'td-img'); } else { TblCell(); } } if (in_array("filNS", $col)) { echo "<td>"; $fp = 'topo'; if ($l[1]) { $fp .= '/' . preg_replace('/\\W/', '', $l[1]); } if ($l[2]) { $fp .= '/' . preg_replace('/\\W/', '', $l[2]); }