Viewing File server/web/view.edit.php of 0.04.02a
|
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 View"); 32: 33: function chs($var,$def=0) 34: { 35: if (isset($_REQUEST[$var])) return ss($_REQUEST[$var]); 36: else return $def; 37: } 38: 39: 40: if (isset($_REQUEST['action'])) 41: { 42: switch ($_REQUEST['action']) 43: { 44: case "create": 45: $q="INSERT INTO fnview(vtitle,vclick,vstyle) VALUES(\"".ss($_REQUEST['vtitle'])."\",\"standard\",\"standard\")"; 46: $NATS->DB->Query($q); 47: $_REQUEST['viewid']=$NATS->DB->Insert_Id(); 48: $_REQUEST['show_options']=1; 49: $msg="Created View"; 50: break; 51: 52: case "delete": 53: if (!isset($_REQUEST['confirmed'])) 54: { 55: $back=urlencode("view.edit.php?action=delete&confirmed=1&viewid=".$_REQUEST['viewid']); 56: $link="confirm.php?action=Delete+View&back=".$back; 57: header("Location: ".$link); 58: exit(); 59: } 60: // otherwise delete 61: $qi="DELETE FROM fnviewitem WHERE viewid=".ss($_REQUEST['viewid']); 62: $NATS->DB->Query($qi); 63: $idel=$NATS->DB->Affected_Rows(); 64: $q="DELETE FROM fnview WHERE viewid=".ss($_REQUEST['viewid']); 65: $NATS->DB->Query($q); 66: $vdel=$NATS->DB->Affected_Rows(); 67: $msg="Deleted ".$vdel." Views (".$idel." Items)"; 68: header("Location: main.php?message=".urlencode($msg)); 69: exit(); 70: break; 71: 72: case "save_edit": 73: if (isset($_REQUEST['vpublic'])) $public=1; 74: else $public=0; 75: if (isset($_REQUEST['vcolon'])) $colon=1; 76: else $colon=0; 77: if (isset($_REQUEST['vdashes'])) $dashes=1; 78: else $dashes=0; 79: if (isset($_REQUEST['vtimeago'])) $ago=1; 80: else $ago=0; 81: if (!is_numeric($_REQUEST['vrefresh'])) $vref=0; 82: else $vref=ss($_REQUEST['vrefresh']); 83: $q="UPDATE fnview SET vtitle=\"".ss($_REQUEST['vtitle'])."\",vstyle=\"".ss($_REQUEST['vstyle'])."\","; 84: $q.="vclick=\"".ss($_REQUEST['vclick'])."\",vpublic=".$public.",vlinkv=".ss($_REQUEST['vlinkv']).",vrefresh=".$vref; 85: $q.=",vcolumns=".ss($_REQUEST['vcolumns']).",vdashes=".$dashes.",vcolon=".$colon.",vtimeago=".$ago; 86: $q.=" WHERE viewid=".ss($_REQUEST['viewid']); 87: $NATS->DB->Query($q); 88: if ($NATS->DB->Affected_Rows()<=0) $msg="Failed to update or nothing changed"; 89: else $msg="Saved changes ok"; 90: break; 91: 92: case "create_item": 93: $wq="SELECT iweight FROM fnviewitem WHERE viewid=".ss($_REQUEST['viewid'])." ORDER BY iweight DESC LIMIT 0,1"; 94: $wr=$NATS->DB->Query($wq); 95: if ($row=$NATS->DB->Fetch_Array($wr)) 96: { 97: $iweight=$row['iweight']+10; 98: } 99: else $iweight=10; 100: $NATS->DB->Free($wr); 101: 102: if (isset($_REQUEST['iname'])) $iname=ss($_REQUEST['iname']); 103: else $iname=""; 104: 105: $itype=ss($_REQUEST['itype']); 106: if ($itype=="node") $ioption=ss($_REQUEST['ioption_node']); 107: else if($itype=="group") $ioption=ss($_REQUEST['ioption_group']); 108: else if($itype=="testgraph") $ioption=ss($_REQUEST['ioption_testgraph']."/".$_REQUEST['ioption_testgraph_time']); 109: else if($itype=="testdetail") 110: { 111: $ioption=ss($_REQUEST['ioption_testdetail']); 112: $iname=ss($_REQUEST['iname_testdetail']); 113: } 114: else if($itype=="title") $ioption=ss($_REQUEST['ioption_title']); 115: else $ioption=""; 116: $q="INSERT INTO fnviewitem(viewid,itype,ioption,iweight,iname) VALUES(".ss($_REQUEST['viewid']).","; 117: $q.="\"".$itype."\",\"".$ioption."\",".$iweight.",\"".$iname."\")"; 118: $NATS->DB->Query($q); 119: if ($NATS->DB->Affected_Rows()>0) $msg="Created Item"; 120: else $msg="Create Item Failed"; 121: break; 122: 123: case "del_item": 124: $q="DELETE FROM fnviewitem WHERE viewitemid=".ss($_REQUEST['viewitemid']); 125: $NATS->DB->Query($q); 126: if ($NATS->DB->Affected_Rows()>0) $msg="Deleted Item"; 127: else $msg="Delete Item Failed"; 128: break; 129: 130: case "save_view_item": 131: $icol=chs("icolour",0); 132: $itxt=chs("itextstatus",0); 133: $isize=chs("isize",0); 134: $igraphic=chs("igraphic",0); 135: $idetail=chs("idetail",0); 136: $q="UPDATE fnviewitem SET "; 137: $q.="icolour=".$icol.","; 138: $q.="itextstatus=".$itxt.","; 139: $q.="isize=".$isize.","; 140: $q.="igraphic=".$igraphic.","; 141: $q.="idetail=".$idetail." "; 142: $q.="WHERE viewitemid=".ss($_REQUEST['viewitemid']); 143: $NATS->DB->Query($q); 144: //echo $q; 145: if ($NATS->DB->Affected_Rows()<=0) $msg="Save Failed or Nothing Changed"; 146: else $msg="Saved Item Changes"; 147: break; 148: 149: case "move_item": 150: if (isset($_REQUEST['dir'])) $dir=$_REQUEST['dir']; 151: else $dir="up"; 152: 153: $mywq="SELECT iweight FROM fnviewitem WHERE viewitemid=".ss($_REQUEST['viewitemid']); 154: $mywr=$NATS->DB->Query($mywq); 155: $row=$NATS->DB->Fetch_Array($mywr); 156: $myweight=$row['iweight']; 157: $NATS->DB->Free($mywr); 158: 159: if ($dir=="up") // get the next lowest one down 160: { 161: $q="SELECT viewitemid,iweight FROM fnviewitem WHERE viewid=".ss($_REQUEST['viewid'])." AND iweight<".$myweight." "; 162: $q.="ORDER BY iweight DESC LIMIT 0,1"; 163: $r=$NATS->DB->Query($q); 164: if ($row=$NATS->DB->Fetch_Array($r)) // found one to swap with 165: { 166: $uq="UPDATE fnviewitem SET iweight=".$myweight." WHERE viewitemid=".$row['viewitemid']; 167: $NATS->DB->Query($uq); 168: $uq="UPDATE fnviewitem SET iweight=".$row['iweight']." WHERE viewitemid=".ss($_REQUEST['viewitemid']); 169: $NATS->DB->Query($uq); 170: $msg="Moved Item"; 171: } 172: else $msg="Nowhere to Move Item To"; 173: } 174: else if ($dir=="down") // get the next highest 175: { 176: $q="SELECT viewitemid,iweight FROM fnviewitem WHERE viewid=".ss($_REQUEST['viewid'])." AND iweight>".$myweight." "; 177: $q.="ORDER BY iweight DESC LIMIT 0,1"; 178: $r=$NATS->DB->Query($q); 179: if ($row=$NATS->DB->Fetch_Array($r)) // found one to swap with 180: { 181: $uq="UPDATE fnviewitem SET iweight=".$myweight." WHERE viewitemid=".$row['viewitemid']; 182: $NATS->DB->Query($uq); 183: $uq="UPDATE fnviewitem SET iweight=".$row['iweight']." WHERE viewitemid=".ss($_REQUEST['viewitemid']); 184: $NATS->DB->Query($uq); 185: $msg="Moved Item"; 186: } 187: else $msg="Nowhere to Move Item To"; 188: } 189: 190: break; 191: 192: case "moveitembefore": 193: // viewitemid newweight 194: $q="UPDATE fnviewitem SET iweight=iweight+1 WHERE viewid=".ss($_REQUEST['viewid'])." AND iweight>=".ss($_REQUEST['newweight']); 195: $NATS->DB->Query($q); 196: $q="UPDATE fnviewitem SET iweight=".ss($_REQUEST['newweight'])." WHERE viewitemid=".ss($_REQUEST['viewitemid']); 197: //$NATS-DB->Query($q); 198: $NATS->DB->Query($q); 199: break; 200: 201: default: $msg="Unknown Action"; 202: } 203: } 204: 205: ob_end_flush(); 206: Screen_Header("View Editor",1); 207: 208: 209: $q="SELECT * FROM fnview WHERE viewid=".ss($_REQUEST['viewid'])." LIMIT 0,1"; 210: $r=$NATS->DB->Query($q); 211: if (!$row=$NATS->DB->Fetch_Array($r)) 212: { 213: echo "No such view.<br><br>"; 214: Screen_Footer(); 215: exit(); 216: } 217: 218: $NATS->DB->Free($r); 219: if (isset($msg)) 220: { 221: echo "<b>".$msg."</b><br><br>"; 222: $poplist[]=$msg; 223: } 224: 225: //echo "<table width=100% border=0 cellspacing=0 cellpadding=0><tr><td align=left>"; 226: echo "<b class=\"subtitle\">Editing View: <a href=view.php?viewid=".$_REQUEST['viewid'].">".$row['vtitle']."</a></b>"; 227: //echo "</td><td align=right><b class=\"minortitle\"><a href=\"view.php?viewid=".$_REQUEST['viewid']."\" target=top>Preview View</a> / "; 228: //echo "<a href=view.link.php?viewid=".$_REQUEST['viewid'].">Link to View</a></b>"; 229: //echo "</td></tr></table>"; 230: echo " <b style=\"font-size: 13pt;\">[ <a href=\"view.php?viewid=".$_REQUEST['viewid']."\" target=top>Preview</a> | "; 231: echo "<a href=view.link.php?viewid=".$_REQUEST['viewid'].">Linking</a> ]</b>"; 232: echo "<br>"; 233: 234: echo "<form action=view.edit.php method=post>"; 235: echo "<div id=\"view_edit_options\">"; 236: echo "<table class=\"nicetable\">"; 237: 238: echo "<input type=hidden name=action value=save_edit>"; 239: echo "<input type=hidden name=viewid value=".$_REQUEST['viewid'].">"; 240: 241: echo "<tr><td align=left valign=top><b>View Title"; 242: echo "</b></td><td align=left>"; 243: echo "<input type=text name=vtitle size=30 maxlength=64 value=\"".$row['vtitle']."\">"; 244: echo "</td></tr>"; 245: echo "<tr><td colspan=2> <br></td></tr>"; 246: 247: echo "<tr><td><b>Public View</b></td>"; 248: echo "<td>"; 249: if ($row['vpublic']==1) $s=" checked"; 250: else $s=""; 251: echo "<input type=checkbox name=vpublic value=1".$s."> ".hlink("View:Public"); 252: echo "</td></tr>"; 253: echo "<tr><td colspan=2> <br></td></tr>"; 254: 255: echo "<tr><td align=left valign=top><b>Page Style</b></td>"; 256: echo "<td>"; 257: if ($row['vstyle']=="standard") $s=" checked"; 258: else $s=""; 259: echo "<b><input type=radio name=vstyle value=standard".$s."> Standard</b><br>"; 260: echo "Standard full-page headers and footers with "local" page and style includes<br><br>"; 261: if ($row['vstyle']=="mobile") $s=" checked"; 262: else $s=""; 263: echo "<b><input type=radio name=vstyle value=mobile".$s."> Mobile/Minimal</b><br>"; 264: echo "Very minimal and absolute page style suitable for mobile browser and/or inline JS usage<br><br>"; 265: if ($row['vstyle']=="plain") $s=" checked"; 266: else $s=""; 267: echo "<b><input type=radio name=vstyle value=plain".$s."> Plain</b><br>"; 268: echo "Totally plain output<br><br>"; 269: 270: echo "</td></tr>"; 271: 272: echo "<tr><td align=left valign=top><b>Link Types</b></td>"; 273: echo "<td>"; 274: if ($row['vclick']=="standard") $s=" checked"; 275: else $s=""; 276: echo "<b><input type=radio name=vclick value=standard".$s."> Standard</b><br>"; 277: echo "Standard <i>a href</i> links for same window/frame<br><br>"; 278: if ($row['vclick']=="frametop") $s=" checked"; 279: else $s=""; 280: echo "<b><input type=radio name=vclick value=frametop".$s."> Same Window (Frame Top)</b><br>"; 281: echo "<i>a href</i> link to the window/frame top<br><br>"; 282: if ($row['vclick']=="newwindow") $s=" checked"; 283: else $s=""; 284: echo "<b><input type=radio name=vclick value=newwindow".$s."> New Window</b><br>"; 285: echo "Open a New Window<br><br>"; 286: if ($row['vclick']=="disabled") $s=" checked"; 287: else $s=""; 288: echo "<b><input type=radio name=vclick value=disabled".$s."> Disabled</b><br>"; 289: echo "No links (disabled)<br><br>"; 290: if ($row['vlinkv']==0) $s=""; else $s=" selected"; 291: $lq="SELECT viewid,vtitle FROM fnview WHERE viewid!=".ss($_REQUEST['viewid']); 292: $lr=$NATS->DB->Query($lq); 293: echo "<b>Links to Another View: </b>"; 294: echo "<select name=vlinkv>"; 295: echo "<option value=0".$s.">No (Go to FreeNATS)</option>"; 296: while ($lrow=$NATS->DB->Fetch_Array($lr)) 297: { 298: if ($lrow['viewid']==$row['vlinkv']) $s=" selected"; 299: else $s=""; 300: echo "<option value=\"".$lrow['viewid']."\"".$s.">".$lrow['vtitle']."</option>"; 301: } 302: echo "</select> ".hlink("View:LinkAnotherView")."<br><br>"; 303: $NATS->DB->Free($lr); 304: echo "</td></tr>"; 305: 306: echo "<tr><td><b>Colons (before text status)</b></td>"; 307: echo "<td>"; 308: if ($row['vcolon']==1) $s=" checked"; 309: else $s=""; 310: echo "<input type=checkbox name=vcolon value=1".$s."> ".hlink("View:Colons"); 311: echo "</td></tr>"; 312: 313: echo "<tr><td><b>Dashes (before times)</b></td>"; 314: echo "<td>"; 315: if ($row['vdashes']==1) $s=" checked"; 316: else $s=""; 317: echo "<input type=checkbox name=vdashes value=1".$s."> ".hlink("View:Dashes"); 318: echo "</td></tr>"; 319: 320: echo "<tr><td><b>Times use XX:XX ago</b></td>"; 321: echo "<td>"; 322: if ($row['vtimeago']==1) $s=" checked"; 323: else $s=""; 324: echo "<input type=checkbox name=vtimeago value=1".$s."> ".hlink("View:TimeAgo"); 325: echo "</td></tr>"; 326: 327: echo "<tr><td><b>Columns"; 328: echo "</b></td><td align=left>"; 329: echo "<input type=text name=vcolumns size=4 maxlength=2 value=\"".$row['vcolumns']."\"> ".hlink("View:Columns"); 330: echo "</td></tr>"; 331: echo "<tr><td><b>Refresh"; 332: echo "</b></td><td align=left>"; 333: echo "<input type=text name=vrefresh size=6 maxlength=6 value=\"".$row['vrefresh']."\"> ".hlink("View:Refresh"); 334: echo "</td></tr>"; 335: echo "<tr><td><b>Save</b></td><td><input type=submit value=\"Save View Settings\"> "; 336: echo "<a href=view.edit.php?viewid=".$_REQUEST['viewid'].">Cancel / Abandon Changes</a>"; 337: echo "</td></tr>"; 338: echo "</table>"; 339: echo "</div>"; 340: echo "</form>"; 341: echo "\n<script type=\"text/javascript\">\n"; 342: echo "var editData=document.getElementById('view_edit_options').innerHTML;\n"; 343: echo "function show_edit_options()\n"; 344: echo "{\n"; 345: echo "document.getElementById('view_edit_options').innerHTML=editData;\n"; 346: echo "}\n"; 347: if (!isset($_REQUEST['show_options'])) 348: echo "document.getElementById('view_edit_options').innerHTML=\"<b>[ <a href=\\\"javascript:show_edit_options()\\\">Expand View Options</a> ]</b>\";\n"; 349: echo "</script>\n"; 350: 351: // movement list 352: $movs=array(); 353: $movc=0; 354: $q="SELECT itype,ioption,iweight FROM fnviewitem WHERE viewid=".ss($_REQUEST['viewid'])." ORDER BY iweight ASC"; 355: $r=$NATS->DB->Query($q); 356: while ($row=$NATS->DB->Fetch_Array($r)) 357: { 358: $movs[$movc]['name']=substr(ViewItemTxt($row['itype'],$row['ioption']),0,32)."..."; 359: $movs[$movc]['weight']=$row['iweight']; 360: $movc++; 361: } 362: $NATS->DB->Free($r); 363: 364: //echo "<br><br>"; 365: $q="SELECT * FROM fnviewitem WHERE viewid=".ss($_REQUEST['viewid'])." ORDER BY iweight ASC"; 366: $r=$NATS->DB->Query($q); 367: if ($NATS->DB->Num_Rows($r)<=0) echo "<i>No view objects yet defined.</i><br><br>"; 368: else $l=$NATS->DB->Num_Rows($r); 369: $f=0; 370: 371: $pitem=0; 372: echo "<script type=\"text/javascript\">\n"; 373: echo "var viewOptions=new Array();\n"; 374: echo "function toggleOptionsTable(id)\n"; 375: echo "{\n"; 376: echo "if (document.getElementById('options_'+id).innerHTML=='') // write out\n"; 377: echo "document.getElementById('options_'+id).innerHTML=viewOptions[id];\n"; 378: echo "else\n"; 379: echo " {\n"; 380: echo " viewOptions[id]=document.getElementById('options_'+id).innerHTML; // save back\n"; 381: echo "document.getElementById('options_'+id).innerHTML='';\n"; 382: echo " }\n"; 383: echo "}\n"; 384: echo "</script>\n"; 385: 386: 387: while ($row=$NATS->DB->Fetch_Array($r)) 388: { 389: echo "<table class=\"viewtable\" cellspacing=0 cellpadding=0><tr><td align=left valign=top>"; 390: echo "<a name=\"".$row['viewitemid']."\"></a>"; 391: 392: echo "Item: <b>"; 393: echo ViewItemTxt($row['itype'],$row['ioption']); 394: echo "</b> (<a href=\"javascript:toggleOptionsTable('".$pitem."')\">show/hide options</a>)<br>"; 395: echo "<form action=view.edit.php#".$row['viewitemid']." method=post>"; 396: //echo "<table width=600 class=\"hidenicetable\" id=\"options_".$row['viewitemid']."\">"; 397: echo "<div id=\"options_".$pitem."\">"; 398: echo "<table width=600 class=\"nicetable\">"; 399: 400: echo "<input type=hidden name=viewid value=".$_REQUEST['viewid'].">"; 401: echo "<input type=hidden name=action value=save_view_item>"; 402: echo "<input type=hidden name=viewitemid value=".$row['viewitemid'].">"; 403: echo "<tr><td align=left valign=top colspan=4>"; 404: echo "<tr><td width=25% align=right>"; 405: echo "Use Colour :"; 406: echo "</td><td align=left width=25%>"; 407: if ($row['icolour']==1) $s=" checked"; 408: else $s=""; 409: echo "<input type=checkbox name=icolour value=1".$s.">"; 410: echo " ".hlink("View:UseColour"); 411: echo "</td>"; 412: 413: echo "<td align=right width=25%>"; 414: echo "Text Status :"; 415: echo "</td><td align=left width=25%>"; 416: if ($row['itextstatus']==1) $s=" checked"; 417: else $s=""; 418: echo "<input type=checkbox name=itextstatus value=1".$s.">"; 419: echo " ".hlink("View:TextStatus"); 420: echo "</td></tr>"; 421: 422: echo "<tr><td align=right>"; 423: echo "Item Size :"; 424: echo "</td><td align=left>"; 425: echo "<select name=isize>"; 426: if ($row['isize']>0) echo "<option value=1 checked>Large</option>"; 427: else echo "<option value=0 checked>Small</option>"; 428: echo "<option value=1>"; 429: echo "Large</option>"; 430: echo "<option value=0>"; 431: echo "Small</option>"; 432: echo "</select>"; 433: echo "</td>"; 434: echo "<td align=right>"; 435: echo "Graphics :"; 436: echo "</td><td align=left>"; 437: echo "<select name=igraphic>"; 438: if ($row['igraphic']==2) echo "<option value=2 checked>Node/Group</option>"; 439: else if ($row['igraphic']==1) echo "<option value=1 checked>Status Light</option>"; 440: else echo "<option value=0 checked>No Graphic</option>"; 441: echo "<option value=2>"; 442: echo "Node/Group</option>"; 443: echo "<option value=1>"; 444: echo "Status Light</option>"; 445: echo "<option value=0>"; 446: echo "No Graphic</option>"; 447: echo "</select>"; 448: echo "</td></tr>"; 449: 450: echo "<tr><td width=25% align=right>"; 451: echo "Show Detail :"; 452: echo "</td><td align=left width=25%>"; 453: if ($row['idetail']>0) $s=" checked"; 454: else $s=""; 455: echo "<input type=checkbox name=idetail value=1".$s.">"; 456: echo " ".hlink("View:ShowDetail"); 457: echo "</td>"; 458: 459: echo "<td align=center colspan=2><input type=submit value=\"Save Changes to Item\"></td></tr>"; 460: 461: echo "</table></div><table width=600 border=0>"; 462: echo "</form>"; 463: echo "<form action=view.edit.php method=post>"; 464: echo "<input type=hidden name=viewid value=".$_REQUEST['viewid'].">"; 465: echo "<input type=hidden name=viewitemid value=".$row['viewitemid'].">"; 466: echo "<input type=hidden name=action value=moveitembefore>"; 467: 468: echo "<tr><td colspan=2 align=left><b>Move: </b>"; 469: 470: if ($f==0) echo "<img src=images/arrows/off/arrow_top.png>"; 471: else 472: { 473: echo "<a href=view.edit.php?viewid=".$_REQUEST['viewid']."&action=move_item&dir=up&viewitemid=".$row['viewitemid'].">"; 474: echo "<img src=\"images/arrows/on/arrow_top.png\" border=0>"; 475: echo "</a>"; 476: } 477: 478: if ($f>=($l-1)) echo "<img src=images/arrows/off/arrow_down.png>"; 479: else 480: { 481: echo "<a href=view.edit.php?viewid=".$_REQUEST['viewid']."&action=move_item&dir=down&viewitemid=".$row['viewitemid'].">"; 482: echo "<img src=\"images/arrows/on/arrow_down.png\" border=0>"; 483: echo "</a>"; 484: } 485: 486: $f++; 487: 488: echo " Before: <select name=newweight style=\"font-size: 8pt;\">"; 489: foreach($movs as $mov) 490: echo "<option value=\"".$mov['weight']."\">".$mov['name']."</option>"; 491: echo "</select> <input type=submit value=Move style=\"font-size: 8pt;\">"; 492: 493: echo "</td><td colspan=2 align=right><b><a href=view.edit.php?viewid=".$_REQUEST['viewid']."&action=del_item&viewitemid=".$row['viewitemid'].">Delete Item</a>"; 494: echo "</b></td></tr>"; 495: echo "</form>"; 496: echo "</table>"; 497: echo "<script type=\"text/javascript\">\n"; 498: echo "viewOptions[".$pitem."]=document.getElementById('options_".$pitem."').innerHTML;\n"; 499: echo "document.getElementById('options_".$pitem."').innerHTML=\"\";\n"; 500: $pitem++; 501: echo "</script>\n"; 502: echo "</td></tr></table>"; 503: } 504: 505: $NATS->DB->Free($r); 506: 507: 508: echo "\n<script type=\"text/javascript\">\n"; 509: echo "function view_radio_select( itemtype )\n"; 510: echo "{\n"; 511: echo "document.getElementById('newitem_'+itemtype).checked=true;\n"; 512: echo "//\n"; 513: echo "}\n"; 514: echo "</script>\n"; 515: 516: echo "<br><br>"; 517: echo "<table width=600 class=\"nicetable\">"; 518: echo "<form action=view.edit.php method=post name=viewcreateform>"; 519: echo "<input type=hidden name=viewid value=".$_REQUEST['viewid'].">"; 520: echo "<input type=hidden name=action value=create_item>"; 521: echo "<tr><td colspan=4><b>Create New Item</b></td></tr>"; 522: 523: echo "<tr><td width=25% align=center>"; 524: echo "<input type=radio name=itype value=node checked id=\"newitem_node\">"; 525: echo "</td><td colspan=3 align=left>"; 526: echo "<b>Individual Node: </b>"; 527: echo "<select name=ioption_node onchange=\"view_radio_select('node')\">"; 528: $nq="SELECT nodeid,nodename FROM fnnode"; 529: $nr=$NATS->DB->Query($nq); 530: while ($node=$NATS->DB->Fetch_Array($nr)) 531: { 532: echo "<option value=".$node['nodeid'].">".$node['nodename']." (".$node['nodeid'].")</option>"; 533: } 534: $NATS->DB->Free($nr); 535: echo "</select>"; 536: echo "</td></tr>"; 537: /* 538: id=\"newitem_node\" 539: onchange=\"view_radio_select('node')\" 540: */ 541: echo "<tr><td width=25% align=center>"; 542: echo "<input type=radio name=itype value=group id=\"newitem_group\">"; 543: echo "</td><td colspan=3 align=left>"; 544: echo "<b>Individual Group: </b>"; 545: echo "<select name=ioption_group onchange=\"view_radio_select('group')\">"; 546: $nq="SELECT groupid,groupname FROM fngroup"; 547: $nr=$NATS->DB->Query($nq); 548: while ($group=$NATS->DB->Fetch_Array($nr)) 549: { 550: echo "<option value=".$group['groupid'].">".$group['groupname']." (".$group['groupid'].")</option>"; 551: } 552: $NATS->DB->Free($nr); 553: echo "</select>"; 554: echo "</td></tr>"; 555: 556: $tests=array(); 557: $tq="SELECT localtestid,nodeid,testname,testtype,testparam,testrecord FROM fnlocaltest ORDER BY nodeid"; 558: $tr=$NATS->DB->Query($tq); 559: while ($test=$NATS->DB->Fetch_Array($tr)) 560: { 561: $tid="L".$test['localtestid']; 562: $tests[$tid]=$test; 563: $tests[$tid]['testid']=$tid; 564: } 565: $NATS->DB->Free($tr); 566: 567: 568: echo "<tr><td align=center>"; 569: echo "<input type=radio name=itype value=allnodes>"; 570: echo "</td><td colspan=3 align=left><b>"; 571: echo "List All (Enabled) Nodes"; 572: echo "</b></td></tr>"; 573: 574: echo "<tr><td align=center>"; 575: echo "<input type=radio name=itype value=allgroups>"; 576: echo "</td><td colspan=3 align=left><b>"; 577: echo "List All Groups"; 578: echo "</b></td></tr>"; 579: 580: echo "<tr><td align=center>"; 581: echo "<input type=radio name=itype value=alertnodes>"; 582: echo "</td><td colspan=3 align=left><b>"; 583: echo "List Alerting Nodes"; 584: echo "</b></td></tr>"; 585: 586: echo "<tr><td align=center>"; 587: echo "<input type=radio name=itype value=alertgroups>"; 588: echo "</td><td colspan=3 align=left><b>"; 589: echo "List Alerting Groups"; 590: echo "</b></td></tr>"; 591: 592: echo "<tr><td align=center>"; 593: echo "<input type=radio name=itype value=alerts>"; 594: echo "</td><td colspan=3 align=left><b>"; 595: echo "List All Current Alerts"; 596: echo "</b></td></tr>"; 597: 598: echo "<tr><td align=center>"; 599: echo "<input type=radio name=itype value=testdetail id=\"newitem_testdetail\">"; 600: echo "</td><td colspan=3 align=left><b>"; 601: echo "Detail for Test "; 602: echo "<select name=ioption_testdetail onchange=\"view_radio_select('testdetail')\">"; 603: foreach($tests as $test) 604: { 605: echo "<option value=".$test['testid'].">"; 606: if ($test['testname']!="") $tn=$test['testname']; 607: else $tn=$test['testtype']." (".$test['testparam'].")"; 608: echo $test['nodeid']." > ".$tn; 609: echo "</option>"; 610: } 611: echo "</select>"; 612: echo "</b><br>"; 613: echo "Name: <input type=text name=iname_testdetail size=30 maxlength=64 onclick=\"view_radio_select('testdetail')\"></td></tr>"; 614: 615: echo "<tr><td align=center>"; 616: echo "<input type=radio name=itype value=testgraph id=\"newitem_testgraph\">"; 617: echo "</td><td colspan=3 align=left><b>"; 618: echo "Graph for Test </b>"; 619: echo "<select name=ioption_testgraph onchange=\"view_radio_select('testgraph')\">"; 620: foreach($tests as $test) 621: { 622: if ($test['testrecord']>0) 623: { 624: echo "<option value=".$test['testid'].">"; 625: if ($test['testname']!="") $tn=$test['testname']; 626: else $tn=$test['testtype']." (".$test['testparam'].")"; 627: echo $test['nodeid']." > ".$tn; 628: echo "</option>"; 629: } 630: } 631: echo "</select><br>"; 632: echo "Show Last <input type=text size=4 maxlength=4 name=ioption_testgraph_time value=24 onclick=\"view_radio_select('testgraph')\"> Hours"; 633: echo "</td></tr>"; 634: 635: echo "<tr><td align=center>"; 636: echo "<input type=radio name=itype value=title id=\"newitem_title\">"; 637: echo "</td><td colspan=3 align=left><b>"; 638: echo "Title: </b><input type=text name=ioption_title size=30 maxlength=120 onclick=\"view_radio_select('title')\">"; 639: echo "</td></tr>"; 640: 641: echo "<tr><td> </td><td colspan=3>"; 642: echo "<input type=submit value=\"Create New Item\"> "; 643: //echo "<select name=create_position><option value=end checked>At the End</option><option value=start>At the Top</option></select>"; 644: echo "</td></tr>"; 645: /* TODO - if ok don't be lazy and put the def options in here */ 646: 647: echo "</form></table>"; 648: ?> 649: 650: 651: <?php 652: Screen_Footer(); 653: ?> 654: