source: minimanager/index.php@ 5

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

import

File size: 5.1 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);
13
14require_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\">";
20if (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\">";
43if ($user_lvl) $output .= "<a href=\"motd.php?action=add_motd\" class=\"head_link\">{$lang_index['add_motd']}</a>";
44$output .= "</td></tr>";
45if($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&amp;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
59if ($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&amp;dir=$dir\" class=\"head_link\">{$lang_index['name']}</a></td>
89 <td width=\"10%\" class=\"head\"><a href=\"index.php?order_by=race&amp;dir=$dir\" class=\"head_link\">{$lang_index['race']}</a></td>
90 <td width=\"10%\" class=\"head\"><a href=\"index.php?order_by=class&amp;dir=$dir\" class=\"head_link\">{$lang_index['class']}</a></td>
91 <td width=\"5%\" class=\"head\"><a href=\"index.php?order_by=level&amp;dir=$dir\" class=\"head_link\">{$lang_index['level']}</a></td>
92 <td width=\"20%\" class=\"head\"><a href=\"index.php?order_by=map&amp;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&amp;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
114require_once("footer.php");
115?>
Note: See TracBrowser for help on using the repository browser.