File: 1.00.7a/server/web/main.php (View as Code)

1: 2: /* ------------------------------------------------------------- 3: This file is part of FreeNATS 4: 5: FreeNATS is (C) Copyright 2008 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: header("Location: ./?login_msg=Invalid+Or+Expired+Session"); 29: exit(); 30: } 31: ob_end_flush(); 32: 33: if (isset($_REQUEST['mode'])) $mode=$_REQUEST['mode']; 34: else 35: { 36: $mode="overview"; 37: $_REQUEST['mode']="overview"; 38: } 39: 40: Screen_Header("Monitoring Configuration",1,0,"","main"); 41: 42: if (isset($_REQUEST['message'])) 43: { 44: echo "".$_REQUEST['message']."
";
45: $poplist[]=$_REQUEST['message']; 46: } 47: 48: if (isset($_REQUEST['nodemove'])) $nm=true; 49: else $nm=false; 50: 51: ?> 52:
53: 54: if (isset($_REQUEST['check_updates'])) 55: { 56: // check for updates 57: $dq="?CheckVersion=".$NATS->Version."&JSMode=1"; 58: $dl="http://www.purplepixie.org/freenats/download.php"; 59: $du=$dl.$dq; 60: echo "Checking for Updates: "; 61: echo "\n"; 62: echo "
";
63: echo "If this test fails you can check on the website.
";
64: echo "You are currently running version "; 65: echo $NATS->Version.$NATS->Release."."; 66: echo "
It is recommended that you check regularly for updates

";
67: } 68: 69: 70: if ($mode=="overview") 71: { 72: $t="FreeNATS Overview"; 73: Start_Round($t,600); 74: echo ""; 87: 88: echo ""; 89: $fx=time(); 90: $sx=$fx-(60*60*24); 91: echo ""; 111: echo ""; 112: echo ""; 117: echo ""; 118: echo ""; 152: echo "
"; 75: $al=$NATS->GetAlerts(); 76: if (($al===false)||(count($al)==0)) 77: { 78: echo "No Monitoring Alerts"; 79: } 80: else 81: { 82: echo ""; 83: echo "Monitoring Alerts"; 84: echo ""; 85: } 86: echo "Check for Updates

"; 92: echo "Monitoring

";
93: $nq="SELECT COUNT(nodeid) FROM fnnode"; 94: $nr=$NATS->DB->Query($nq); 95: if ($nrow=$NATS->DB->Fetch_Array($nr)) $nodecount=$nrow['COUNT(nodeid)']; 96: else $nodecount=0; 97: $NATS->DB->Free($nr); 98: $gq="SELECT COUNT(groupid) FROM fngroup"; 99: $gr=$NATS->DB->Query($gq); 100: if ($nrow=$NATS->DB->Fetch_Array($gr)) $groupcount=$nrow['COUNT(groupid)']; 101: else $groupcount=0; 102: $NATS->DB->Free($gr); 103: echo "".$nodecount." Nodes Configured

";
104: echo "".$groupcount." Node Groups
";
105: echo "
"; 106: echo "Common Tasks

";
107: echo "Add Nodes
";
108: echo "Email Alerting
";
109: echo "Configure Tests
";
110: echo "

Test Summaries

"; 113: echo "Today - "; 114: echo "Last 24 Hrs - "; 115: echo "Custom"; 116: echo "

"; 119: /* 120: echo "Installed Test Modules

";
121: echo ""; 122: echo ""; 123: foreach($NATS->Tests->QuickList as $key => $val) 124: { 125: echo ""; 134: } 135: echo "
NameProvidesRevisionAdditional
"; 126: echo $NATS->Tests->Tests[$key]->name; 127: echo ""; 128: echo $NATS->Tests->Tests[$key]->type; 129: echo ""; 130: echo $NATS->Tests->Tests[$key]->revision; 131: echo ""; 132: echo $NATS->Tests->Tests[$key]->additional; 133: echo "
";
136: */ 137: echo "Monitored Nodes

";
138: $q="SELECT nodeid,nodename,alertlevel FROM fnnode WHERE nodeenabled=1 ORDER BY alertlevel DESC, weight ASC"; 139: $r=$NATS->DB->Query($q); 140: $first=true; 141: while ($row=$NATS->DB->Fetch_Array($r)) 142: { 143: if ($first) $first=false; 144: else echo ", "; 145: echo ""; 146: echo ""; 147: if ($row['nodename']!="") echo $row['nodename']; 148: else echo $row['nodeid']; 149: echo ""; 150: } 151: echo "
";
153: echo "
";
154: End_Round(); 155: echo "

";
156: } 157: 158: else if ($mode=="nodes") 159: { 160: 161: if ($nm) 162: { 163: $q="SELECT nodeid,weight FROM fnnode ORDER BY weight ASC"; 164: $r=$NATS->DB->Query($q); 165: $nml="Move Before "; 171: $NATS->DB->Free($r); 172: } 173: 174: Start_Round("Nodes ".hlink("Node",12),600); 175: $q="SELECT nodeid,nodename,alertlevel,weight FROM fnnode ORDER BY weight ASC"; 176: $r=$NATS->DB->Query($q); 177: 178: echo ""; 179: echo ""; 180: $f=0; 181: $l=$NATS->DB->Num_Rows($r); 182: while ($row=$NATS->DB->Fetch_Array($r)) 183: { 184: //echo ""; 199: 200: if ($nm) 201: { 202: echo "
";
203: echo ""; 204: echo ""; 205: } 206: 207: echo ""; 232: 233: if ($nm) echo ""; 234: $f++; 235: 236: echo ""; 237: } 238: echo ""; 239: echo "
";
240: echo ""; 244: 245: $fx=time(); 246: $sx=$fx-(60*60*24); 247: echo ""; 251: 252: echo "
NodeOptionsMove
"; 185: echo "
"; 186: echo ""; 187: 188: echo ""; 189: echo $row['nodename']; 190: echo ""; 191: 192: echo " "; 193: echo "(".$row['nodeid'].")"; 194: echo ""; 195: echo " "; 196: echo " "; 197: echo " "; 198: echo ""; 208: if ($f==0) echo ""; 209: else 210: { 211: echo ""; 212: echo ""; 213: echo ""; 214: } 215: 216: if ($f>=($l-1)) echo ""; 217: else 218: { 219: echo ""; 220: echo ""; 221: echo ""; 222: } 223: 224: if ($nm) 225: { 226: echo " [".$row['weight']."] "; 227: echo $nml; 228: echo " "; 229: } 230: 231: echo "
 
"; 241: echo hlink("Node:Create"); 242: if ($nm) echo " Refresh Weighting"; 243: echo "
Summary: Today - "; 248: echo "Last 24 Hrs - "; 249: echo "Custom"; 250: echo "
";
253: End_Round(); 254: } 255: 256: else if ($mode=="groups") 257: { 258: 259: $t="Node Groups ".hlink("Group",12); 260: Start_Round($t,600); 261: 262: $q="SELECT groupid,groupname FROM fngroup ORDER BY weight ASC"; 263: $r=$NATS->DB->Query($q); 264: $f=0; 265: echo ""; 266: $l=$NATS->DB->Num_Rows($r); 267: while ($row=$NATS->DB->Fetch_Array($r)) 268: { 269: echo ""; 270: echo ""; 271: echo ""; 274: echo ""; 293: $f++; 294: 295: echo ""; 296: } 297: echo ""; 298: echo "
";
299: echo ""; 300: echo ""; 302: echo "
GroupAlertLevel($row['groupid'])."\">".$row['groupname'].""; 272: echo " "; 273: echo ""; 275: 276: if ($f==0) echo ""; 277: else 278: { 279: echo ""; 280: echo ""; 281: echo ""; 282: } 283: 284: if ($f>=($l-1)) echo ""; 285: else 286: { 287: echo ""; 288: echo ""; 289: echo ""; 290: } 291: 292: echo "
 
"; 301: echo " ".hlink("Group:Create")."
";
303: End_Round(); 304: } 305: 306: else if ($mode=="views") 307: { 308: $t="Views ".hlink("View",12); 309: Start_Round($t,600); 310: echo ""; 311: // get views... 312: $q="SELECT viewid,vtitle FROM fnview"; 313: $r=$NATS->DB->Query($q); 314: while ($row=$NATS->DB->Fetch_Array($r)) 315: { 316: echo ""; 323: } 324: 325: echo ""; 326: echo "
";
327: echo ""; 329: echo "
"; 317: echo "".$row['vtitle'].""; 318: echo ""; 319: echo ""; 320: echo " "; 321: echo ""; 322: echo "
 
"; 328: echo hlink("View:Create")."
";
330: End_Round(); 331: 332: echo "

";
333: $t="Availability Reports ".hlink("Report",12).""; 334: Start_Round($t,600); 335: echo "Create New Service Availability Report ".hlink("Report",12); 336: echo "

";
337: 338: // reports in here 339: $rq="SELECT reportid,reportname FROM fnreport"; 340: $rr=$NATS->DB->Query($rq); 341: if ($NATS->DB->Num_Rows($rr)>0) 342: { 343: echo ""; 344: while ($rep=$NATS->DB->Fetch_Array($rr)) 345: { 346: echo ""; 347: echo ""; 355: } 356: echo "
"; 348: echo "".$rep['reportname'].""; 349: echo ""; 350: echo ""; 351: echo ""; 352: echo ""; 353: echo "  "; 354: echo "
";
357: } 358: 359: End_Round(); 360: 361: } 362: 363: else 364: { 365: echo "Sorry - unknown mode for main.php"; 366: } 367: 368: 369: echo "

";
370: 371: ?> 372: 373: 374: 375: Screen_Footer(); 376: /* old PhoneHome Ping Tracker - now in screen as a png 377: $t=$NATS->Cfg->Get("freenats.tracker"); 378: if ( ($t!="") && ($t>0) ) 379: $NATS->PhoneHome(); 380: */ 381: ?> 382: