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