File: 1.01.6b/server/web/localtest.edit.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: if ($NATS_Session->userlevel<5) UL_Error("Edit Local Test"); 32: ob_end_flush(); 33: Screen_Header("Local Test Editor",1,1,"","main","nodes"); 34: ?> 35:
36: 37: $q="SELECT * FROM fnlocaltest WHERE localtestid=".ss($_REQUEST['localtestid'])." LIMIT 0,1"; 38: $r=$NATS->DB->Query($q); 39: if (!$row=$NATS->DB->Fetch_Array($r)) 40: { 41: echo "No such test!

";
42: Screen_Footer(); 43: exit(); 44: } 45: if ($row['testname']!="") $nicename=$row['testname']; 46: else $nicename=lText($row['testtype']); 47: 48: echo "Editing Test: ".$row['nodeid']." > ".$nicename."

";
49: 50: if (isset($_REQUEST['message'])) 51: { 52: echo "".$_REQUEST['message']."

";
53: $poplist[]=$_REQUEST['message']; 54: } 55: $title="Test Settings"; 56: Start_Round($title,600); 57: 58: echo ""; 59: echo "
";
60: echo ""; 61: echo ""; 62: echo ""; 63: echo ""; 65: echo ""; 66: echo ""; 301: echo ""; 302: echo ""; 303: echo ""; 305: echo ""; 306: echo ""; 312: echo ""; 317: echo ""; 322: echo ""; 323: echo ""; 324: echo ""; 326: echo ""; 327: echo ""; 328: echo ""; 332: echo ""; 333: echo ""; 336: echo ""; 337: echo ""; 338: echo ""; 340: echo ""; 341: echo ""; 343: echo ""; 344: echo ""; 346: echo "
Test Type :".lText($row['testtype']); 64: echo "

Test Options :"; // new style multi-param options 67: 68: switch ($row['testtype']) 69: { 70: case "web": case "wsize": case "wtime": 71: echo "URL:
";
72: echo "Full URL such as https://www.somehost.com/"; 73: break; 74: case "icmp": case "ping": 75: echo "Host/IP:
";
76: echo "DNS hostname or IP address to ping (DNS lookup not timed)"; 77: break; 78: 79: case "testloop": case "testrand": 80: echo "Value:
";
81: echo "Value for loop or rand tests (see documentation)"; 82: break; 83: /* 84: case "tcp": 85: echo "Port:
";
86: echo "TCP Port to connect to"; 87: break; 88: */ 89: case "host": 90: echo "Host:
";
91: echo "Hostname to resolve or IP to reverse lookup"; 92: break; 93: /* 94: case "dns": 95: echo ""; 96: echo ""; 101: echo ""; 106: echo ""; 107: echo ""; 120: echo ""; 125: echo ""; 126: echo ""; 133: echo ""; 134: echo "
"; 97: echo "Host/Domain/IP :"; 98: echo ""; 99: echo ""; 100: echo "
"; 102: echo "Nameserver :"; 103: echo ""; 104: echo ""; 105: echo "
Leave blank to use the node's hostname
"; 108: echo "Query Type :"; 109: echo ""; 110: echo ""; 119: echo "
"; 121: echo "Port :"; 122: echo ""; 123: echo ""; 124: echo "
Leave blank to use protocol default port (53)
"; 127: echo "TCP :"; 128: echo ""; 129: if ($row['testparam4']==1) $s=" checked"; 130: else $s=""; 131: echo ""; 132: echo "
Uses UDP if unchecked
";
135: break; 136: */ 137: /* 138: case "imap": 139: echo ""; 140: echo ""; 145: echo ""; 150: echo ""; 157: echo ""; 158: echo ""; 169: echo ""; 174: echo ""; 175: echo ""; 182: echo "
"; 141: echo "Hostname :"; 142: echo ""; 143: echo ""; 144: echo "
"; 146: echo "Username :"; 147: echo ""; 148: echo ""; 149: echo "
"; 151: echo "Password :"; 152: echo ""; 153: //echo ""; // debug 154: echo ""; 155: echo ""; 156: echo "
Leave blank to not change or click to clear
"; 159: echo "Protocol :"; 160: echo ""; 161: if ($row['testparam3']=="") $protocol="imap"; 162: else $protocol=$row['testparam3']; 163: echo ""; 168: echo "
"; 170: echo "Port :"; 171: echo ""; 172: echo ""; 173: echo "
Leave blank use protocol default port (110, 143 etc)
"; 176: echo "SSL :"; 177: echo ""; 178: if ($row['testparam5']==1) $s=" checked"; 179: else $s=""; 180: echo ""; 181: echo "
";
183: break; 184: */ 185: /* 186: case "mysql": case "mysqlrows": 187: echo ""; 188: echo ""; 193: echo ""; 198: echo ""; 205: echo ""; 206: 207: //echo ""; 208: 209: echo ""; 214: echo ""; 215: 216: echo ""; 221: echo ""; 222: 223: echo "
"; 189: echo "Hostname :"; 190: echo ""; 191: echo ""; 192: echo "
"; 194: echo "Username :"; 195: echo ""; 196: echo ""; 197: echo "
"; 199: echo "Password :"; 200: echo ""; 201: //echo ""; // debug 202: echo ""; 203: echo ""; 204: echo "
Leave blank to not change or click to clear
Leave blank use protocol default port (110, 143 etc)
"; 210: echo "Database :"; 211: echo ""; 212: echo ""; 213: echo "
Optional - leave blank to not bother with select_db
"; 217: echo "Query :"; 218: echo ""; 219: echo ""; 220: echo "
Optional - leave blank to not bother with a query
";
224: break; 225: */ 226: /* 227: case "smtp": 228: echo ""; 229: echo ""; 234: echo ""; 239: 240: echo ""; 241: 242: echo "
"; 230: echo "Hostname :"; 231: echo ""; 232: echo ""; 233: echo "
"; 235: echo "Port :"; 236: echo ""; 237: echo ""; 238: echo "
Optional - leave blank to use the default (25)
";
243: break; 244: */ 245: default: 246: 247: $idx=$NATS->Tests->Get($row['testtype']); 248: if ($idx>=0) 249: { 250: // Test-specific formatting here 251: 252: $pcount=0; // param count 253: //echo $NATS->Tests->Tests[$row['testtype']]->parameters; 254: if (isset($NATS->Tests->Tests[$row['testtype']]->parameters) && is_array($NATS->Tests->Tests[$row['testtype']]->parameters) 255: && (count($NATS->Tests->Tests[$row['testtype']]->parameters)>0) ) 256: { 257: echo ""; 258: foreach($NATS->Tests->Tests[$row['testtype']]->parameters as $param) 259: { 260: $pname="testparam"; 261: if ($pcount>0) $pname.=$pcount; 262: $undertext=""; 263: $pos=strpos($param,"/"); 264: if ($pos>0) 265: { 266: $undertext=substr($param,$pos+1); 267: $param=substr($param,0,$pos); 268: } 269: echo ""; 274: if ($undertext!="") 275: { 276: echo ""; 277: } 278: $pcount++; 279: } 280: echo "
"; 270: echo $param; 271: echo " :"; 272: echo ""; 273: echo "
 ".$undertext."
";
281: } 282: else 283: { 284: $NATS->Tests->Tests[$row['testtype']]->Create(); 285: $out=$NATS->Tests->Tests[$row['testtype']]->instance->DisplayForm($row); 286: if ($out===false) echo "No options for test"; 287: else echo $out; 288: } 289: 290: 291: 292: 293: } 294: 295: 296: // And the catch-all of catch-alls 297: else echo ""; 298: } 299: 300: echo "

Custom Name : ".hlink("Test:Name"); 304: echo "
Test Enabled :"; 307: if ($row['testenabled']==1) $s=" checked"; 308: else $s=""; 309: echo " "; 310: echo hlink("Test:Enabled"); 311: echo "
Recorded :"; 313: if ($row['testrecord']==1) $s=" checked"; 314: else $s=""; 315: echo " ".hlink("Test:Recorded"); 316: echo "
Simple Evaluation :"; 318: if ($row['simpleeval']==1) $s=" checked"; 319: else $s=""; 320: echo " ".hlink("Test:SimpleEvaluation"); 321: echo "

Test Interval : Minutes ".hlink("Test:Interval"); 325: echo "
Test Due :"; 329: if ($row['nextrunx']>0) echo nicedt($row['nextrunx'])." - ".nicenextx($row['nextrunx']); 330: else echo "Now"; 331: echo "
Last Tested :".nicedt($row['lastrunx'])." - ".dtago($row['lastrunx'])."
"; 334: echo "Check ASAP"; 335: echo "

Custom Attempts : ".hlink("Test:Attempts"); 339: echo "
Custom Timeout : Seconds ".hlink("Test:Timeout"); 342: echo "

  Abandon Changes"; 345: echo "
";
347: End_Round(); 348: echo "

";
349: 350: 351: 352: $t="Test Evaluators"; 353: Start_Round($t,600); 354: 355: 356: echo ""; 357: echo ""; 363: 364: $q="SELECT * FROM fneval WHERE testid=\"L".ss($_REQUEST['localtestid'])."\" ORDER BY weight ASC"; 365: $r=$NATS->DB->Query($q); 366: while ($row=$NATS->DB->Fetch_Array($r)) 367: { 368: echo ""; 374: //echo ""; 375: } 376: 377: echo "
";
378: echo ""; 379: echo ""; 380: echo ""; 381: echo ""; 382: echo ""; 389: echo ""; 390: 391: 392: echo "
 
"; 358: if ($row['simpleeval']==1) 359: { 360: echo "Custom evaluators will not be processed as
Simple Evaluation is checked (above)

";
361: } 362: echo "
"; 369: echo ""; 370: echo "  "; 371: echo "Result ".eval_operator_text($row['eoperator'])." ".$row['evalue']." => ".oText($row['eoutcome']).""; 372: //echo " | Up/Down"; 373: echo "
 
 
Add New : => "; 385: echo "
";
393: End_Round(); 394: 395: ?> 396: 397: 398: Screen_Footer(); 399: ?> 400: