File: 1.10.2a/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($NATS->Lang->Item("live.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($NATS->Lang->Item("live.monitor"),1,1,""); 52: ?> 53:
54: 55: 58: 59: 60: /* 61: echo "\n"; 64: */ 65: ?> 66: 67: 68: if ($NATS->Cfg->Get("site.monitor.popup",1)==0) $monpopup=false; 69: else $monpopup=true; 70: 71: if ($monpopup) 72: { 73: echo "
";
74: echo "\n"; 76: } 77: ?> 78: 79: 114: 115: 116: 117: 118: ob_end_flush(); 119: 120: if ($style=="standard") 121: { 122: 123: $q="SELECT * FROM fngroup ORDER BY weight ASC"; 124: $r=$NATS->DB->Query($q); 125: 126: if ($NATS->DB->Num_Rows($r)>0) 127: { 128: echo ""; 129: $a=0; 130: while ($row=$NATS->DB->Fetch_Array($r)) 131: { 132: if ($a==0) echo ""; 133: echo ""; 136: $a++; 137: if ($a==2) 138: { 139: $a=0; 140: echo ""; 141: } 142: } 143: if ($a>0) echo ""; 144: echo "
"; 134: ng_big($row['groupid'],$row['groupname'],$row['groupdesc'],$row['groupicon']); 135: echo "
";
145: echo "

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

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

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