Viewing File server/web/localtest.edit.php of 0.04.24a
|
1: <?php 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); 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 "No such test!<br><br>"; 42: Screen_Footer(); 43: exit(); 44: } 45: 46: echo "<b class=\"subtitle\">Editing Test on NodeID: <a href=node.edit.php?nodeid=".$row['nodeid'].">".$row['nodeid']."</a></b><br><br>"; 47: 48: if (isset($_REQUEST['message'])) 49: { 50: echo "<b>".$_REQUEST['message']."</b><br><br>"; 51: $poplist[]=$_REQUEST['message']; 52: } 53: 54: echo "<table border=0>"; 55: echo "<form action=localtest.action.php method=post>"; 56: echo "<input type=hidden name=localtestid value=".$_REQUEST['localtestid'].">"; 57: echo "<input type=hidden name=action value=save_form>"; 58: echo "<tr><td>Test Type :</td>"; 59: echo "<td>".lText($row['testtype']); 60: echo "</td></tr>"; 61: echo "<tr><td valign=top align=left>Test Options :</td><td>"; // new style multi-param options 62: 63: switch ($row['testtype']) 64: { 65: case "web": case "wsize": case "wtime": 66: echo "URL: <input type=text name=testparam size=30 maxlength=128 value=\"".$row['testparam']."\"><br>"; 67: echo "<i>Full URL such as https://www.somehost.com/</i>"; 68: break; 69: case "icmp": case "ping": 70: echo "Host/IP: <input type=text name=testparam size=30 maxlength=128 value=\"".$row['testparam']."\"><br>"; 71: echo "<i>DNS hostname or IP address to ping (DNS lookup not timed)</i>"; 72: break; 73: 74: case "testloop": case "testrand": 75: echo "Value: <input type=text name=testparam size=30 maxlength=128 value=\"".$row['testparam']."\"><br>"; 76: echo "<i>Value for loop or rand tests (see documentation)</i>"; 77: break; 78: 79: case "tcp": 80: echo "Port: <input type=text name=testparam size=30 maxlength=128 value=\"".$row['testparam']."\"><br>"; 81: echo "<i>TCP Port to connect to</i>"; 82: break; 83: 84: case "host": 85: echo "Host: <input type=text name=testparam size=30 maxlength=128 value=\"".$row['testparam']."\"><br>"; 86: echo "<i>Hostname to resolve or IP to reverse lookup</i>"; 87: break; 88: 89: case "dns": 90: echo "<table border=0>"; 91: echo "<tr><td align=left>"; 92: echo "Host/Domain/IP :"; 93: echo "</td><td align=left>"; 94: echo "<input type=text name=testparam1 size=30 maxlength=128 value=\"".$row['testparam1']."\">"; 95: echo "</td></tr>"; 96: echo "<tr><td align=left>"; 97: echo "Nameserver :"; 98: echo "</td><td align=left>"; 99: echo "<input type=text name=testparam size=30 maxlength=128 value=\"".$row['testparam']."\">"; 100: echo "</td></tr>"; 101: echo "<tr><td colspan=2><i>Leave blank to use the node's hostname</i></td></tr>"; 102: echo "<tr><td align=left>"; 103: echo "Query Type :"; 104: echo "</td><td align=left>"; 105: echo "<select name=testparam2>"; 106: if ($row['testparam2']!="") 107: echo "<option value=".$row['testparam2'].">".$row['testparam2']."</option>"; 108: echo "<option value=A>A</option>"; 109: echo "<option value=MX>MX</option>"; 110: echo "<option value=MX>NS</option>"; 111: echo "<option value=PTR>PTR</option>"; 112: echo "<option value=MX>SOA</option>"; 113: echo "</select>"; 114: echo "</td></tr>"; 115: echo "<tr><td align=left>"; 116: echo "Port :"; 117: echo "</td><td align=left>"; 118: echo "<input type=text name=testparam3 size=10 maxlength=128 value=\"".$row['testparam3']."\">"; 119: echo "</td></tr>"; 120: echo "<tr><td colspan=2><i>Leave blank to use protocol default port (53)</i></td></tr>"; 121: echo "<tr><td align=left>"; 122: echo "TCP :"; 123: echo "</td><td align=left>"; 124: if ($row['testparam4']==1) $s=" checked"; 125: else $s=""; 126: echo "<input type=checkbox name=testparam4 value=1".$s.">"; 127: echo "</td></tr>"; 128: echo "<tr><td colspan=2><i>Uses UDP if unchecked</i></td></tr>"; 129: echo "</table>"; 130: break; 131: 132: case "imap": 133: echo "<table border=0>"; 134: echo "<tr><td align=left>"; 135: echo "Hostname :"; 136: echo "</td><td align=left>"; 137: echo "<input type=text name=testparam size=30 maxlength=128 value=\"".$row['testparam']."\">"; 138: echo "</td></tr>"; 139: echo "<tr><td align=left>"; 140: echo "Username :"; 141: echo "</td><td align=left>"; 142: echo "<input type=text name=testparam1 size=30 maxlength=128 value=\"".$row['testparam1']."\">"; 143: echo "</td></tr>"; 144: echo "<tr><td align=left>"; 145: echo "Password :"; 146: echo "</td><td align=left>"; 147: //echo "<input type=password name=testparam2 size=30 maxlength=128 value=\"".$row['testparam2']."\">"; // debug 148: echo "<input type=text name=testparam2 size=30 maxlength=128 value=\"\">"; 149: echo "<input type=hidden name=keeptestparam2 value=1>"; 150: echo "</td></tr>"; 151: echo "<tr><td colspan=2><i>Leave blank to not change or <input type=checkbox name=clearparam2 value=1> click to clear</i></td></tr>"; 152: echo "<tr><td align=left>"; 153: echo "Protocol :"; 154: echo "</td><td align=left>"; 155: if ($row['testparam3']=="") $protocol="imap"; 156: else $protocol=$row['testparam3']; 157: echo "<select name=testparam3>"; 158: echo "<option value=".$protocol.">".$protocol."</option>"; 159: echo "<option value=imap>imap</option>"; 160: echo "<option value=pop3>pop3</option>"; 161: echo "</select>"; 162: echo "</td></tr>"; 163: echo "<tr><td align=left>"; 164: echo "Port :"; 165: echo "</td><td align=left>"; 166: echo "<input type=text name=testparam4 size=10 maxlength=128 value=\"".$row['testparam4']."\">"; 167: echo "</td></tr>"; 168: echo "<tr><td colspan=2><i>Leave blank use protocol default port (110, 143 etc)</i></td></tr>"; 169: echo "<tr><td align=left>"; 170: echo "SSL :"; 171: echo "</td><td align=left>"; 172: if ($row['testparam5']==1) $s=" checked"; 173: else $s=""; 174: echo "<input type=checkbox name=testparam5 value=1".$s.">"; 175: echo "</td></tr>"; 176: echo "</table>"; 177: break; 178: 179: case "mysql": case "mysqlrows": 180: echo "<table border=0>"; 181: echo "<tr><td align=left>"; 182: echo "Hostname :"; 183: echo "</td><td align=left>"; 184: echo "<input type=text name=testparam size=30 maxlength=128 value=\"".$row['testparam']."\">"; 185: echo "</td></tr>"; 186: echo "<tr><td align=left>"; 187: echo "Username :"; 188: echo "</td><td align=left>"; 189: echo "<input type=text name=testparam1 size=30 maxlength=128 value=\"".$row['testparam1']."\">"; 190: echo "</td></tr>"; 191: echo "<tr><td align=left>"; 192: echo "Password :"; 193: echo "</td><td align=left>"; 194: //echo "<input type=password name=testparam2 size=30 maxlength=128 value=\"".$row['testparam2']."\">"; // debug 195: echo "<input type=text name=testparam2 size=30 maxlength=128 value=\"\">"; 196: echo "<input type=hidden name=keeptestparam2 value=1>"; 197: echo "</td></tr>"; 198: echo "<tr><td colspan=2><i>Leave blank to not change or <input type=checkbox name=clearparam2 value=1> click to clear</i></td></tr>"; 199: 200: //echo "<tr><td colspan=2><i>Leave blank use protocol default port (110, 143 etc)</i></td></tr>"; 201: 202: echo "<tr><td align=left>"; 203: echo "Database :"; 204: echo "</td><td align=left>"; 205: echo "<input type=text name=testparam3 size=30 maxlength=128 value=\"".$row['testparam3']."\">"; 206: echo "</td></tr>"; 207: echo "<tr><td colspan=2><i>Optional - leave blank to not bother with select_db</td></tr>"; 208: 209: echo "<tr><td align=left>"; 210: echo "Query :"; 211: echo "</td><td align=left>"; 212: echo "<input type=text name=testparam4 size=30 maxlength=128 value=\"".$row['testparam4']."\">"; 213: echo "</td></tr>"; 214: echo "<tr><td colspan=2><i>Optional - leave blank to not bother with a query</td></tr>"; 215: 216: echo "</table>"; 217: break; 218: 219: case "smtp": 220: echo "<table border=0>"; 221: echo "<tr><td align=left>"; 222: echo "Hostname :"; 223: echo "</td><td align=left>"; 224: echo "<input type=text name=testparam size=30 maxlength=128 value=\"".$row['testparam']."\">"; 225: echo "</td></tr>"; 226: echo "<tr><td align=left>"; 227: echo "Port :"; 228: echo "</td><td align=left>"; 229: echo "<input type=text name=testparam1 size=30 maxlength=128 value=\"".$row['testparam1']."\">"; 230: echo "</td></tr>"; 231: 232: echo "<tr><td colspan=2><i>Optional - leave blank to use the default (25)</td></tr>"; 233: 234: echo "</table>"; 235: break; 236: 237: default: 238: echo "<input type=text name=testparam size=30 maxlength=128 value=\"".$row['testparam']."\">"; 239: } 240: 241: echo "</td></tr>"; 242: echo "<tr><td>Custom Name :</td>"; 243: echo "<td><input type=text size=30 name=testname maxlength=64 value=\"".$row['testname']."\"> ".hlink("Test:Name"); 244: echo "</td></tr>"; 245: echo "<tr><td>Test Enabled :</td>"; 246: echo "<td>"; 247: if ($row['testenabled']==1) $s=" checked"; 248: else $s=""; 249: echo "<input type=checkbox name=testenabled value=1".$s."> "; 250: echo hlink("Test:Enabled"); 251: echo "</td></tr>"; 252: echo "<tr><td>Recorded :</td><td>"; 253: if ($row['testrecord']==1) $s=" checked"; 254: else $s=""; 255: echo "<input type=checkbox name=testrecord value=1".$s."> ".hlink("Test:Recorded"); 256: echo "</td></tr>"; 257: echo "<tr><td>Simple Evaluation :</td><td>"; 258: if ($row['simpleeval']==1) $s=" checked"; 259: else $s=""; 260: echo "<input type=checkbox name=simpleeval value=1".$s."> ".hlink("Test:SimpleEvaluation"); 261: echo "</td></tr>"; 262: echo "<tr><td>Custom Attempts :</td>"; 263: echo "<td><input type=text size=3 name=attempts maxlength=2 value=\"".$row['attempts']."\"> ".hlink("Test:Attempts"); 264: echo "</td></tr>"; 265: echo "<tr><td>Custom Timeout :</td>"; 266: echo "<td><input type=text name=timeout size=3 maxlength=3 value=\"".$row['timeout']."\"> ".hlink("Test:Timeout"); 267: echo "</td></tr>"; 268: echo "<tr><td colspan=2><input type=submit value=\"Save Test Settings\"> <a href=node.edit.php?nodeid=".$row['nodeid'].">Abandon Changes</a>"; 269: echo "</td></tr></form>"; 270: 271: echo "<tr><td colspan=2> <br>"; 272: echo "<b class=\"subtitle\">Test Evaluators</b><br><br>"; 273: if ($row['simpleeval']==1) 274: { 275: echo "<i>Custom evaluators will not be processed as<br>Simple Evaluation is checked (above)</i><br>"; 276: } 277: echo "</td></tr>"; 278: 279: $q="SELECT * FROM fneval WHERE testid=\"L".ss($_REQUEST['localtestid'])."\" ORDER BY weight ASC"; 280: $r=$NATS->DB->Query($q); 281: while ($row=$NATS->DB->Fetch_Array($r)) 282: { 283: echo "<tr><td colspan=2>"; 284: echo "<a href=eval.action.php?action=delete&back=".urlencode("localtest.edit.php?localtestid=".$_REQUEST['localtestid']."&message=Evaluator+Deleted")."&evalid=".$row['evalid'].">"; 285: echo "<img src=images/options/action_delete.png border=0 style=\"vertical-align: bottom;\"></a> "; 286: echo "Result ".eval_operator_text($row['eoperator'])." ".$row['evalue']." => ".oText($row['eoutcome']).""; 287: //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>"; 288: echo "</td></tr>"; 289: //echo "<tr><td colspan=2> </td></tr>"; 290: } 291: 292: echo "<form action=eval.action.php>"; 293: echo "<input type=hidden name=action value=create>"; 294: echo "<input type=hidden name=testid value=L".$_REQUEST['localtestid'].">"; 295: echo "<tr><td colspan=2> <br></td></tr>"; 296: echo "<tr><td><b>Add New :</b></td>"; 297: echo "<td><select name=eoperator>"; 298: echo "<option value=ET>Equal To</option><option value=LT>Less Than</option><option value=GT>Greater Than</option>"; 299: echo "</select> <input type=text name=evalue size=4 value=0> => "; 300: echo "<select name=eoutcome>"; 301: echo "<option value=1>Warning</option>"; 302: echo "<option value=2>Failure</option>"; 303: echo "</select> <input type=submit value=Add></td></tr>"; 304: echo "</form>"; 305: 306: 307: echo "</table>"; 308: 309: ?> 310: 311: <?php 312: Screen_Footer(); 313: ?> 314: