File: 0.04.18a/server/web/main.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: ob_end_flush();
 32: Screen_Header("Monitoring Interface",1);
 33: 
 34: if (isset($_REQUEST['message'])) 
 35: 	{
 36: 	echo "<b>".$_REQUEST['message']."</b><br>";
 37: 	$poplist[]=$_REQUEST['message'];
 38: 	}
 39: 	
 40: if (isset($_REQUEST['nodemove'])) $nm=true;
 41: else $nm=false;
 42: 
 43: ?>
 44: <br>
 45: <?php
 46: if (isset($_REQUEST['check_updates']))
 47: 	{
 48: 	// check for updates
 49: 	$dq="?CheckVersion=".$NATS->Version."&JSMode=1";
 50: 	$dl="http://www.purplepixie.org/freenats/download.php";
 51: 	$du=$dl.$dq;
 52: 	echo "<b>Checking for Updates: ";
 53: 	echo "<script type=\"text/javascript\" src=\"".$du."\"></script>\n";
 54: 	echo "</b><br>";
 55: 	echo "If this test fails you can check on the <a href=http://www.purplepixie.org/freenats/>website</a>.<br>";
 56: 	echo "You are currently running version ";
 57: 	echo $NATS->Version.$NATS->Release.".";
 58: 	echo "<br><i>You can check regularly via the top-right admin link</i><br><br>";
 59: 	}
 60: 
 61: if ($nm)
 62: {
 63: $q="SELECT nodeid,weight FROM fnnode ORDER BY weight ASC";
 64: $r=$NATS->DB->Query($q);
 65: $nml="<span style=\"font-size: 8pt;\">Move Before </span><select name=move_before style=\"font-size: 8pt;\">";
 66: while ($row=$NATS->DB->Fetch_Array($r))
 67: 	{
 68: 	$nml.="<option value=".$row['weight'].">".$row['nodeid']."</option>";
 69: 	}
 70: $nml.="</select>";
 71: $NATS->DB->Free($r);	
 72: }
 73: 
 74: echo "<b class=\"subtitle\">Nodes</b> ".hlink("Node")."<br><br>";
 75: $q="SELECT nodeid,nodename,alertlevel,weight FROM fnnode ORDER BY weight ASC";
 76: $r=$NATS->DB->Query($q);
 77: 
 78: echo "<table class=\"nicetablehov\">";
 79: echo "<tr><td><b>Node</b></td><td><b>Options</b></td><td><a href=main.php?nodemove=1><b>Move</a></b></td></tr>";
 80: $f=0;
 81: $l=$NATS->DB->Num_Rows($r);
 82: while ($row=$NATS->DB->Fetch_Array($r))
 83: 	{
 84: 	//echo "<tr class=\"nicetablehov\" id=\"noderow_".$row['nodeid']."\" onmouseover=\"highlightrow('noderow_".$row['nodeid']."')\"><td align=left>";
 85: 	echo "<tr class=\"nicetablehov\"><td align=left>";
 86: 	echo "<a href=node.php?nodeid=".$row['nodeid'].">";
 87: 	
 88: 	echo "<b class=\"al".$row['alertlevel']."\">";
 89: 	echo $row['nodename'];
 90: 	echo "</b>";
 91: 	
 92: 	echo "</a> ";
 93: 	echo "(".$row['nodeid'].")";
 94: 	echo "</td><td align=left>";
 95: 	echo "&nbsp;<a href=node.edit.php?nodeid=".$row['nodeid']."><img src=images/options/application.png border=0 title=\"Edit Options\"></a>";
 96: 	echo "&nbsp;";
 97: 	echo "<a href=node.action.php?action=delete&nodeid=".$row['nodeid']."><img src=images/options/action_delete.png border=0></a> ";
 98: 	echo "</td>";
 99: 	
100: 	if ($nm) 
101: 		{
102: 		echo "<form action=node.action.php method=post>";
103: 		echo "<input type=hidden name=nodeid value=".$row['nodeid'].">";
104: 		echo "<input type=hidden name=action value=move_before>";
105: 		}
106: 	
107: 	echo "<td>";
108: 	if ($f==0) echo "<img src=images/arrows/off/arrow_top.png>";
109: 	else 
110: 		{
111: 		echo "<a href=node.action.php?nodeid=".$row['nodeid']."&action=move&dir=up>";
112: 		echo "<img src=\"images/arrows/on/arrow_top.png\" border=0>";
113: 		echo "</a>";
114: 		}
115: 	
116: 	if ($f>=($l-1)) echo "<img src=images/arrows/off/arrow_down.png>";
117: 	else 
118: 		{
119: 		echo "<a href=node.action.php?nodeid=".$row['nodeid']."&action=move&dir=down>";
120: 		echo "<img src=\"images/arrows/on/arrow_down.png\" border=0>";
121: 		echo "</a>";
122: 		}
123: 	
124: 	if ($nm)
125: 		{
126: 		echo "<span style=\"font-size: 8pt;\">&nbsp;[".$row['weight']."]&nbsp;</span>";
127: 		echo $nml;
128: 		echo " <input type=submit value=\"Go\" style=\"font-size: 8pt;\">";
129: 		}
130: 		
131: 	echo "</td>";
132: 	
133: 	if ($nm) echo "</form>"; 
134: 	$f++;
135: 	
136: 	echo "</tr>";
137: 	}
138: echo "<form action=node.action.php><input type=hidden name=action value=create>";
139: echo "<tr><td><input type=text name=nodeid size=20 maxlenth=32></td><td><input type=submit value=\"Create Node\"></td>";
140: echo "<td>".hlink("Node:Create");
141: if ($nm) echo " <a href=node.action.php?action=reorderweight>Refresh Weighting</a>";
142: echo "</td></tr></form>";
143: 
144: $fx=time();
145: $sx=$fx-(60*60*24);
146: echo "<tr><td colspan=2><b>Summary: </b><a href=summary.test.php?nodeid=*>Today</a> - ";
147: echo "<a href=summary.test.php?nodeid=*&startx=".$sx."&finishx=".$fx.">Last 24 Hrs</a> - ";
148: echo "<a href=summary.test.php?mode=custom>Custom</a>";
149: echo "<br><br><a href=report.php>Service Availability Report</a> ".hlink("Report",12);
150: echo "</td></tr>";
151: 
152: echo "</table>";
153: 
154: echo "<br><br>";
155: echo "<b class=\"subtitle\">Node Groups</b> ".hlink("Group")."<br><br>";
156: 
157: $q="SELECT groupid,groupname FROM fngroup ORDER BY weight ASC";
158: $r=$NATS->DB->Query($q);
159: $f=0;
160: echo "<table class=\"nicetablehov\">";
161: $l=$NATS->DB->Num_Rows($r);
162: while ($row=$NATS->DB->Fetch_Array($r))
163: 	{
164: 	echo "<tr class=\"nicetablehov\">";
165: 	echo "<td><a href=group.php?groupid=".$row['groupid']."><b class=\"al".$NATS->GroupAlertLevel($row['groupid'])."\">".$row['groupname']."</b></a></td>";
166: 	echo "<td><a href=group.edit.php?groupid=".$row['groupid']."><img src=images/options/application.png border=0 title=\"Edit Options\"></a>";
167: 	echo "&nbsp;";
168: 	echo "<a href=group.action.php?action=delete&groupid=".$row['groupid']."><img src=images/options/action_delete.png border=0 title=\"Delete Group\"></a></td>";
169: 	echo "<td>";
170: 	
171: 	if ($f==0) echo "<img src=images/arrows/off/arrow_top.png>";
172: 	else 
173: 		{
174: 		echo "<a href=group.action.php?groupid=".$row['groupid']."&action=move&dir=up>";
175: 		echo "<img src=\"images/arrows/on/arrow_top.png\" border=0>";
176: 		echo "</a>";
177: 		}
178: 	
179: 	if ($f>=($l-1)) echo "<img src=images/arrows/off/arrow_down.png>";
180: 	else 
181: 		{
182: 		echo "<a href=group.action.php?groupid=".$row['groupid']."&action=move&dir=down>";
183: 		echo "<img src=\"images/arrows/on/arrow_down.png\" border=0>";
184: 		echo "</a>";
185: 		}
186: 		
187: 	echo "</td>";
188: 	$f++;
189: 	
190: 	echo "</tr>";
191: 	}
192: echo "<form action=group.action.php method=post>";
193: echo "<input type=hidden name=action value=create>";
194: echo "<tr><td><input type=text size=20 name=groupname maxlength=120></td><td><input type=submit value=\"Create Group\">";
195: echo "</td><td>".hlink("Group:Create")."</td></tr></form>";
196: echo "</table>";
197: 
198: 
199: echo "<br><br>";
200: echo "<b class=\"subtitle\">Views</b> ".hlink("View")."<br><br>";
201: echo "<table class=\"nicetablehov\">";
202: // get views...
203: $q="SELECT viewid,vtitle FROM fnview";
204: $r=$NATS->DB->Query($q);
205: while ($row=$NATS->DB->Fetch_Array($r))
206: 	{
207: 	echo "<tr class=\"nicetablehov\"><td>";
208: 	echo "<a href=view.php?viewid=".$row['viewid'].">".$row['vtitle']."</a>";
209: 	echo "</td><td>";
210: 	echo "<a href=view.edit.php?viewid=".$row['viewid']."><img src=images/options/application.png border=0 title=\"Edit View Options\"></a>";
211: 	echo "&nbsp;";
212: 	echo "<a href=view.edit.php?viewid=".$row['viewid']."&action=delete><img src=images/options/action_delete.png border=0 title=\"Delete View\"></a>";
213: 	echo "</td></tr>";
214: 	}
215: 
216: 
217: echo "<form action=view.edit.php method=post><input type=hidden name=action value=create>";
218: echo "<tr><td><input type=text name=vtitle size=20 maxlength=64></td><td><input type=submit value=\"Create View\"> ";
219: echo hlink("View:Create")."</td></tr></form>";
220: echo "</table>";
221: 
222: ?>
223: 
224: 
225: <?php
226: Screen_Footer();
227: /* old PhoneHome Ping Tracker - now in screen as a png
228: $t=$NATS->Cfg->Get("freenats.tracker");
229: if ( ($t!="") && ($t>0) )
230: 	$NATS->PhoneHome();
231: */
232: ?>
233: