File: 1.09.3a/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 ""; 146: echo ""; 147: echo ""; 148: echo ""; 150: echo ""; 151: echo ""; 157: echo ""; 162: echo ""; 167: echo ""; 168: echo ""; 169: echo ""; 171: echo ""; 172: echo ""; 173: echo ""; 177: echo ""; 178: echo ""; 181: echo ""; 182: echo ""; 183: echo ""; 185: echo ""; 186: echo ""; 188: echo ""; 189: echo ""; 191: 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: 75: case "icmp": case "ping": 76: echo "Host/IP:
";
77: echo "DNS hostname or IP address to ping (DNS lookup not timed)"; 78: break; 79: 80: case "testloop": case "testrand": 81: echo "Value:
";
82: echo "Value for loop or rand tests (see documentation)"; 83: break; 84: 85: case "host": 86: echo "Host:
";
87: echo "Hostname to resolve or IP to reverse lookup"; 88: break; 89: 90: default: 91: 92: $idx=$NATS->Tests->Get($row['testtype']); 93: if (is_object($idx)) 94: { 95: // Test-specific formatting here 96: 97: $pcount=0; // param count 98: //echo $NATS->Tests->Tests[$row['testtype']]->parameters; 99: if (isset($NATS->Tests->Tests[$row['testtype']]->parameters) && is_array($NATS->Tests->Tests[$row['testtype']]->parameters) 100: && (count($NATS->Tests->Tests[$row['testtype']]->parameters)>0) ) 101: { 102: echo ""; 103: foreach($NATS->Tests->Tests[$row['testtype']]->parameters as $param) 104: { 105: $pname="testparam"; 106: if ($pcount>0) $pname.=$pcount; 107: $undertext=""; 108: $pos=strpos($param,"/"); 109: if ($pos>0) 110: { 111: $undertext=substr($param,$pos+1); 112: $param=substr($param,0,$pos); 113: } 114: echo ""; 119: if ($undertext!="") 120: { 121: echo ""; 122: } 123: $pcount++; 124: } 125: echo "
"; 115: echo $param; 116: echo " :"; 117: echo ""; 118: echo "
 ".$undertext."
";
126: } 127: else 128: { 129: $NATS->Tests->Tests[$row['testtype']]->Create(); 130: $out=$NATS->Tests->Tests[$row['testtype']]->instance->DisplayForm($row); 131: if ($out===false) echo "No options for test"; 132: else echo $out; 133: } 134: 135: 136: 137: 138: } 139: 140: 141: // And the catch-all of catch-alls 142: else echo ""; 143: } 144: 145: echo "

Custom Name: ".hlink("Test:Name"); 149: echo "
Test Enabled:"; 152: if ($row['testenabled']==1) $s=" checked"; 153: else $s=""; 154: echo " "; 155: echo hlink("Test:Enabled"); 156: echo "
Recorded:"; 158: if ($row['testrecord']==1) $s=" checked"; 159: else $s=""; 160: echo " ".hlink("Test:Recorded"); 161: echo "
Simple Evaluation:"; 163: if ($row['simpleeval']==1) $s=" checked"; 164: else $s=""; 165: echo " ".hlink("Test:SimpleEvaluation"); 166: echo "

Test Interval: Minutes ".hlink("Test:Interval"); 170: echo "
Test Due:"; 174: if ($row['nextrunx']>0) echo nicedt($row['nextrunx'])." - ".nicenextx($row['nextrunx']); 175: else echo "Now"; 176: echo "
Last Tested:".nicedt($row['lastrunx'])." - ".dtago($row['lastrunx'])."
"; 179: echo "Check ASAP"; 180: echo "

Custom Attempts: ".hlink("Test:Attempts"); 184: echo "
Custom Timeout: Seconds ".hlink("Test:Timeout"); 187: echo "

  Abandon Changes"; 190: echo "
";
192: End_Round(); 193: echo "

";
194: 195: 196: 197: $t="Test Evaluators"; 198: Start_Round($t,600); 199: 200: 201: echo ""; 202: echo ""; 208: 209: $q="SELECT * FROM fneval WHERE testid=\"L".ss($_REQUEST['localtestid'])."\" ORDER BY weight ASC"; 210: $r=$NATS->DB->Query($q); 211: while ($row=$NATS->DB->Fetch_Array($r)) 212: { 213: echo ""; 219: //echo ""; 220: } 221: 222: echo "
";
223: echo ""; 224: echo ""; 225: echo ""; 226: echo ""; 227: echo ""; 234: echo ""; 235: 236: 237: echo "
 
"; 203: if ($row['simpleeval']==1) 204: { 205: echo "Custom evaluators will not be processed as
Simple Evaluation is checked (above)

";
206: } 207: echo "
"; 214: echo ""; 215: echo "  "; 216: echo "Result ".eval_operator_text($row['eoperator'])." ".$row['evalue']." => ".oText($row['eoutcome']).""; 217: //echo " | Up/Down"; 218: echo "
 
 
Add New : => "; 230: echo "
";
238: End_Round(); 239: 240: ?> 241: 242: 243: Screen_Footer(); 244: ?> 245: