1 | <?php
|
---|
2 |
|
---|
3 | function count_days($a, $b)
|
---|
4 | {
|
---|
5 | $gd_a = getdate($a);
|
---|
6 | $gd_b = getdate($b);
|
---|
7 | $a_new = mktime(12, 0, 0, $gd_a['mon'], $gd_a['mday'], $gd_a['year']);
|
---|
8 | $b_new = mktime(12, 0, 0, $gd_b['mon'], $gd_b['mday'], $gd_b['year']);
|
---|
9 | return round(abs($a_new - $b_new) / 86400);
|
---|
10 | }
|
---|
11 |
|
---|
12 | $Realm = new Realm($System, $_COOKIE['RealmIndex']);
|
---|
13 | $db2 = $Realm->Database;
|
---|
14 | $db2->select_db($Config['Mangos']['RealmList'][$Realm->Id]['DatabaseCharacters']);
|
---|
15 | $id = (isset($_GET['id'])) ? $_GET['id'] : 0;
|
---|
16 | if($id != 0)
|
---|
17 | {
|
---|
18 | $guild_id = $id;
|
---|
19 | $DbResult = $db2->query('SELECT `guildid`, `name`, `createdate` FROM `guild` WHERE `guildid` = '.$guild_id.' LIMIT 1');
|
---|
20 | $guild_data = $DbResult->fetch_assoc();
|
---|
21 | $members = $db2->query('SELECT guild_member.guid, guild_member.rank AS mrank, `characters`.name, SUBSTRING_INDEX(SUBSTRING_INDEX(`characters`.`data`, " ", '.$Config['Mangos']['CharacterDataOffset']['Level'].' + 1), " ", -1) AS level, (SELECT rname FROM guild_rank WHERE guildid ='.$guild_id.' AND rid = mrank + 1) AS rname, guild_member.pnote, guild_member.offnote FROM guild_member,`characters` LEFT JOIN guild_member k1 ON k1.`guid`=`characters`.`guid` WHERE guild_member.guildid = '.$guild_id.' AND guild_member.guid=`characters`.guid ORDER BY mrank');
|
---|
22 | $total_members = $members->num_rows;
|
---|
23 | $DbResult = $db2->query('SELECT count(*) AS online_mem FROM `guild_member`, `characters`, `guild` WHERE guild.guildid = '.$guild_id.' AND guild_member.guildid = guild.guildid AND guild_member.guid = characters.guid AND characters.online = 1');
|
---|
24 | $online_mem = $DbResult->fetch_assoc();
|
---|
25 |
|
---|
26 | // guild info
|
---|
27 | $date_arr = explode(' ', $guild_data['createdate']);
|
---|
28 | $date = explode('-', $date_arr[0]);
|
---|
29 | $time_stp = explode(':', $date_arr[1]);
|
---|
30 | $time = mktime($time_stp[0], $time_stp[1], $time_stp[2], $date[1], $date[2], $date[0]);
|
---|
31 | $human_date = date('d.m.Y H:i:s', $time);
|
---|
32 | echo('<a href="?page=guildy"><- Zpět na výpis</a><br />');
|
---|
33 | echo('<table class="BaseTable">
|
---|
34 | <tr>
|
---|
35 | <td colspan="2" style="font-size: x-large;">Spolek '.$guild_data['name'].'</td>
|
---|
36 | </tr>
|
---|
37 | <tr>
|
---|
38 | <th>Datum založení: </th>
|
---|
39 | <td>'.$human_date.'</td>
|
---|
40 | </tr>
|
---|
41 | <tr>
|
---|
42 | <th>Celkem členů: </th>
|
---|
43 | <td>'.$total_members.' (Online : '.$online_mem['online_mem'].')</td>
|
---|
44 | </tr>');
|
---|
45 | $DbResult = $db->query('SELECT Homepage FROM GuildInfo WHERE Guild='.$guild_id.' AND Realm='.$Realm->Id);
|
---|
46 | $DbRow = $DbResult->fetch_assoc();
|
---|
47 | $Homepage = $DbRow['Homepage'];
|
---|
48 | if($Homepage != '')
|
---|
49 | {
|
---|
50 | echo(' <tr>
|
---|
51 | <th>Webové stránky: </th>
|
---|
52 | <td><a href="http://'.$Homepage.'/">'.$Homepage.'</a></td>
|
---|
53 | </tr>
|
---|
54 | ');
|
---|
55 | }
|
---|
56 | echo('</table><br />');
|
---|
57 |
|
---|
58 |
|
---|
59 | // members info
|
---|
60 | echo('<table class="BaseTable">
|
---|
61 | <tr>
|
---|
62 | <th align="center">Jméno</th>
|
---|
63 | <th align="center">Rasa</th>
|
---|
64 | <th align="center">Třída</th>
|
---|
65 | <th align="center">Úroveň</th>
|
---|
66 | <th align="center">Hodnost</th>
|
---|
67 | <th align="center">Poslední přihlášení (dny)</th>
|
---|
68 | <th align="center">Online</th>
|
---|
69 | </tr>');
|
---|
70 | while($member = $members->fetch_row())
|
---|
71 | {
|
---|
72 | $query = $db2->query('SELECT `race`,`class`,`online`, `account`, `logout_time`, SUBSTRING_INDEX(SUBSTRING_INDEX(`characters`.`data`, " ", '.$Config['Mangos']['CharacterDataOffset']['Level'].' + 1), " ", -1) AS level, mid(lpad( hex( CAST(substring_index(substring_index(data, " ", '.($Config['Mangos']['CharacterDataOffset']['Gender'] + 1).'), " ", -1) as unsigned) ), 8, 0), 4, 1) as gender FROM `characters` WHERE `guid` = '.$member[0].' LIMIT 1;');
|
---|
73 | $online = $query->fetch_assoc();
|
---|
74 | $accid = $online['account'];
|
---|
75 |
|
---|
76 | $LogoutTime = count_days($online['logout_time'], time());
|
---|
77 | $LogoutTimeColorList = array(0 => '#0000CC', 5 => '#FFFF00', 15 => '#FF8000', 30 => '#FF0000', 60 => '#FF00FF', 90 => '#8000FF');
|
---|
78 | $LogoutTimeColor = '#009900';
|
---|
79 | foreach($LogoutTimeColorList as $Time => $Color)
|
---|
80 | {
|
---|
81 | if($LogoutTime > $Time) $LogoutTimeColor = $Color;
|
---|
82 | }
|
---|
83 |
|
---|
84 | $Level = $online['level'];
|
---|
85 | $LevelColorList = array(9 => '#858585', 19 => '#339900', 29 => '#3300CC', 39 => '#5552FF', 49 => '#FF8000', 59 => '#FF0000', 69 => '#FF00CC', 70 => '#FFF000');
|
---|
86 | $LevelColor = '#FFFFFF';
|
---|
87 | foreach($LevelColorList as $Index => $Color)
|
---|
88 | {
|
---|
89 | if($Level > $Index) $LevelColor = $Color;
|
---|
90 | }
|
---|
91 |
|
---|
92 | if($online['gender'] == 0) $gender = 0;
|
---|
93 | else $gender = 1;
|
---|
94 | echo('<tr>'.
|
---|
95 | '<td align="center">'.$member[2].'</td>'.
|
---|
96 | '<td align="center"><img src="imgs/icons/'.$online['race'].'-'.$gender.'.gif" alt="pohlaví" /></td>'.
|
---|
97 | '<td align="center"><img src="imgs/icons/'.$online['class'].'.gif" alt="třída" /></td>'.
|
---|
98 | '<td align="center" style="color: '.$LevelColor.'">'.$Level.'</td>'.
|
---|
99 | '<td align="center">'.$member[4].' ('.$member[1].')</td>'.
|
---|
100 | '<td align="center" style="color: '.$LogoutTimeColor.'">'.$LogoutTime.'</td>'.
|
---|
101 | '<td align="center">'.(($online['online']) ? '<img src="imgs/inc/on.gif" alt="online" />' : '<img src="imgs/inc/off.gif" alt="offline" />').'</td>'.
|
---|
102 | '</tr>');
|
---|
103 | }
|
---|
104 | echo('</table>');
|
---|
105 | } else echo('<meta http-equiv="refresh" content="0;url=?page=guildy">');
|
---|
106 |
|
---|
107 | ?>
|
---|