File: 1.00.12a/server/web/view.edit.php (View as HTML)

  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,1,"","main","views");
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>&nbsp;<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>&nbsp;<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 &quot;local&quot; 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 "<b>";
393: 	echo ViewItemTxt($row['itype'],$row['ioption']);
394: 	echo "</b>";
395: 	//echo " (<a href=\"javascript:toggleOptionsTable('".$pitem."')\">show/hide options</a>)";
396: 	//echo "<br>";
397: 	echo "<form action=view.edit.php#".$row['viewitemid']." method=post>";
398: 	//echo "<table width=600 class=\"hidenicetable\" id=\"options_".$row['viewitemid']."\">";
399: 	echo "<div id=\"options_".$pitem."\">";
400: 	echo "<table width=600 class=\"nicetable\">";
401: 
402: 	echo "<input type=hidden name=viewid value=".$_REQUEST['viewid'].">";
403: 	echo "<input type=hidden name=action value=save_view_item>";
404: 	echo "<input type=hidden name=viewitemid value=".$row['viewitemid'].">";
405: 	echo "<tr><td align=left valign=top colspan=4>";
406: 	echo "<tr><td width=25% align=right>";
407: 	echo "Use Colour :";
408: 	echo "</td><td align=left width=25%>";
409: 	if ($row['icolour']==1) $s=" checked";
410: 	else $s="";
411: 	echo "<input type=checkbox name=icolour value=1".$s.">";
412: 	echo " ".hlink("View:UseColour");
413: 	echo "</td>";
414: 	
415: 	echo "<td align=right width=25%>";
416: 	echo "Text Status :";
417: 	echo "</td><td align=left width=25%>";
418: 	if ($row['itextstatus']==1) $s=" checked";
419: 	else $s="";
420: 	echo "<input type=checkbox name=itextstatus value=1".$s.">";
421: 	echo " ".hlink("View:TextStatus");
422: 	echo "</td></tr>";
423: 	
424: 	echo "<tr><td align=right>";
425: 	echo "Item Size :";
426: 	echo "</td><td align=left>";
427: 	echo "<select name=isize>";
428: 	if ($row['isize']>0) echo "<option value=1 checked>Large</option>";
429: 	else echo "<option value=0 checked>Small</option>";
430: 	echo "<option value=1>";
431: 	echo "Large</option>";
432: 	echo "<option value=0>";
433: 	echo "Small</option>";
434: 	echo "</select>";
435: 	echo "</td>";
436: 	echo "<td align=right>";
437: 	echo "Graphics :";
438: 	echo "</td><td align=left>";
439: 	echo "<select name=igraphic>";
440: 	if ($row['igraphic']==2) echo "<option value=2 checked>Node/Group</option>";
441: 	else if ($row['igraphic']==1) echo "<option value=1 checked>Status Light</option>";
442: 	else echo "<option value=0 checked>No Graphic</option>";
443: 	echo "<option value=2>";
444: 	echo "Node/Group</option>";
445: 	echo "<option value=1>";
446: 	echo "Status Light</option>";
447: 	echo "<option value=0>";
448: 	echo "No Graphic</option>";
449: 	echo "</select>";
450: 	echo "</td></tr>";
451: 	
452: 	echo "<tr><td width=25% align=right>";
453: 	echo "Show Detail :";
454: 	echo "</td><td align=left width=25%>";
455: 	if ($row['idetail']>0) $s=" checked";
456: 	else $s="";
457: 	echo "<input type=checkbox name=idetail value=1".$s.">";
458: 	echo " ".hlink("View:ShowDetail");
459: 	echo "</td>";
460: 	
461: 	echo "<td align=center colspan=2><input type=submit value=\"Save Changes to Item\"></td></tr>";
462: 	
463: 	echo "</table></div><table width=600 border=0>";
464: 	echo "</form>";
465: 	echo "<form action=view.edit.php method=post>";
466: 	echo "<input type=hidden name=viewid value=".$_REQUEST['viewid'].">";
467: 	echo "<input type=hidden name=viewitemid value=".$row['viewitemid'].">";
468: 	echo "<input type=hidden name=action value=moveitembefore>";
469: 	
470: 	echo "<tr><td colspan=2 align=left>Move: ";
471: 	
472: 	if ($f==0) echo "<img src=images/arrows/off/arrow_top.png style=\"vertical-align: -3;\">";
473: 	else 
474: 		{
475: 		echo "<a href=view.edit.php?viewid=".$_REQUEST['viewid']."&action=move_item&dir=up&viewitemid=".$row['viewitemid'].">";
476: 		echo "<img src=\"images/arrows/on/arrow_top.png\"  style=\"vertical-align: -3;\" border=0>";
477: 		echo "</a>";
478: 		}
479: 	
480: 	if ($f>=($l-1)) echo "<img src=images/arrows/off/arrow_down.png style=\"vertical-align: -3;\">";
481: 	else 
482: 		{
483: 		echo "<a href=view.edit.php?viewid=".$_REQUEST['viewid']."&action=move_item&dir=down&viewitemid=".$row['viewitemid'].">";
484: 		echo "<img src=\"images/arrows/on/arrow_down.png\" border=0 style=\"vertical-align: -3;\">";
485: 		echo "</a>";
486: 		}
487: 		
488: 	$f++;
489: 	
490: 	echo "&nbsp;Before: <select name=newweight style=\"font-size: 8pt;\">";
491: 	foreach($movs as $mov)
492: 		echo "<option value=\"".$mov['weight']."\">".$mov['name']."</option>";
493: 	echo "</select> <input type=submit value=Move style=\"font-size: 8pt;\">";
494: 	
495: 	echo "</td><td colspan=2 align=right>";
496: 	echo "<a href=\"javascript:toggleOptionsTable('".$pitem."')\">item options</a>&nbsp;&nbsp;";
497: 	echo "<a href=view.edit.php?viewid=".$_REQUEST['viewid']."&action=del_item&viewitemid=".$row['viewitemid'].">";
498: 	echo "<img src=images/options/action_delete.png border=0 style=\"vertical-align: -4;\"></a>";
499: 	echo "</td></tr>";
500: 	echo "</form>";
501: 	echo "</table>";
502: 	echo "<script type=\"text/javascript\">\n";
503: 	echo "viewOptions[".$pitem."]=document.getElementById('options_".$pitem."').innerHTML;\n";
504: 	echo "document.getElementById('options_".$pitem."').innerHTML=\"\";\n";
505: 	$pitem++;
506: 	echo "</script>\n";
507: 	echo "</td></tr></table>";
508: 	//echo "<hr class=\"viewtable\">";
509: 	echo "<hr align=\"left\" width=\"600\" style=\"height: 1px; color: #000000; background-color: #a0a0a0; border: none; margin: 0px;\" noshade>";
510: 	}
511: 	
512: $NATS->DB->Free($r);
513: 
514: 
515: echo "\n<script type=\"text/javascript\">\n";
516: echo "function view_radio_select( itemtype )\n";
517: echo "{\n";
518: echo "document.getElementById('newitem_'+itemtype).checked=true;\n";
519: echo "//\n";
520: echo "}\n";
521: echo "</script>\n";
522: 
523: echo "<br><br>";
524: echo "<table width=600 class=\"nicetable\">";
525: echo "<form action=view.edit.php method=post name=viewcreateform>";
526: echo "<input type=hidden name=viewid value=".$_REQUEST['viewid'].">";
527: echo "<input type=hidden name=action value=create_item>";
528: echo "<tr><td colspan=4><b>Create New Item</b></td></tr>";
529: 
530: echo "<tr><td width=25% align=center>";
531: echo "<input type=radio name=itype value=node checked id=\"newitem_node\">";
532: echo "</td><td colspan=3 align=left>";
533: echo "<b>Individual Node: </b>";
534: echo "<select name=ioption_node onchange=\"view_radio_select('node')\">";
535: $nq="SELECT nodeid,nodename FROM fnnode";
536: $nr=$NATS->DB->Query($nq);
537: while ($node=$NATS->DB->Fetch_Array($nr))
538: 	{
539: 	echo "<option value=".$node['nodeid'].">".$node['nodename']." (".$node['nodeid'].")</option>";
540: 	}
541: $NATS->DB->Free($nr);
542: echo "</select>";
543: echo "</td></tr>";
544: /*
545:  id=\"newitem_node\"
546:  onchange=\"view_radio_select('node')\" 
547: */
548: echo "<tr><td width=25% align=center>";
549: echo "<input type=radio name=itype value=group id=\"newitem_group\">";
550: echo "</td><td colspan=3 align=left>";
551: echo "<b>Individual Group: </b>";
552: echo "<select name=ioption_group onchange=\"view_radio_select('group')\">";
553: $nq="SELECT groupid,groupname FROM fngroup";
554: $nr=$NATS->DB->Query($nq);
555: while ($group=$NATS->DB->Fetch_Array($nr))
556: 	{
557: 	echo "<option value=".$group['groupid'].">".$group['groupname']." (".$group['groupid'].")</option>";
558: 	}
559: $NATS->DB->Free($nr);
560: echo "</select>";
561: echo "</td></tr>";
562: 
563: $tests=array();
564: $tq="SELECT localtestid,nodeid,testname,testtype,testparam,testrecord FROM fnlocaltest ORDER BY nodeid";
565: $tr=$NATS->DB->Query($tq);
566: while ($test=$NATS->DB->Fetch_Array($tr))
567: 	{
568: 	$tid="L".$test['localtestid'];
569: 	$tests[$tid]=$test;
570: 	$tests[$tid]['testid']=$tid;
571: 	}
572: $NATS->DB->Free($tr);
573: 
574: $tq="SELECT nstestid,nodeid,testname,testtype,testdesc,testrecord FROM fnnstest WHERE testenabled=1 ORDER BY nodeid";
575: $tr=$NATS->DB->Query($tq);
576: while ($test=$NATS->DB->Fetch_Array($tr))
577: 	{
578: 	$tid="N".$test['nstestid'];
579: 	$tests[$tid]=$test;
580: 	$tests[$tid]['testid']=$tid;
581: 	$tests[$tid]['testparam']=$test['testdesc'];
582: 	if ($test['testname']=="")
583: 		{
584: 		if ($test['testdesc']=="") $tests[$tid]['testname']=$test['testtype'];
585: 		else $tests[$tid]['testname']=$test['testdesc'];
586: 		}
587: 	}
588: $NATS->DB->Free($tr);
589: 
590: 
591: echo "<tr><td align=center>";
592: echo "<input type=radio name=itype value=allnodes>";
593: echo "</td><td colspan=3 align=left><b>";
594: echo "List All (Enabled) Nodes";
595: echo "</b></td></tr>";
596: 
597: echo "<tr><td align=center>";
598: echo "<input type=radio name=itype value=allgroups>";
599: echo "</td><td colspan=3 align=left><b>";
600: echo "List All Groups";
601: echo "</b></td></tr>";
602: 
603: echo "<tr><td align=center>";
604: echo "<input type=radio name=itype value=alertnodes>";
605: echo "</td><td colspan=3 align=left><b>";
606: echo "List Alerting Nodes";
607: echo "</b></td></tr>";
608: 
609: echo "<tr><td align=center>";
610: echo "<input type=radio name=itype value=alertgroups>";
611: echo "</td><td colspan=3 align=left><b>";
612: echo "List Alerting Groups";
613: echo "</b></td></tr>";
614: 
615: echo "<tr><td align=center>";
616: echo "<input type=radio name=itype value=alerts>";
617: echo "</td><td colspan=3 align=left><b>";
618: echo "List All Current Alerts";
619: echo "</b></td></tr>";
620: 
621: echo "<tr><td align=center>";
622: echo "<input type=radio name=itype value=testdetail id=\"newitem_testdetail\">";
623: echo "</td><td colspan=3 align=left><b>";
624: echo "Detail for Test ";
625: echo "<select name=ioption_testdetail onchange=\"view_radio_select('testdetail')\">";
626: foreach($tests as $test)
627: 	{
628: 	echo "<option value=".$test['testid'].">";
629: 	if ($test['testname']!="") $tn=$test['testname'];
630: 	else 
631: 		{
632: 		$tn=lText($test['testtype']);
633: 		if ($test['testparam']!="") $tn.=" (".$test['testparam'].")";
634: 		}
635: 	echo $test['nodeid']." &gt; ".$tn;
636: 	echo "</option>";
637: 	}
638: echo "</select>";
639: echo "</b><br>";
640: echo "Display Name: <input type=text name=iname_testdetail size=30 maxlength=64 onclick=\"view_radio_select('testdetail')\"></td></tr>";
641: 
642: echo "<tr><td align=center>";
643: echo "<input type=radio name=itype value=testgraph id=\"newitem_testgraph\">";
644: echo "</td><td colspan=3 align=left><b>";
645: echo "Graph for Test </b>";
646: echo "<select name=ioption_testgraph onchange=\"view_radio_select('testgraph')\">";
647: foreach($tests as $test)
648: 	{
649: 	if (($test['testrecord']>0)||($test['testtype']=="ICMP"))
650: 		{
651: 		echo "<option value=".$test['testid'].">";
652: 		if ($test['testname']!="") $tn=$test['testname'];
653: 		else 
654: 			{
655: 			$tn=lText($test['testtype']);
656: 			if ($test['testparam']!="") $tn.=" (".$test['testparam'].")";
657: 			}
658: 		echo $test['nodeid']." &gt; ".$tn;
659: 		echo "</option>";
660: 		}
661: 	}
662: echo "</select><br>";
663: echo "Show Last <input type=text size=4 maxlength=4 name=ioption_testgraph_time value=24 onclick=\"view_radio_select('testgraph')\"> Hours";
664: echo "</td></tr>";
665: 
666: echo "<tr><td align=center>";
667: echo "<input type=radio name=itype value=title id=\"newitem_title\">";
668: echo "</td><td colspan=3 align=left><b>";
669: echo "Title: </b><input type=text name=ioption_title size=30 maxlength=120 onclick=\"view_radio_select('title')\">";
670: echo "</td></tr>";
671: 
672: echo "<tr><td>&nbsp;</td><td colspan=3>";
673: echo "<input type=submit value=\"Create New Item\"> ";
674: //echo "<select name=create_position><option value=end checked>At the End</option><option value=start>At the Top</option></select>";
675: echo "</td></tr>";
676: /* TODO - if ok don't be lazy and put the def options in here */
677: 
678: echo "</form></table>";
679: ?>
680: 
681: 
682: <?php
683: Screen_Footer();
684: ?>
685: