source: minimanager_/scripts/global_lib.php@ 5

Last change on this file since 5 was 5, checked in by george, 18 years ago

import

File size: 4.6 KB
Line 
1<?php
2/*
3 * Project Name: MiniManager for Mangos Server
4 * Date: 17.10.2006 inital version (0.0.1a)
5 * Author: Q.SA
6 * Copyright: Q.SA
7 * Email: *****
8 * License: GNU General Public License (GPL)
9 */
10
11 //global output string - hands off...
12$output = "";
13
14//to avoid Strict Standards notices in php 5.1
15if (function_exists ('date_default_timezone_set') ) {
16 date_default_timezone_set('UTC');
17}
18
19//##########################################################################################
20//validates session's vars and restricting access to given level
21function valid_login($restrict_lvl){
22 if (isset($_SESSION['user_lvl']) && isset($_SESSION['user_id']) && isset($_SESSION['realm_id']) && isset($_SESSION['uname'])) {
23 session_regenerate_id();
24 $user_lvl = $_SESSION['user_lvl'];
25 $ip = ( !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : getenv('REMOTE_ADDR');
26 if ($ip != $_SESSION['client_ip']) redirect("login.php");
27 } else redirect("login.php");
28
29 if ($user_lvl < $restrict_lvl) redirect("login.php?error=5");
30}
31
32
33//##########################################################################################
34//making buttons - just to make them all look the same
35function makebutton($xtext, $xlink, $xwidth) {
36 global $output;
37 $output .="<div><a class=\"button\" style=\"width:".$xwidth."px;\" href=\"$xlink\">$xtext</a></div>";
38}
39
40//##########################################################################################
41// Fix reditection error under MS-IIS fuckedup-servers.
42function redirect($url) {
43 if ( strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS') === false ){
44 header("Location: ".$url);
45 exit();
46 } else die('<meta http-equiv="refresh" content="0;URL='.$url.'" />');
47}
48
49//##########################################################################################
50// Generate paging navigation.
51// Original from PHPBB with some modifications to make them more simple
52function generate_pagination($base_url, $num_items, $per_page, $start_item, $add_prevnext_text = TRUE) {
53 if ( !$num_items ) return "";
54 $total_pages = ceil($num_items/$per_page);
55 if ( $total_pages == 1 ) {
56 return "";
57 }
58 $on_page = floor($start_item / $per_page) + 1;
59 $page_string = "";
60 if ( $total_pages > 10 ) {
61 $init_page_max = ( $total_pages > 3 ) ? 3 : $total_pages;
62 for($i = 1; $i < $init_page_max + 1; $i++) {
63 $page_string .= ( $i == $on_page ) ? "<b>" . $i . "</b>" : "<a href=\"$base_url&amp;start=" . ( ( $i - 1 ) * $per_page ) . "\">" . $i . "</a>";
64 if ( $i < $init_page_max ) {
65 $page_string .= ", ";
66 }
67 }
68 if ( $total_pages > 3 ) {
69 if ( $on_page > 1 && $on_page < $total_pages ) {
70 $page_string .= ( $on_page > 5 ) ? " ... " : ", ";
71 $init_page_min = ( $on_page > 4 ) ? $on_page : 5;
72 $init_page_max = ( $on_page < $total_pages - 4 ) ? $on_page : $total_pages - 4;
73
74 for($i = $init_page_min - 1; $i < $init_page_max + 2; $i++) {
75 $page_string .= ($i == $on_page) ? "<b>" . $i . "</b>" : "<a href=\"$base_url&amp;start=" . ( ( $i - 1 ) * $per_page ) . "\">" . $i . "</a>";
76 if ( $i < $init_page_max + 1 ) {
77 $page_string .= ", ";
78 }
79 }
80 $page_string .= ( $on_page < $total_pages - 4 ) ? " ... " : ", ";
81 }
82 else {
83 $page_string .= " ... ";
84 }
85 for($i = $total_pages - 2; $i < $total_pages + 1; $i++) {
86 $page_string .= ( $i == $on_page ) ? "<b>" . $i . "</b>" : "<a href=\"$base_url&amp;start=" . ( ( $i - 1 ) * $per_page ) . "\">" . $i . "</a>";
87 if( $i < $total_pages ) {
88 $page_string .= ", ";
89 }
90 }
91 }
92 }
93 else {
94 for($i = 1; $i < $total_pages + 1; $i++) {
95 $page_string .= ( $i == $on_page ) ? "<b>" . $i . "</b>" : "<a href=\"$base_url&amp;start=" . ( ( $i - 1 ) * $per_page ) . "\">" . $i . "</a>";
96 if ( $i < $total_pages ) {
97 $page_string .= ", ";
98 }
99 }
100 }
101 if ( $add_prevnext_text ) {
102 if ( $on_page > 1 ) {
103 $page_string = " <a href=\"$base_url&amp;start=" . ( ( $on_page - 2 ) * $per_page ) . "\">Prev</a>&nbsp;&nbsp;" . $page_string;
104 }
105
106 if ( $on_page < $total_pages ) {
107 $page_string .= "&nbsp;&nbsp;<a href=\"$base_url&amp;start=" . ( $on_page * $per_page ) . "\">Next</a>";
108 }
109 }
110 $page_string = "Page: " . $page_string;
111 return $page_string;
112}
113
114
115//##########################################################################################
116//redirects to error page with error code
117function error($err){
118 //$err = addslashes($err);
119 redirect("error.php?err=$err");
120}
121
122
123//##########################################################################################
124//testing for open port
125function test_port($server,$port){
126 $sock = @fsockopen($server, $port, $ERROR_NO, $ERROR_STR, (float)0.7);
127 if($sock){
128 @fclose($sock);
129 return true;
130 } else return false;
131}
132
133?>
Note: See TracBrowser for help on using the repository browser.