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 |
|
---|
14 | require_once("scripts/get_lib.php");
|
---|
15 |
|
---|
16 | $mysql = new MySQL;
|
---|
17 | $mysql->connect($mangos_db[$realm_id]['addr'], $mangos_db[$realm_id]['user'], $mangos_db[$realm_id]['pass'], $mangos_db[$realm_id]['name']);
|
---|
18 |
|
---|
19 | $output .= "<div class=\"top\">";
|
---|
20 | if (test_port($server[$realm_id]['addr'],$server[$realm_id]['game_port'])) {
|
---|
21 |
|
---|
22 | $query = $mysql->query("SELECT uptime/60 FROM uptime ORDER BY starttime DESC LIMIT 1");
|
---|
23 | $uptime = $mysql->result($query, 0);
|
---|
24 | $output .= "<h1><font color=\"#55aa55\">{$lang_index['realm']} ".get_realm_name($realm_id)." {$lang_index['online']} : (".(int)($uptime/60).":".(($uptime >= 60 )?(int)($uptime-60*(int)($uptime/60)):(int)$uptime)."h)</font></h1>";
|
---|
25 | $online = true;
|
---|
26 | } else {
|
---|
27 | $output .= "<h1><font class=\"error\">{$lang_index['realm']} ".get_realm_name($realm_id)." {$lang_index['offline_or_let_height']}</font></h1>";
|
---|
28 | $online = false;
|
---|
29 | }
|
---|
30 | $output .= "Mangos: {$server[$realm_id]['rev']} Using DB: {$mangos_db[$realm_id]['db_rev']}</div>";
|
---|
31 |
|
---|
32 | $mysql->db($mangos_db[$realm_id]['name']);
|
---|
33 | //MOTD part
|
---|
34 | $start = (isset($_GET['start'])) ? $mysql->quote_smart($_GET['start']) : 0;
|
---|
35 |
|
---|
36 | $query_1 = $mysql->query("SELECT count(*) FROM bugreport");
|
---|
37 | $all_record = $mysql->result($query_1, 0);
|
---|
38 |
|
---|
39 | $output .= "<center>
|
---|
40 | <table class=\"lined\">
|
---|
41 | <tr>
|
---|
42 | <td class=\"head\" align=\"right\">";
|
---|
43 | if ($user_lvl) $output .= "<a href=\"motd.php?action=add_motd\" class=\"head_link\">{$lang_index['add_motd']}</a>";
|
---|
44 | $output .= "</td></tr>";
|
---|
45 | if($all_record){
|
---|
46 | $result = $mysql->query("SELECT id, type, content FROM bugreport ORDER BY id DESC LIMIT $start, 3");
|
---|
47 | while($post = $mysql->fetch_row($result)){
|
---|
48 | $output .= "<tr><td align=\"left\" class=\"large\"><blockquote>$post[2]</blockquote></td></tr>
|
---|
49 | <tr><td align=\"right\">$post[1] ";
|
---|
50 | if ($user_lvl > 0) $output .= "<a href=\"motd.php?action=delete_motd&id=$post[0]\">{$lang_index['delete']}</a>";
|
---|
51 | $output .= "</td></tr>
|
---|
52 | <tr><td class=\"hidden\"></td></tr>";
|
---|
53 | }
|
---|
54 | $output .= "<tr><td align=\"right\" class=\"hidden\">".generate_pagination("index.php?", $all_record, 3, $start)."</td></tr>";
|
---|
55 | }
|
---|
56 | $output .= "</table><br />";
|
---|
57 |
|
---|
58 | //print online chars
|
---|
59 | if ($online){
|
---|
60 | $order_by = (isset($_GET['order_by'])) ? $mysql->quote_smart($_GET['order_by']) : "name";
|
---|
61 |
|
---|
62 | $dir = (isset($_GET['dir'])) ? $mysql->quote_smart($_GET['dir']) : 1;
|
---|
63 | $order_dir = ($dir) ? "ASC" : "DESC";
|
---|
64 | $dir = ($dir) ? 0 : 1;
|
---|
65 |
|
---|
66 | $result = $mysql->query("SELECT count(*) FROM `character` WHERE `online`= 1");
|
---|
67 | $total_online = $mysql->result($result, 0);
|
---|
68 |
|
---|
69 | if( !$user_lvl && !$server[$realm_id]['both_factions']){
|
---|
70 | $result = $mysql->query("SELECT race FROM `character` WHERE account = '$user_id' AND totaltime = (SELECT MAX(totaltime) FROM `character` WHERE account = '$user_id') LIMIT 1");
|
---|
71 | if ($mysql->num_rows($result)){
|
---|
72 | $order_side = (in_array($mysql->result($result, 0, 'race'),array(2,5,6,8,10))) ?
|
---|
73 | " AND race IN (2,5,6,8,10) " : " AND race IN (1,3,4,7,11) ";
|
---|
74 | } else $order_side = "";
|
---|
75 | } else $order_side = "";
|
---|
76 |
|
---|
77 | require_once("scripts/defines.php");
|
---|
78 |
|
---|
79 | $result = $mysql->query("SELECT guid,name,race,class,position_x,position_y,map,
|
---|
80 | CAST( SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', ".(CHAR_DATA_OFFSET_HONOR_KILL+1)."), ' ', -1) AS UNSIGNED) AS highest_rank,
|
---|
81 | CAST( SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', ".(CHAR_DATA_OFFSET_LEVEL+1)."), ' ', -1) AS UNSIGNED) AS level,account
|
---|
82 | FROM `character` WHERE `online`= 1 $order_side ORDER BY $order_by $order_dir");
|
---|
83 |
|
---|
84 | $output .= "
|
---|
85 | <font class=\"bold\">{$lang_index['tot_users_online']} : $total_online</font><br /><br />
|
---|
86 | <table class=\"lined\">
|
---|
87 | <tr>
|
---|
88 | <td width=\"22%\" class=\"head\"><a href=\"index.php?order_by=name&dir=$dir\" class=\"head_link\">{$lang_index['name']}</a></td>
|
---|
89 | <td width=\"10%\" class=\"head\"><a href=\"index.php?order_by=race&dir=$dir\" class=\"head_link\">{$lang_index['race']}</a></td>
|
---|
90 | <td width=\"10%\" class=\"head\"><a href=\"index.php?order_by=class&dir=$dir\" class=\"head_link\">{$lang_index['class']}</a></td>
|
---|
91 | <td width=\"5%\" class=\"head\"><a href=\"index.php?order_by=level&dir=$dir\" class=\"head_link\">{$lang_index['level']}</a></td>
|
---|
92 | <td width=\"20%\" class=\"head\"><a href=\"index.php?order_by=map&dir=$dir\" class=\"head_link\">{$lang_index['map']}</a></td>
|
---|
93 | <td width=\"25%\" class=\"head\">{$lang_index['zone']}</td>
|
---|
94 | <td width=\"8%\" class=\"head\"><a href=\"index.php?order_by=highest_rank&dir=$dir\" class=\"head_link\">{$lang_index['honor_kills']}</a></td>
|
---|
95 | </tr>";
|
---|
96 |
|
---|
97 | require_once("scripts/id_tab.php");
|
---|
98 |
|
---|
99 | while($char = $mysql->fetch_row($result)){
|
---|
100 | $output .= "<tr>
|
---|
101 | <td><a href=\"char.php?id=$char[0]\">$char[1]</a></td>
|
---|
102 | <td>".get_player_race($char[2])."</td>
|
---|
103 | <td>".get_player_class($char[3])."</td>
|
---|
104 | <td>$char[8]</td>
|
---|
105 | <td>".get_map_name($char[6])."</td>
|
---|
106 | <td>".get_zone_name($char[6], $char[4], $char[5])."</td>
|
---|
107 | <td>$char[7]</td>
|
---|
108 | </tr>";
|
---|
109 | }
|
---|
110 | $output .= "</table><br /></center>";
|
---|
111 | }
|
---|
112 | $mysql->close();
|
---|
113 |
|
---|
114 | require_once("footer.php");
|
---|
115 | ?>
|
---|