Viewing File base/screen.inc.php of 0.01.2a
|
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 " <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: ?>