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