source: stat/stat.php@ 651

Last change on this file since 651 was 651, checked in by aleg, 15 years ago

Změněná cesta k GM a Char logům pro realmy 4 a 7.

File size: 4.2 KB
Line 
1<?php
2
3include('../inc/config.php');
4include('../inc/database.php');
5include('../inc/system.php');
6
7$Hostname = $Config['Database']['Host'];
8$Username = $Config['Database']['User'];
9$Password = $Config['Database']['Password'];
10$Database = $Config['Mangos']['RealmList'][4]['DatabaseMangos']; // must contains characters table
11$RealmHostname = $Hostname;
12$RealmUsername = $Username;
13$RealmPassword = $Password;
14$RealmDatabase = $Config['Mangos']['DatabaseRealmd']; // must contains zone_coordinates and accounts table
15$CharactersDatabase = $Config['Mangos']['RealmList'][4]['DatabaseCharacters']; // must contains zone_coordinates and accounts table
16$EmuVersion = $Config['Mangos']['ClientVersion'];
17$Owner = $Config['Web']['Admin'];
18$ServerName = $Config['Web']['Title'];
19$DatabaseEncoding = 'utf8';
20
21$Output = WoWEmuStat();
22Header('Content-Type: text/xml');
23Header('Content-Length: '.strlen($Output));
24echo($Output);
25
26function WoWEmuStat()
27{
28 global $Hostname, $Username, $Password, $Database, $EmuVersion, $Owner, $ServerName, $realm_db, $DatabaseEncoding,
29 $RealmHostname, $RealmUsername, $RealmPassword, $RealmDatabase, $CharactersDatabase;
30
31 $Result =
32'<?xml version="1.0" encoding="UTF-8"'."?>\r\n".
33'<?xml-stylesheet type="text/xsl" href="stat.xsl"'."?>\r\n".
34" <stats>\r\n".
35" <server>\r\n".
36" <version>".$EmuVersion."</version>\r\n".
37" <owner>".$Owner."</owner>\r\n".
38" <servername>".$ServerName."</servername>\r\n".
39" <uptime>0 weeks 1 days 0 hours 0 mins</uptime>\r\n".
40" </server>\r\n".
41" <serverload>\r\n".
42" <network>\r\n".
43" <configsleep>200</configsleep>\r\n".
44" <loops>0</loops>\r\n".
45" <totaltime>0</totaltime>\r\n".
46" <load>0.00%</load>\r\n".
47" </network>\r\n".
48" <world>\r\n".
49" <configsleep>600</configsleep>\r\n".
50" <loops>95222</loops>\r\n".
51" <totaltime>7594525</totaltime>\r\n".
52" <load>1.50%</load>\r\n".
53" </world>\r\n".
54" </serverload>\r\n".
55" <players>\r\n";
56
57 $realm_db = mysql_connect($RealmHostname, $RealmUsername, $RealmPassword);
58 mysql_select_db($RealmDatabase, $realm_db);
59 $db_result = mysql_query("SET NAMES $DatabaseEncoding", $realm_db);
60
61 $mangos_db = mysql_connect($Hostname, $Username, $Password, TRUE);
62 mysql_select_db($Database, $mangos_db);
63 $db_result = mysql_query("SET NAMES $DatabaseEncoding", $mangos_db);
64
65 $characters_db = mysql_connect($RealmHostname, $RealmUsername, $RealmPassword);
66 mysql_select_db($CharactersDatabase, $characters_db);
67 $db_result = mysql_query("SET NAMES $DatabaseEncoding", $characters_db);
68
69 $db_result = mysql_query("SELECT * FROM `characters` WHERE `online`='1' ORDER BY `name`", $characters_db);
70 while($result = mysql_fetch_array($db_result))
71 {
72 // Get GM level by character
73 $db_result2 = mysql_query("SELECT gmlevel FROM `account` WHERE `id`='".$result['account']."'", $realm_db);
74 //echo("SELECT `gmlevel` FROM `account` WHERE `id`='".$result['account']."'");
75 $result2 = mysql_fetch_array($db_result2);
76
77 $char_data = explode(' ',$result['data']);
78 $Result .= " <player>\r\n".
79 " <name>".$result['name']."</name>\r\n".
80 " <race>".$result['race']."</race>\r\n".
81 " <class>".$result['class']."</class>\r\n".
82 " <level>".$char_data[53]."</level>\r\n".
83 " <map>".$result['map']."</map>\r\n".
84 " <zone>".get_zone_name($result['map'], $result['position_x'], $result['position_y'])."</zone>\r\n".
85 " <ping>10</ping>\r\n".
86 " <plevel>".$result2['gmlevel']."</plevel>\r\n".
87 " <ip>178.12.14.2</ip>\r\n".
88 " </player>\r\n";
89 }
90 $Result .= " </players>\r\n".
91 " </stats>\r\n";
92 return($Result);
93}
94
95function get_zone_name($mapid, $x, $y)
96{
97 global $realm_db;
98 $query = mysql_query("SELECT * FROM `zone_coordinates` ORDER BY `priory`", $realm_db);
99 $zmap = 0;
100 while($result = mysql_fetch_array($query))
101 {
102 if ($result['map']==$mapid AND $result['y_min'] < $x AND $result['y_max'] > $x AND $result['x_max'] < $y AND $result['x_min'] > $y) $zmap=$result['zone_id'];
103 }
104 return $zmap;
105}
106
107?>
Note: See TracBrowser for help on using the repository browser.