File: 1.00.4a/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 ""; 136: 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 "

Installed Test Modules

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

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

";
316: $t="Availability Reports ".hlink("Report",12).""; 317: Start_Round($t,600); 318: echo "Create New Service Availability Report ".hlink("Report",12); 319: echo "

";
320: 321: // reports in here 322: 323: End_Round(); 324: 325: } 326: 327: else 328: { 329: echo "Sorry - unknown mode for main.php"; 330: } 331: 332: 333: echo "

";
334: 335: ?> 336: 337: 338: 339: Screen_Footer(); 340: /* old PhoneHome Ping Tracker - now in screen as a png 341: $t=$NATS->Cfg->Get("freenats.tracker"); 342: if ( ($t!="") && ($t>0) ) 343: $NATS->PhoneHome(); 344: */ 345: ?> 346: