File: 0.02.14a/server/base/screen.inc.php (View as HTML)

  1: <?php // screen.inc.php -- web page screen library
  2: 
  3: $menu=array();
  4: $menu[0]="<a href=http://www.purplepixie.org/freenats/>FreeNATS Homepage</a>";
  5: $menu[1]="<a href=monitor.php>Monitor</a> | <a href=main.php>Main</a> | <a href=pref.php>Settings</a> | <a href=logout.php>Logout</a>";
  6: $menu[2]=$menu[1]." | <a href=admin.php>Administrator</a>";
  7: 
  8: function Screen_Header($title,$menuindex=0,$alertpane=0,$ah="")
  9: {
 10: global $menu,$NATS,$NATS_Session;
 11: if ($NATS->Cfg->Get("site.enable.interactive")!=1)
 12: 	{
 13: 	echo "Sorry but FreeNATS interactive is disabled.<br>";
 14: 	echo "<i>site.enable.interactive</i> != 1<br><br>";
 15: 	$NATS->Stop();
 16: 	exit();
 17: 	}
 18: if ($menuindex==1) $alertpane=1; // bodge
 19: if ($NATS_Session->userlevel>9) $menuindex=2; // further bodge!
 20: echo "<html><head><title>FreeNATS: ".$title."</title>\n";
 21: echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"css/main.css\">\n";
 22: if ($ah!="") echo $ah;
 23: echo "</head>\n";
 24: echo "<script type=\"text/javascript\" src=\"js/freenats.js\">\n";
 25: echo "<body>";
 26: 
 27: echo "<table width=100% class=\"maintitle\">\n";
 28: echo "<tr><td align=left valign=center>\n";
 29: echo "<b class=\"maintitle\">FreeNATS: ".$title."</b></td>\n";
 30: echo "<td class=\"titlelink\" align=right valign=center>\n";
 31: echo $menu[$menuindex];
 32: echo "</td></tr></table>\n";
 33: 
 34: if ($alertpane==1)
 35: 	{
 36: 	$alerts=$NATS->GetAlerts();
 37: 	if (is_array($alerts))
 38: 		{
 39: 		echo "<div class=\"alertpane\" id=\"fn_alertpane\">";
 40: 		echo "<b><u>NATS Alerts</u></b><br><br>";
 41: 		foreach($alerts as $alert)
 42: 			{
 43: 			echo "&nbsp;<a href=node.php?nodeid=".$alert['nodeid'].">";
 44: 			echo "<b class=\"al".$alert['alertlevel']."\">".$alert['nodeid']."</b></a><br>";
 45: 			}
 46: 		echo "<br>";
 47: 		echo "</div>";
 48: 		}
 49: 	}
 50: 
 51: }
 52: 
 53: function Screen_Footer()
 54: {
 55: global $NATS;
 56: echo "<br><br>\n";
 57: //$NATS->Cfg->DumpToScreen();
 58: echo "<table class=\"nfooter\" width=100%>";
 59: echo "<tr><td align=left><a href=http://www.purplepixie.org/freenats/>FreeNATS</a> from ";
 60: echo "<a href=http://www.purplepixie.org/>PurplePixie Systems</a>";
 61: echo "</td><td align=right>";
 62: echo "Version: ".$NATS->Version;
 63: if ($NATS->Release!="") echo "/".$NATS->Release;
 64: echo "</td></tr>";
 65: echo "</div>";
 66: if (ini_get("freenats.rpath")==1)
 67: 	{
 68: 	echo "<i>FreeNATS Virtual Server Powered By <a href=http://www.rpath.org/>rPath</a> LAMP Appliance</i>";
 69: 	}
 70: echo "\n</body></html>\n";
 71: }
 72: 
 73: function UL_Error($task="")
 74: {
 75: Screen_Header("Insufficient Access");
 76: echo "<br>Sorry but your user has insufficient access to perform task (".$task.").<br><br>";
 77: echo "<a href=main.php>Please click here to continue.</a><br><br>";
 78: Screen_Footer();
 79: exit();
 80: }
 81: 
 82: function nicedt($ts)
 83: {
 84: if ($ts<=0) return "never";
 85: return date("H:i:s d/m/Y",$ts);
 86: }
 87: 
 88: function enicedt($ts)
 89: {
 90: echo nicedt($ts);
 91: }
 92: 
 93: function nicediff($diff)
 94: {
 95: $hr=0;
 96: $mn=0;
 97: $se=0;
 98: if ($diff>59)
 99: 	{
100: 	$mn=round($diff/60,0);
101: 	$se=$diff%60;
102: 	if ($mn>59)
103: 		{
104: 		$hr=round($mn/60,0);
105: 		$mn=$mn%60;
106: 		}
107: 	}
108: else $se=$diff;
109: $s="";
110: if ($hr<10) $s="0";
111: $s.=$hr.":";
112: if ($mn<10) $s.="0";
113: $s.=$mn.":";
114: if ($se<10) $s.="0";
115: $s.=$se;
116: return $s;
117: }
118: 
119: function dtago($ts)
120: {
121: if ($ts<=0) return "never";
122: $now=time();
123: $diff=$now-$ts;
124: $s=nicediff($diff);
125: $s.=" ago";
126: return $s;
127: }
128: 
129: function edtago($ts)
130: {
131: echo dtago($ts);
132: }
133: 
134: $allowed="00123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz@_-.,";
135: 
136: function nices($s)
137: {
138: global $allowed;
139: $o="";
140: for ($a=0; $a<strlen($s); $a++)
141: 	{
142: 	$c=$s[$a];
143: 	if (strpos($allowed,$c)===false)
144: 		{
145: 		// skip it
146: 		}
147: 	else $o.=$c;
148: 	}
149: return $o;
150: }
151: 
152: function ShowIcons()
153: {
154: global $fnIcons,$fnIcon_DefNode,$fnIcon_DefGroup;
155: $c=0;
156: echo "<table border=0>";
157: $cc=0;
158: for ($a=0; $a<count($fnIcons); $a++)
159: 	{
160: 	if ($cc==0) echo "<tr>";
161: 	echo "<td valign=top align=center><img src=icons/".$fnIcons[$a]."><br>".$fnIcons[$a]."<br>";
162: 	if ($a==$fnIcon_DefNode) echo "<i>Node Default</i> ";
163: 	if ($a==$fnIcon_DefGroup) echo "<i>Group Default</i>";
164: 	echo "</td>";
165: 	$cc++;
166: 	if ($cc>=5)
167: 		{
168: 		echo "</tr>";
169: 		$cc=0;
170: 		}
171: 	}
172: if ($cc>0) echo "</tr>";
173: echo "</table>";
174: }
175: 
176: 
177: function NodeIcon($nodeid)
178: {
179: global $NATS,$fnIcons,$fnIcon_DefNode;
180: $q="SELECT nodeicon FROM fnnode WHERE nodeid=\"".ss($nodeid)."\"";
181: $r=$NATS->DB->Query($q);
182: if ($row=$NATS->DB->Fetch_Array($r)) 
183: 	{
184: 	if ($row['nodeicon']!="") return $row['nodeicon'];
185: 	}
186: return $fnIcons[$fnIcon_DefNode];
187: }
188: 
189: function GroupIcon($groupid)
190: {
191: global $NATS,$fnIcons,$fnIcon_DefGroup;
192: $q="SELECT groupicon FROM fngroup WHERE groupid=\"".ss($groupid)."\"";
193: $r=$NATS->DB->Query($q);
194: if ($row=$NATS->DB->Fetch_Array($r)) 
195: 	{
196: 	if ($row['groupicon']!="") return $row['groupicon'];
197: 	}
198: return $fnIcons[$fnIcon_DefGroup];
199: }
200: 
201: function np_tiny($nodeid,$text=true)
202: {
203: global $NATS;
204: $al=$NATS->NodeAlertLevel($nodeid);
205: echo "<table class=\"nptiny-al".$al."\">";
206: echo "<tr><td valign=center align=center>";
207: echo "<a href=node.php?nodeid=".$nodeid.">";
208: echo "<img src=\"icons/".NodeIcon($nodeid)."\" border=0>";
209: echo "</a>";
210: if ($text)
211: 	{
212: 	echo "<br><b class=\"al".$al."\">".$nodeid."</b>";
213: 	}
214: echo "</td></tr></table>";
215: }
216: 
217: function ng_tiny($groupid,$groupname="",$text=true)
218: {
219: global $NATS;
220: // to do - get groupname if not sent but F--- it for now
221: $al=$NATS->GroupAlertLevel($groupid);
222: echo "<table class=\"nptiny-al".$al."\">";
223: echo "<tr><td valign=center align=center>";
224: echo "<a href=group.php?groupid=".$groupid.">";
225: echo "<img src=\"icons/".GroupIcon($groupid)."\" border=0>";
226: echo "</a>";
227: if ($text)
228: 	{
229: 	echo "<br><b class=\"al".$al."\">".$groupname."</b>";
230: 	}
231: echo "</td></tr></table>";
232: }
233: 
234: function ng_big($groupid,$groupname="",$groupdesc="",$groupicon="")
235: {
236: global $NATS;
237: if ($groupicon=="") $groupicon=GroupIcon($groupid);
238: $al=$NATS->GroupAlertLevel($groupid);
239: echo "<table class=\"npbig-al".$al."\">";
240: echo "<tr><td align=left valign=top>";
241: echo "<table class=\"nicetable\" width=300>";
242: echo "<tr><td align=right>Group Name :";
243: echo "</td><td align=left><a href=group.php?groupid=".$groupid.">".$groupname."</a></td></tr>";
244: echo "<tr><td align=right>Description :";
245: echo "</td><td align=left>".$groupdesc."</td></tr>";
246: echo "<tr><td align=right>Status :</td><td align=left>";
247: echo "<b class=\"al".$al."\">".oText($al)."</b></td></tr>";
248: echo "</table></td>";
249: //echo "<td align=left valign=top align=right width=60>";
250: //echo "<img src=icons/".GroupIcon($groupid).">";
251: //echo "</td>";
252: echo "</tr>";
253: echo "</table>";
254: }
255: 
256: 
257: 
258: 
259: ?>