File: 1.13.0a/server/web/node.php (View as Code)

1: 2: /* ------------------------------------------------------------- 3: This file is part of FreeNATS 4: 5: FreeNATS is (C) Copyright 2008-2010 PurplePixie Systems 6: 7: FreeNATS is free software: you can redistribute it and/or modify 8: it under the terms of the GNU General Public License as published by 9: the Free Software Foundation, either version 3 of the License, or 10: (at your option) any later version. 11: 12: FreeNATS is distributed in the hope that it will be useful, 13: but WITHOUT ANY WARRANTY; without even the implied warranty of 14: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15: GNU General Public License for more details. 16: 17: You should have received a copy of the GNU General Public License 18: along with FreeNATS. If not, see www.gnu.org/licenses 19: 20: For more information see www.purplepixie.org/freenats 21: -------------------------------------------------------------- */ 22: 23: ob_start(); 24: require("include.php"); 25: $NATS->Start(); 26: if (!$NATS_Session->Check($NATS->DB)) 27: { 28: $p = $_SERVER['HTTPS']=="on" ? "https" : "http"; 29: $url = $p."://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 30: header("Location: ./?login_msg=Invalid+Or+Expired+Session&url=".urlencode($url)); 31: exit(); 32: } 33: if ($NATS_Session->userlevel<1) UL_Error($NATS->Lang->Item("viewing.node")); 34: ob_end_flush(); 35: Screen_Header($NATS->Lang->Item("viewing.node")." ".$_REQUEST['nodeid'],1); 36: ?> 37:
38: 39: //echo "Node: ".$_REQUEST['nodeid']."

";
40: 41: echo "
"; 42: 43: $q="SELECT * FROM fnnode WHERE nodeid=\"".ss($_REQUEST['nodeid'])."\" LIMIT 0,1"; 44: $r=$NATS->DB->Query($q); 45: if (!$row=$NATS->DB->Fetch_Array($r)) 46: { 47: echo $NATS->Lang->Item("no.node")."

";
48: Screen_Footer(); 49: exit(); 50: } 51: $NATS->DB->Free($r); 52: $node=$row; 53: 54: echo ""; 55: 56: echo ""; 61: 62: echo ""; 69: 70: echo ""; 75: 76: echo ""; 81: 82: echo ""; 89: 90: $aq="SELECT alertid,alertlevel,openedx FROM fnalert WHERE nodeid=\"".ss($_REQUEST['nodeid'])."\" AND closedx=0 LIMIT 0,1"; 91: //echo $aq; 92: $ar=$NATS->DB->Query($aq); 93: echo ""; 103: 104: if ($NATS_Session->userlevel>4) echo ""; 105: echo ""; 106: 107: echo ""; 113: 114: // Utility Links 115: //if ($NATS->Cfg->Get("dev.links",0)==1) 116: //{ 117: $shown_header=false; 118: for ($a=0; $a<3; $a++) 119: { 120: $ulink="ulink".$a; 121: $utitle=$ulink."_title"; 122: $uurl=$ulink."_url"; 123: if ($row[$ulink]==1) 124: { // link is enabled 125: if (!$shown_header) // first one 126: { 127: echo ""; // if shown any 140: //} 141: 142: echo "
"; 57: echo $NATS->Lang->Item("node.name"); 58: echo " :"; 59: echo $row['nodename']; 60: echo "
"; 63: echo $NATS->Lang->Item("status"); 64: echo " :"; 65: echo ""; 66: echo oText($row['alertlevel']); 67: echo ""; 68: echo "
"; 71: echo $NATS->Lang->Item("hostname"); 72: echo ": "; 73: echo $row['hostname']; 74: echo " 
"; 77: echo $NATS->Lang->Item("description"); 78: echo " :"; 79: echo $row['nodedesc']; 80: echo " 
"; 83: echo $NATS->Lang->Item("enabled"); 84: echo ": "; 85: if ($row['nodeenabled']==1) $s=$NATS->Lang->Item("yes"); 86: else $s=$NATS->Lang->Item("no"); 87: echo $s; 88: echo "
94: Alert 95: :"; 96: if ($arow=$NATS->DB->Fetch_Array($ar)) 97: { 98: echo "".$NATS->Lang->Item("yes")." - ".oText($arow['alertlevel'])." "; 99: echo "(".$NATS->Lang->Item("opened")." ".dtago($arow['openedx']).")"; 100: } 101: else echo "".$NATS->Lang->Item("no")." [ ".$NATS->Lang->Item("alert.history")." ]"; 102: echo "
".$NATS->Lang->Item("edit")." :".$NATS->Lang->Item("edit.node.options")."
".$NATS->Lang->Item("summary")." :"; 108: $finishx=time(); 109: $startx=$finishx-(60*60*24); 110: echo "".$NATS->Lang->Item("last.24h")." | "; 111: echo "".$NATS->Lang->Item("today").""; 112: echo "
".$NATS->Lang->Item("links")." :"; 128: $shown_header=true; 129: } 130: $url=$row[$uurl]; 131: $url=str_replace("{HOSTNAME}",$row['hostname'],$url); 132: $url=str_replace("{NODENAME}",$row['nodename'],$url); 133: $url=str_replace("{NODEID}",$row['nodeid'],$url); 134: if ($NATS->Cfg->Get("site.links.newwindow",0)==1) $tgt=" target=\"top\""; 135: else $tgt=""; 136: echo "".$row[$utitle]." "; 137: } 138: } 139: if ($shown_header) echo "
";
143: 144: echo "
 "; 145: np_tiny($_REQUEST['nodeid']); 146: echo "
";
147: 148: echo "

";
149: 150: echo "".$NATS->Lang->Item("local.tests")."

";
151: 152: echo ""; 153: 154: $q="SELECT * FROM fnlocaltest WHERE nodeid=\"".ss($_REQUEST['nodeid'])."\" ORDER BY localtestid ASC"; 155: $r=$NATS->DB->Query($q); 156: while ($row=$NATS->DB->Fetch_Array($r)) 157: { 158: echo ""; 169: 170: echo ""; 171: 172: echo ""; 173: 174: echo ""; 179: 180: echo ""; 181: } 182: 183: echo "
"; 159: 160: if ($row['testname']=="") 161: { 162: if (strlen($row['testparam'])>10) $tp=substr($row['testparam'],0,8).".."; 163: else $tp=$row['testparam']; 164: echo lText($row['testtype']); 165: if ($tp!="") echo " (".$tp.")"; 166: } 167: else echo $row['testname']; 168: echo "".oText($row['alertlevel'])."(".dtago($row['lastrunx']).")"; 175: if (($row['testrecord']==1)||($row['testtype']=="ICMP")) 176: echo "[ ".$NATS->Lang->Item("history")." ]"; 177: else echo " "; 178: echo "
";
184: echo "

";
185: if ($node['nsenabled']==1) 186: { 187: echo "".$NATS->Lang->Item("nodeside.tests")."

";
188: 189: echo ""; 190: 191: $q="SELECT * FROM fnnstest WHERE nodeid=\"".ss($_REQUEST['nodeid'])."\" AND testenabled=1 ORDER BY testtype"; 192: $r=$NATS->DB->Query($q); 193: while ($row=$NATS->DB->Fetch_Array($r)) 194: { 195: echo ""; 203: 204: echo ""; 205: 206: echo ""; 207: 208: echo ""; 213: 214: echo ""; 215: } 216: 217: echo "
"; 196: 197: if ($row['testname']=="") 198: { 199: echo $row['testdesc']; 200: } 201: else echo $row['testname']; 202: echo "".oText($row['alertlevel'])."(".dtago($row['lastrunx']).")"; 209: if (($row['testrecord']==1)) 210: echo "[ ".$NATS->Lang->Item("history")." ]"; 211: else echo " "; 212: echo "
";
218: } 219: ?> 220: 221: 222: 223: Screen_Footer(); 224: ?> 225: