File: 0.02.12a/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: echo "\n</body></html>\n";
 67: }
 68: 
 69: function UL_Error($task="")
 70: {
 71: Screen_Header("Insufficient Access");
 72: echo "<br>Sorry but your user has insufficient access to perform task (".$task.").<br><br>";
 73: echo "<a href=main.php>Please click here to continue.</a><br><br>";
 74: Screen_Footer();
 75: exit();
 76: }
 77: 
 78: function nicedt($ts)
 79: {
 80: if ($ts<=0) return "never";
 81: return date("H:i:s d/m/Y",$ts);
 82: }
 83: 
 84: function enicedt($ts)
 85: {
 86: echo nicedt($ts);
 87: }
 88: 
 89: function nicediff($diff)
 90: {
 91: $hr=0;
 92: $mn=0;
 93: $se=0;
 94: if ($diff>59)
 95: 	{
 96: 	$mn=round($diff/60,0);
 97: 	$se=$diff%60;
 98: 	if ($mn>59)
 99: 		{
100: 		$hr=round($mn/60,0);
101: 		$mn=$mn%60;
102: 		}
103: 	}
104: else $se=$diff;
105: $s="";
106: if ($hr<10) $s="0";
107: $s.=$hr.":";
108: if ($mn<10) $s.="0";
109: $s.=$mn.":";
110: if ($se<10) $s.="0";
111: $s.=$se;
112: return $s;
113: }
114: 
115: function dtago($ts)
116: {
117: if ($ts<=0) return "never";
118: $now=time();
119: $diff=$now-$ts;
120: $s=nicediff($diff);
121: $s.=" ago";
122: return $s;
123: }
124: 
125: function edtago($ts)
126: {
127: echo dtago($ts);
128: }
129: 
130: $allowed="00123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz@_-.,";
131: 
132: function nices($s)
133: {
134: global $allowed;
135: $o="";
136: for ($a=0; $a<strlen($s); $a++)
137: 	{
138: 	$c=$s[$a];
139: 	if (strpos($allowed,$c)===false)
140: 		{
141: 		// skip it
142: 		}
143: 	else $o.=$c;
144: 	}
145: return $o;
146: }
147: 
148: function ShowIcons()
149: {
150: global $fnIcons,$fnIcon_DefNode,$fnIcon_DefGroup;
151: $c=0;
152: echo "<table border=0>";
153: $cc=0;
154: for ($a=0; $a<count($fnIcons); $a++)
155: 	{
156: 	if ($cc==0) echo "<tr>";
157: 	echo "<td valign=top align=center><img src=icons/".$fnIcons[$a]."><br>".$fnIcons[$a]."<br>";
158: 	if ($a==$fnIcon_DefNode) echo "<i>Node Default</i> ";
159: 	if ($a==$fnIcon_DefGroup) echo "<i>Group Default</i>";
160: 	echo "</td>";
161: 	$cc++;
162: 	if ($cc>=5)
163: 		{
164: 		echo "</tr>";
165: 		$cc=0;
166: 		}
167: 	}
168: if ($cc>0) echo "</tr>";
169: echo "</table>";
170: }
171: 
172: 
173: function NodeIcon($nodeid)
174: {
175: global $NATS,$fnIcons,$fnIcon_DefNode;
176: $q="SELECT nodeicon FROM fnnode WHERE nodeid=\"".ss($nodeid)."\"";
177: $r=$NATS->DB->Query($q);
178: if ($row=$NATS->DB->Fetch_Array($r)) 
179: 	{
180: 	if ($row['nodeicon']!="") return $row['nodeicon'];
181: 	}
182: return $fnIcons[$fnIcon_DefNode];
183: }
184: 
185: function GroupIcon($groupid)
186: {
187: global $NATS,$fnIcons,$fnIcon_DefGroup;
188: $q="SELECT groupicon FROM fngroup WHERE groupid=\"".ss($groupid)."\"";
189: $r=$NATS->DB->Query($q);
190: if ($row=$NATS->DB->Fetch_Array($r)) 
191: 	{
192: 	if ($row['groupicon']!="") return $row['groupicon'];
193: 	}
194: return $fnIcons[$fnIcon_DefGroup];
195: }
196: 
197: function np_tiny($nodeid,$text=true)
198: {
199: global $NATS;
200: $al=$NATS->NodeAlertLevel($nodeid);
201: echo "<table class=\"nptiny-al".$al."\">";
202: echo "<tr><td valign=center align=center>";
203: echo "<a href=node.php?nodeid=".$nodeid.">";
204: echo "<img src=\"icons/".NodeIcon($nodeid)."\" border=0>";
205: echo "</a>";
206: if ($text)
207: 	{
208: 	echo "<br><b class=\"al".$al."\">".$nodeid."</b>";
209: 	}
210: echo "</td></tr></table>";
211: }
212: 
213: function ng_tiny($groupid,$groupname="",$text=true)
214: {
215: global $NATS;
216: // to do - get groupname if not sent but F--- it for now
217: $al=$NATS->GroupAlertLevel($groupid);
218: echo "<table class=\"nptiny-al".$al."\">";
219: echo "<tr><td valign=center align=center>";
220: echo "<a href=group.php?groupid=".$groupid.">";
221: echo "<img src=\"icons/".GroupIcon($groupid)."\" border=0>";
222: echo "</a>";
223: if ($text)
224: 	{
225: 	echo "<br><b class=\"al".$al."\">".$groupname."</b>";
226: 	}
227: echo "</td></tr></table>";
228: }
229: 
230: function ng_big($groupid,$groupname="",$groupdesc="",$groupicon="")
231: {
232: global $NATS;
233: if ($groupicon=="") $groupicon=GroupIcon($groupid);
234: $al=$NATS->GroupAlertLevel($groupid);
235: echo "<table class=\"npbig-al".$al."\">";
236: echo "<tr><td align=left valign=top>";
237: echo "<table class=\"nicetable\" width=300>";
238: echo "<tr><td align=right>Group Name :";
239: echo "</td><td align=left><a href=group.php?groupid=".$groupid.">".$groupname."</a></td></tr>";
240: echo "<tr><td align=right>Description :";
241: echo "</td><td align=left>".$groupdesc."</td></tr>";
242: echo "<tr><td align=right>Status :</td><td align=left>";
243: echo "<b class=\"al".$al."\">".oText($al)."</b></td></tr>";
244: echo "</table></td>";
245: //echo "<td align=left valign=top align=right width=60>";
246: //echo "<img src=icons/".GroupIcon($groupid).">";
247: //echo "</td>";
248: echo "</tr>";
249: echo "</table>";
250: }
251: 
252: 
253: 
254: 
255: ?>