File: 1.09.4a/server/web/monitor.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: 27: // Timeskip check - means this page skips timecheck/reset if site.monitor.keepalive is 0 28: if ($NATS->Cfg->Get("site.monitor.keepalive",1)==0) $timeskip=true; 29: else $timeskip=false; 30: 31: if (!$NATS_Session->Check($NATS->DB,$timeskip)) 32: { 33: header("Location: ./?login_msg=Invalid+Or+Expired+Session"); 34: exit(); 35: } 36: if ($NATS_Session->userlevel<1) UL_Error("View Monitor"); 37: 38: if (isset($_REQUEST['style'])) 39: { 40: $style=$_REQUEST['style']; 41: setcookie("fn_monitorstyle",$style); 42: } 43: else if (isset($_COOKIE['fn_monitorstyle'])) 44: { 45: $style=$_COOKIE['fn_monitorstyle']; 46: } 47: else $style="standard"; 48: 49: if ($style=="") $style="standard"; 50: 51: Screen_Header("Live Monitor",1,1,""); 52: ?> 53:
54: 55:
56: options... 57:
58: 59: 60: /* 61: echo "\n"; 64: */ 65: ?> 66: 67: 68: if ($NATS->Cfg->Get("site.monitor.popup",1)==0) $monpopup=false; 69: else if ($NATS->Cfg->Get("dev.monitor.popup",0)==1) $monpopup=true; // dev testing 70: else $monpopup=false; 71: 72: if ($monpopup) 73: { 74: echo "
";
75: echo "\n"; 77: } 78: ?> 79: 80: 115: 116: 117: 118: 119: ob_end_flush(); 120: 121: if ($style=="standard") 122: { 123: 124: $q="SELECT * FROM fngroup ORDER BY weight ASC"; 125: $r=$NATS->DB->Query($q); 126: 127: if ($NATS->DB->Num_Rows($r)>0) 128: { 129: echo ""; 130: $a=0; 131: while ($row=$NATS->DB->Fetch_Array($r)) 132: { 133: if ($a==0) echo ""; 134: echo ""; 137: $a++; 138: if ($a==2) 139: { 140: $a=0; 141: echo ""; 142: } 143: } 144: if ($a>0) echo ""; 145: echo "
"; 135: ng_big($row['groupid'],$row['groupname'],$row['groupdesc'],$row['groupicon']); 136: echo "
";
146: echo "

";
147: } 148: 149: 150: $NATS->DB->Free($r); 151: 152: 153: $q="SELECT * FROM fnnode ORDER BY alertlevel DESC, weight ASC"; 154: $r=$NATS->DB->Query($q); 155: 156: echo ""; 157: $a=0; 158: while ($row=$NATS->DB->Fetch_Array($r)) 159: { 160: if ($a==0) echo ""; 161: echo ""; 164: $a++; 165: if ($a==5) 166: { 167: $a=0; 168: echo ""; 169: } 170: } 171: if ($a>0) echo ""; 172: echo "
"; 162: np_tiny($row['nodeid'],true,$row['nodename'],$monpopup); 163: echo "
";
173: $NATS->DB->Free($r); 174: } 175: 176: else if ($style=="alerting") 177: { 178: $q="SELECT * FROM fngroup ORDER BY weight ASC"; 179: $r=$NATS->DB->Query($q); 180: 181: echo ""; 182: $a=0; 183: while ($row=$NATS->DB->Fetch_Array($r)) 184: { 185: if ($NATS->GroupAlertLevel($row['groupid'])>0) 186: { 187: if ($a==0) echo ""; 188: echo ""; 191: $a++; 192: if ($a==2) 193: { 194: $a=0; 195: echo ""; 196: } 197: } 198: } 199: if ($a>0) echo ""; 200: echo "
"; 189: ng_big($row['groupid'],$row['groupname'],$row['groupdesc'],$row['groupicon']); 190: echo "
";
201: 202: 203: $NATS->DB->Free($r); 204: 205: echo "

";
206: 207: $q="SELECT * FROM fnnode WHERE alertlevel!=0 ORDER BY alertlevel DESC, weight ASC"; 208: $r=$NATS->DB->Query($q); 209: 210: echo ""; 211: $a=0; 212: while ($row=$NATS->DB->Fetch_Array($r)) 213: { 214: if ($a==0) echo ""; 215: echo ""; 218: $a++; 219: if ($a==5) 220: { 221: $a=0; 222: echo ""; 223: } 224: } 225: if ($a>0) echo ""; 226: echo "
"; 216: np_tiny($row['nodeid'],true,$row['nodename'],$monpopup); 217: echo "
";
227: $NATS->DB->Free($r); 228: } 229: 230: else if ($style=="groups") 231: { 232: $q="SELECT * FROM fngroup ORDER BY weight ASC"; 233: $r=$NATS->DB->Query($q); 234: 235: echo ""; 236: $a=0; 237: while ($row=$NATS->DB->Fetch_Array($r)) 238: { 239: if ($a==0) echo ""; 240: echo ""; 243: $a++; 244: if ($a==2) 245: { 246: $a=0; 247: echo ""; 248: } 249: } 250: if ($a>0) echo ""; 251: echo "
"; 241: ng_big($row['groupid'],$row['groupname'],$row['groupdesc'],$row['groupicon'],$monpopup); 242: echo "
";
252: 253: 254: $NATS->DB->Free($r); 255: } 256: 257: else if ($style=="nodes") 258: { 259: $q="SELECT * FROM fnnode ORDER BY alertlevel DESC, weight ASC"; 260: $r=$NATS->DB->Query($q); 261: 262: echo ""; 263: $a=0; 264: while ($row=$NATS->DB->Fetch_Array($r)) 265: { 266: if ($a==0) echo ""; 267: echo ""; 270: $a++; 271: if ($a==2) 272: { 273: $a=0; 274: echo ""; 275: } 276: } 277: if ($a>0) echo ""; 278: echo "
"; 268: np_big($row['nodeid'],$row['nodename'],$row['nodedesc'],$row['nodeicon'],$monpopup); 269: echo "
";
279: 280: 281: $NATS->DB->Free($r); 282: } 283: 284: else 285: { 286: echo "Sorry - unknown display style type

";
287: } 288: 289: mt_srand(microtime()*1000000); 290: if (mt_rand(0,100)==50) $track_if_enabled=true; 291: else $track_if_enabled=false; 292: 293: Screen_Footer($track_if_enabled); 294: ?> 295: