source: branches/new/pages/guilda.php@ 655

Last change on this file since 655 was 655, checked in by Bidi, 15 years ago

Opravena větev new, nyní by zde měly být už i adresáře.

File size: 5.1 KB
Line 
1<?php
2
3function 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;
16if($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">&lt;- 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?>
Note: See TracBrowser for help on using the repository browser.