source: minimanager/index.php@ 304

Last change on this file since 304 was 304, checked in by george, 17 years ago

Aktualizace na minimanager 0.1.6d.

File size: 8.5 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 v2(GPL)
9 */
10
11require_once("header.php");
12valid_login(0);
13require_once("scripts/id_tab.php");
14require_once("scripts/get_lib.php");
15require_once("scripts/bbcode_lib.php");
16
17$sql = new SQL;
18
19$sql->connect($mangos_db[$realm_id]['addr'], $mangos_db[$realm_id]['user'], $mangos_db[$realm_id]['pass'], $mangos_db[$realm_id]['name']);
20
21$output .= "<div class=\"top\">";
22if (test_port($server[$realm_id]['addr'],$server[$realm_id]['game_port'])) {
23
24 $query = $sql->query("SELECT uptime FROM uptime ORDER BY starttime DESC LIMIT 1");
25 $uptime = $sql->result($query, 0);
26 $output .= "<h1><font color=\"#55aa55\">{$lang_index['realm']} ".get_realm_name($realm_id)." {$lang_index['online']} : (".(int)($uptime/60/60/24)."D : ".(($uptime/60/60 >= 24 )?(int)($uptime/60/60-24*(int)($uptime/60/60/24)):(int)($uptime/60/60))."H : ".(($uptime/60 >= 60 )?(int)($uptime/60-60*(int)($uptime/60/60)):(int)($uptime/60))."M : ".(($uptime >= 60 )?(int)($uptime-60*(int)($uptime/60)):(int)$uptime)."S)</font></h1>";
27 $online = true;
28 } else {
29 $output .= "<h1><font class=\"error\">{$lang_index['realm']} ".get_realm_name($realm_id)." {$lang_index['offline_or_let_high']}</font></h1>";
30 $online = false;
31 }
32$output .= "Mangos: {$server[$realm_id]['rev']} Using DB: {$mangos_db[$realm_id]['db_rev']}</div>";
33
34$sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
35$sql->db($characters_db[$realm_id]['name']);
36
37//MOTD part
38$start = (isset($_GET['start'])) ? $sql->quote_smart($_GET['start']) : 0;
39
40$query_1 = $sql->query("SELECT count(*) FROM bugreport");
41$all_record = $sql->result($query_1, 0);
42
43if ($user_lvl > 0) $output .= "<script type=\"text/javascript\">
44 answerbox.btn_ok='{$lang_global['yes_low']}';
45 answerbox.btn_cancel='{$lang_global['no']}';
46 var del_motd = 'motd.php?action=delete_motd&amp;id=';
47 </script>";
48$output .= "<center>
49 <table class=\"lined\">
50 <tr>
51 <th align=\"right\">";
52if ($user_lvl) $output .= "<a href=\"motd.php?action=add_motd\">{$lang_index['add_motd']}</a>";
53$output .= "</td></tr>";
54if($all_record){
55 $result = $sql->query("SELECT id, type, content FROM bugreport ORDER BY id DESC LIMIT $start, 3");
56 while($post = $sql->fetch_row($result)){
57 $output .= "<tr><td align=\"left\" class=\"large\"><blockquote>".bbcode2html($post[2])."</blockquote></td></tr>
58 <tr><td align=\"right\">$post[1] ";
59 if ($user_lvl > 0) $output .= "<img src=\"img/cross.png\" width=\"12\" height=\"12\" onclick=\"answerBox('{$lang_global['delete']}: <font color=white>{$post[0]}</font><br />{$lang_global['are_you_sure']}', del_motd + $post[0]);\" style=\"cursor:pointer;\" />
60 <a href=\"motd.php?action=edit_motd&amp;id=$post[0]\"><img src=\"img/edit.png\" width=\"14\" height=\"14\" /></a>";
61 $output .= "</th></tr>
62 <tr><td class=\"hidden\"></td></tr>";
63 }
64 $output .= "<tr><td align=\"right\" class=\"hidden\">".generate_pagination("index.php?", $all_record, 3, $start)."</td></tr>";
65 }
66$output .= "</table><br />";
67
68
69//print online chars
70if ($online){
71 $order_by = (isset($_GET['order_by'])) ? $sql->quote_smart($_GET['order_by']) : "name";
72
73 $dir = (isset($_GET['dir'])) ? $sql->quote_smart($_GET['dir']) : 1;
74 $order_dir = ($dir) ? "ASC" : "DESC";
75 $dir = ($dir) ? 0 : 1;
76
77 $result = $sql->query("SELECT count(*) FROM `character` WHERE `online`= 1");
78 $total_online = $sql->result($result, 0);
79
80 if( !$user_lvl && !$server[$realm_id]['both_factions']){
81 $result = $sql->query("SELECT race FROM `character` WHERE account = '$user_id' AND totaltime = (SELECT MAX(totaltime) FROM `character` WHERE account = '$user_id') LIMIT 1");
82 if ($sql->num_rows($result)){
83 $order_side = (in_array($sql->result($result, 0, 'race'),array(2,5,6,8,10))) ?
84 " AND race IN (2,5,6,8,10) " : " AND race IN (1,3,4,7,11) ";
85 } else $order_side = "";
86 } else $order_side = "";
87
88 require_once("scripts/defines.php");
89
90 $result = $sql->query("SELECT guid,name,race,class,zone,map,
91 CAST( SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', ".(CHAR_DATA_OFFSET_HONOR_POINTS+1)."), ' ', -1) AS UNSIGNED) AS highest_rank,
92 CAST( SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', ".(CHAR_DATA_OFFSET_LEVEL+1)."), ' ', -1) AS UNSIGNED) AS level,account,
93 CAST( SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', ".(CHAR_DATA_OFFSET_GUILD_ID+1)."), ' ', -1) AS UNSIGNED) as GNAME,
94 mid(lpad( hex( CAST(substring_index(substring_index(data,' ',".(36+1)."),' ',-1) as unsigned) ),8,'0'),4,1) as gender
95 FROM `character` WHERE `online`= 1 $order_side ORDER BY $order_by $order_dir");
96
97 $output .= "
98 <font class=\"bold\">{$lang_index['tot_users_online']} : $total_online</font><br /><br />
99 <table class=\"lined\">
100 <tr>
101 <th width=\"20%\"><a href=\"index.php?order_by=name&amp;dir=$dir\"".($order_by=='name' ? " class=\"$order_dir\"" : "").">{$lang_index['name']}</a></th>
102 <th width=\"5%\"><a href=\"index.php?order_by=race&amp;dir=$dir\"".($order_by=='race' ? " class=\"$order_dir\"" : "").">{$lang_index['race']}</a></th>
103 <th width=\"5%\"><a href=\"index.php?order_by=class&amp;dir=$dir\"".($order_by=='class' ? " class=\"$order_dir\"" : "").">{$lang_index['class']}</a></th>
104 <th width=\"5%\"><a href=\"index.php?order_by=level&amp;dir=$dir\"".($order_by=='level' ? " class=\"$order_dir\"" : "").">{$lang_index['level']}</a></th>
105 <th width=\"5%\"><a href=\"index.php?order_by=highest_rank&amp;dir=$dir\"".($order_by=='highest_rank' ? " class=\"$order_dir\"" : "").">Rank</a></th>
106 <th width=\"15%\"><a href=\"index.php?order_by=GNAME&amp;dir=$dir\"".($order_by=='GNAME' ? " class=\"$order_dir\"" : "").">Guild</a></th>
107 <th width=\"20%\"><a href=\"index.php?order_by=map&amp;dir=$dir\"".($order_by=='map' ? " class=\"$order_dir\"" : "").">{$lang_index['map']}</a></th>
108 <th width=\"25%\">{$lang_index['zone']}</th>
109 </tr>";
110
111 require_once("scripts/id_tab.php");
112
113 while($char = $sql->fetch_row($result)){
114
115 //$guild_name = 'dummy';
116 $accid = $char[8];
117
118 $sql->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
119 //$sql->db($realm_db['name']);
120 $gmlvl = $sql->query("SELECT `gmlevel` FROM `account`WHERE `id`='$accid';");
121 $gml = $sql->fetch_row($gmlvl);
122 $gm = $gml[0];
123
124 $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
125 //$sql->db($characters_db[$realm_id]['name']);
126 $guild_name = $sql->fetch_row($sql->query("SELECT `name` FROM `guild` WHERE `guildid`=".$char[9].";"));
127
128
129 $level = $char[7];
130
131 if($level > 0)
132 {
133 $lev = '<font color="#FFFFFF">'.$level.'</font>';
134 }
135 if($level > 9)
136 {
137 $lev = '<font color="#858585">'.$level.'</font>';
138 }
139 if($level > 19)
140 {
141 $lev = '<font color="#339900">'.$level.'</font>';
142 }
143 if($level > 29)
144 {
145 $lev = '<font color="#3300CC">'.$level.'</font>';
146 }
147 if($level > 39)
148 {
149 $lev = '<font color="#5552FF">'.$level.'</font>';
150 }
151 if($level > 49)
152 {
153 $lev = '<font color="#FF8000">'.$level.'</font>';
154 }
155 if($level > 59)
156 {
157 $lev = '<font color="#FF0000">'.$level.'</font>';
158 }
159 if($level > 69)
160 {
161 $lev = '<font color="#FF00CC">'.$level.'</font>';
162 }
163 if($level > 70)
164 {
165 $lev = '<font color="#FFF000">'.$level.'</font>';
166 }
167
168 $output .= "<tr>
169 <td><a href=\"char.php?id=$char[0]\"><span onmousemove='toolTip(\"".get_player_user_level($gm)."\",\"item_tooltip\")' onmouseout='toolTip()'>$char[1]</span></a></td>
170 <td><img src='img/c_icons/{$char[2]}-{$char[10]}.gif' onmousemove='toolTip(\"".get_player_race($char[2])."\",\"item_tooltip\")' onmouseout='toolTip()' /></td>
171 <td><img src='img/c_icons/{$char[3]}.gif' onmousemove='toolTip(\"".get_player_class($char[3])."\",\"item_tooltip\")' onmouseout='toolTip()' /></td>
172 <td>$lev</td>
173 <td><span onmouseover='toolTip(\"".$CHAR_RANK[$CHAR_RACE[$char[2]][1]][pvp_ranks($char[6])]."\",\"item_tooltip\")' onmouseout='toolTip()' style='color: white;'><img src='img/ranks/rank".pvp_ranks($char[6],$CHAR_RACE[$char[2]][1]).".gif'></span></td>
174 <td><a href=\"guild.php?action=view_guild&amp;error=3&amp;id=$char[9]\">$guild_name[0]</a></td>
175 <td>".get_map_name($char[5])."</td>
176 <td>".get_zone_name($char[4])."</td>
177 </tr>";
178 }
179 $output .= "</table><br /></center>";
180}
181
182$sql->close();
183
184require_once("footer.php");
185?>
Note: See TracBrowser for help on using the repository browser.