Viewing File server/web/localtest.edit.php of 1.11.2a
|
1: <?php 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: 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($NATS->Lang->Item("local.test.editor")); 32: ob_end_flush(); 33: Screen_Header($NATS->Lang->Item("local.test.editor"),1,1,"","main","nodes"); 34: ?> 35: <br> 36: <?php 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 $NATS->Lang->Item("no.test")."<br><br>"; 42: Screen_Footer(); 43: exit(); 44: } 45: if ($row['testname']!="") $nicename=$row['testname']; 46: else $nicename=lText($row['testtype']); 47: 48: echo "<b class=\"subtitle\">".$NATS->Lang->Item("editing.test").": <a href=node.edit.php?nodeid=".$row['nodeid'].">".$row['nodeid']."</a> > ".$nicename."</b><br><br>"; 49: 50: if (isset($_REQUEST['message'])) 51: { 52: echo "<b>".$_REQUEST['message']."</b><br><br>"; 53: $poplist[]=$_REQUEST['message']; 54: } 55: $title="<b class=\"sectitle\">".$NATS->Lang->Item("test.settings")."</b>"; 56: Start_Round($title,600); 57: 58: echo "<table border=0 width=100%>"; 59: echo "<form action=localtest.action.php method=post>"; 60: echo "<input type=hidden name=localtestid value=".$_REQUEST['localtestid'].">"; 61: echo "<input type=hidden name=action value=save_form>"; 62: echo "<tr><td><b>".$NATS->Lang->Item("test.type").": </b></td>"; 63: echo "<td><b>".lText($row['testtype']); 64: echo "</b></td></tr>"; 65: echo "<tr><td colspan=2><hr class=\"nspacer\"></td></tr>"; 66: echo "<tr><td valign=top align=left>".$NATS->Lang->Item("test.options").":</td><td>"; // new style multi-param options 67: 68: switch ($row['testtype']) 69: { 70: case "web": case "wsize": case "wtime": 71: echo $NATS->Lang->Item("url").": <input type=text name=testparam size=30 maxlength=128 value=\"".$row['testparam']."\"><br>"; 72: echo "<i>".$NATS->Lang->Item("full.url")."</i>"; 73: break; 74: 75: case "icmp": case "ping": 76: echo $NATS->Lang->Item("host.ip").": <input type=text name=testparam size=30 maxlength=128 value=\"".$row['testparam']."\"><br>"; 77: echo "<i>".$NATS->Lang->Item("host.ip.lookup")."</i>"; 78: break; 79: 80: case "testloop": case "testrand": 81: echo $NATS->Lang->Item("value").": <input type=text name=testparam size=30 maxlength=128 value=\"".$row['testparam']."\"><br>"; 82: echo "<i>".$NATS->Lang->Item("value.desc")."</i>"; 83: break; 84: 85: case "host": 86: echo $NATS->Lang->Item("host").": <input type=text name=testparam size=30 maxlength=128 value=\"".$row['testparam']."\"><br>"; 87: echo "<i>".$NATS->Lang->Item("host.desc")."</i>"; 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 "<table border=0>"; 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 "<tr><td align=right>"; 115: echo $param; 116: echo " :</td><td align=left>"; 117: echo "<input type=text name=\"".$pname."\" value=\"".$row[$pname]."\" size=30 maxlength=128>"; 118: echo "</td></tr>"; 119: if ($undertext!="") 120: { 121: echo "<tr><td> </td><td align=left><i>".$undertext."</i></td></tr>"; 122: } 123: $pcount++; 124: } 125: echo "</table>"; 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 "<i>".$NATS->Lang->Item("no.test.options")."</i>"; 132: else echo $out; 133: } 134: 135: 136: 137: 138: } 139: 140: 141: // And the catch-all of catch-alls 142: else echo "<input type=text name=testparam size=30 maxlength=128 value=\"".$row['testparam']."\">"; 143: } 144: 145: echo "</td></tr>"; 146: echo "<tr><td colspan=2><hr class=\"nspacer\"></td></tr>"; 147: echo "<tr><td>".$NATS->Lang->Item("custom.name").":</td>"; 148: echo "<td><input type=text size=30 name=testname maxlength=64 value=\"".$row['testname']."\"> ".hlink("Test:Name"); 149: echo "</td></tr>"; 150: echo "<tr><td>".$NATS->Lang->Item("test.enabled").":</td>"; 151: echo "<td>"; 152: if ($row['testenabled']==1) $s=" checked"; 153: else $s=""; 154: echo "<input type=checkbox name=testenabled value=1".$s."> "; 155: echo hlink("Test:Enabled"); 156: echo "</td></tr>"; 157: echo "<tr><td>".$NATS->Lang->Item("recorded").":</td><td>"; 158: if ($row['testrecord']==1) $s=" checked"; 159: else $s=""; 160: echo "<input type=checkbox name=testrecord value=1".$s."> ".hlink("Test:Recorded"); 161: echo "</td></tr>"; 162: echo "<tr><td>".$NATS->Lang->Item("simple.eval").":</td><td>"; 163: if ($row['simpleeval']==1) $s=" checked"; 164: else $s=""; 165: echo "<input type=checkbox name=simpleeval value=1".$s."> ".hlink("Test:SimpleEvaluation"); 166: echo "</td></tr>"; 167: echo "<tr><td colspan=2><hr class=\"nspacer\"></td></tr>"; 168: echo "<tr><td>".$NATS->Lang->Item("test.interval").":</td>"; 169: echo "<td><input type=text size=3 name=testinterval maxlength=8 value=\"".$row['testinterval']."\"> ".$NATS->Lang->Item("minutes")." ".hlink("Test:Interval"); 170: echo "</td></tr>"; 171: echo "<input type=hidden name=original_testinterval value=\"".$row['testinterval']."\">"; 172: echo "<tr><td valign=top>".$NATS->Lang->Item("test.due").":</td>"; 173: echo "<td>"; 174: if ($row['nextrunx']>0) echo nicedt($row['nextrunx'])." - ".nicenextx($row['nextrunx']); 175: else echo $NATS->Lang->Item("now"); 176: echo "</td></tr>"; 177: echo "<tr><td valign=top>".$NATS->Lang->Item("last.tested").":</td>"; 178: echo "<td>".nicedt($row['lastrunx'])." - ".dtago($row['lastrunx'])."<br>"; 179: echo "<a href=localtest.action.php?localtestid=".$_REQUEST['localtestid']."&action=invalidate>".$NATS->Lang->Item("check.asap")."</a>"; 180: echo "</td></tr>"; 181: echo "<tr><td colspan=2><hr class=\"nspacer\"></td></tr>"; 182: echo "<tr><td>".$NATS->Lang->Item("custom.attempts").":</td>"; 183: echo "<td><input type=text size=3 name=attempts maxlength=2 value=\"".$row['attempts']."\"> ".hlink("Test:Attempts"); 184: echo "</td></tr>"; 185: echo "<tr><td>".$NATS->Lang->Item("custom.timeout").":</td>"; 186: echo "<td><input type=text name=timeout size=3 maxlength=3 value=\"".$row['timeout']."\"> ".$NATS->Lang->Item("seconds")." ".hlink("Test:Timeout"); 187: echo "</td></tr>"; 188: echo "<tr><td colspan=2><hr class=\"nspacer\"></td></tr>"; 189: echo "<tr><td> </td><td><input type=submit value=\"".$NATS->Lang->Item("test.save")."\"> "; 190: echo "<a href=node.edit.php?nodeid=".$row['nodeid'].">".$NATS->Lang->Item("abandon.changes")."</a>"; 191: echo "</td></tr></form>"; 192: echo "</table>"; 193: End_Round(); 194: echo "<br><br>"; 195: 196: 197: 198: $t="<b class=\"sectitle\">".$NATS->Lang->Item("test.evals")."</b>"; 199: Start_Round($t,600); 200: 201: 202: echo "<table border=0 width=100%>"; 203: echo "<tr><td colspan=2> <br>"; 204: if ($row['simpleeval']==1) 205: { 206: echo "<i>".$NATS->Lang->Item("test.evals.simple")."</i><br>"; 207: } 208: echo "</td></tr>"; 209: 210: $q="SELECT * FROM fneval WHERE testid=\"L".ss($_REQUEST['localtestid'])."\" ORDER BY weight ASC"; 211: $r=$NATS->DB->Query($q); 212: while ($row=$NATS->DB->Fetch_Array($r)) 213: { 214: echo "<tr><td colspan=2>"; 215: echo "<a href=\"eval.action.php?action=delete&back=".urlencode("localtest.edit.php?localtestid=".$_REQUEST['localtestid']."&message=".$NATS->Lang->Item("eval.deleted"))."&evalid=".$row['evalid']."\">"; 216: echo "<img src=images/options/action_delete.png border=0 style=\"vertical-align: bottom;\"></a> "; 217: echo $NATS->Lang->Item("result")." ".eval_operator_text($row['eoperator'])." ".$row['evalue']." => ".oText($row['eoutcome']).""; 218: //echo " | <a href=eval.action.php?action=move&dir=up&evalid=".$row['evalid'].">Up</a>/<a href=eval.action.php?action=move&dir=dn&evalid=".$row['evalid'].">Down</a>"; 219: echo "</td></tr>"; 220: //echo "<tr><td colspan=2> </td></tr>"; 221: } 222: 223: echo "<form action=eval.action.php>"; 224: echo "<input type=hidden name=action value=create>"; 225: echo "<input type=hidden name=testid value=L".$_REQUEST['localtestid'].">"; 226: echo "<tr><td colspan=2> <br></td></tr>"; 227: echo "<tr><td><b>".$NATS->Lang->Item("add.eval")." :</b></td>"; 228: echo "<td><select name=eoperator>"; 229: echo "<option value=ET>".$NATS->Lang->Item("eval.equal")."</option><option value=LT>".$NATS->Lang->Item("eval.lt")."</option>"; 230: echo "<option value=GT>".$NATS->Lang->Item("eval.gt")."</option>"; 231: echo "</select> <input type=text name=evalue size=4 value=0> => "; 232: echo "<select name=eoutcome>"; 233: echo "<option value=1>".$NATS->Lang->Item("warning")."</option>"; 234: echo "<option value=2>".$NATS->Lang->Item("failure")."</option>"; 235: echo "</select> <input type=submit value=\"".$NATS->Lang->Item("add")."\"></td></tr>"; 236: echo "</form>"; 237: 238: 239: echo "</table>"; 240: End_Round(); 241: 242: ?> 243: 244: <?php 245: Screen_Footer(); 246: ?> 247: