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 |
|
---|
11 | require_once("header.php");
|
---|
12 | valid_login(0);
|
---|
13 | require_once("scripts/id_tab.php");
|
---|
14 | require_once("scripts/get_lib.php");
|
---|
15 | require_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\">";
|
---|
22 | if (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 |
|
---|
43 | if ($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&id=';
|
---|
47 | </script>";
|
---|
48 | $output .= "<center>
|
---|
49 | <table class=\"lined\">
|
---|
50 | <tr>
|
---|
51 | <th align=\"right\">";
|
---|
52 | if ($user_lvl) $output .= "<a href=\"motd.php?action=add_motd\">{$lang_index['add_motd']}</a>";
|
---|
53 | $output .= "</td></tr>";
|
---|
54 | if($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&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
|
---|
70 | if ($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&dir=$dir\"".($order_by=='name' ? " class=\"$order_dir\"" : "").">{$lang_index['name']}</a></th>
|
---|
102 | <th width=\"5%\"><a href=\"index.php?order_by=race&dir=$dir\"".($order_by=='race' ? " class=\"$order_dir\"" : "").">{$lang_index['race']}</a></th>
|
---|
103 | <th width=\"5%\"><a href=\"index.php?order_by=class&dir=$dir\"".($order_by=='class' ? " class=\"$order_dir\"" : "").">{$lang_index['class']}</a></th>
|
---|
104 | <th width=\"5%\"><a href=\"index.php?order_by=level&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&dir=$dir\"".($order_by=='highest_rank' ? " class=\"$order_dir\"" : "").">Rank</a></th>
|
---|
106 | <th width=\"15%\"><a href=\"index.php?order_by=GNAME&dir=$dir\"".($order_by=='GNAME' ? " class=\"$order_dir\"" : "").">Guild</a></th>
|
---|
107 | <th width=\"20%\"><a href=\"index.php?order_by=map&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&error=3&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 |
|
---|
184 | require_once("footer.php");
|
---|
185 | ?>
|
---|