PageRenderTime 33ms CodeModel.GetById 6ms RepoModel.GetById 0ms app.codeStats 1ms

/EventCalendar/eventlist.php

http://wowroster-addons.googlecode.com/
PHP | 287 lines | 191 code | 52 blank | 44 comment | 32 complexity | 3810d67caab0e5bb85e33e0399033ecc MD5 | raw file
Possible License(s): GPL-3.0
  1. <?php
  2. /**
  3. * WoWRoster.net EventCalendar
  4. *
  5. * Event Calendar is a Roster addon that will show upcoming events from ingame
  6. * WoW addons GuildEventManager (GEM) or GroupCalendar
  7. *
  8. * LICENSE: Licensed under the Creative Commons
  9. * "Attribution-NonCommercial-ShareAlike 2.5" license
  10. *
  11. * @copyright 2006-2007 PoloDude
  12. * @license http://creativecommons.org/licenses/by-nc-sa/2.5 Creative Commons "Attribution-NonCommercial-ShareAlike 2.5"
  13. * @version 1.0.3
  14. * @svn SVN: $Id: eventlist.php 171 2007-07-07 18:19:39Z PoloDude $
  15. * @author PoloDude
  16. * @link http://www.wowroster.net/Forums/viewforum/f=59.html
  17. *
  18. */
  19. if ( !defined('ROSTER_INSTALLED') )
  20. {
  21. exit('Detected invalid access to this file!');
  22. }
  23. global $rc_wordings, $roster_conf;
  24. require_once 'lib/wowdb.php';
  25. // Display the Top / left side of the Stylish Border
  26. echo border('syellow', 'start', $rc_wordings[$roster_conf['roster_lang']]['UpcomingRaids']);
  27. // Make a table to hold the content
  28. echo '<table cellpadding="0" cellspacing="0" class="membersList">';
  29. // Display the header of the table
  30. echo '<tr>';
  31. echo '<th class="membersHeader">'.$rc_wordings[$roster_conf['roster_lang']]['Date'].'</th>';
  32. echo '<th class="membersHeader">'.$rc_wordings[$roster_conf['roster_lang']]['Zone'].'</th>';
  33. echo '<th class="membersHeader">'.$rc_wordings[$roster_conf['roster_lang']]['Leader'].'</th>';
  34. echo '<th class="membersHeader">'.$rc_wordings[$roster_conf['roster_lang']]['Attendees'].'</th>';
  35. echo '<th class="membersHeader">'.$rc_wordings[$roster_conf['roster_lang']]['Level'].'</th>';
  36. echo '<th class="membersHeaderRight">'.$rc_wordings[$roster_conf['roster_lang']]['Note'].'</th>';
  37. echo '</tr>';
  38. // Get all raids
  39. $query = 'SELECT * FROM `'.$db_prefix.'events` WHERE type != "Birth" AND type !="Meet" ORDER BY date ASC';
  40. if ($roster_conf['sqldebug'])
  41. {
  42. print "<!-- $query -->\n";
  43. }
  44. $result = $wowdb->query($query) or die_quietly($wowdb->error(),'Database Error',basename(__FILE__),__LINE__,$query);
  45. $rownum=1;
  46. while ($row = $wowdb->fetch_array($result)) {
  47. if (isset($lastdate)){
  48. if (date("j",$lastdate) != date("j",strtotime($row['date']))){
  49. for ($i = 1; $i < 8; $i++){
  50. $resetdate = mktime(3, 0, 0, date("m",$lastdate) , date("d",$lastdate)+$i, date("Y",$lastdate));
  51. unset($resetdata);
  52. $resetdata=checkReset(date("j",$resetdate),date("n",$resetdate),date("Y",$resetdate));
  53. if ($resetdata){
  54. echo ('<tr>'."\n");
  55. echo ('<td style="background-color:#2D0000" class="membersRow'.$rownum.'">'."\n");
  56. echo (date($addon_conf['EventCalendar']['ResetDate'],$resetdate)."\n");
  57. echo ('</td>'."\n");
  58. echo ('<td style="text-align:center;background-color:#2D0000" class="membersRow'.$rownum.'">'."\n");
  59. echo ($rc_wordings[$roster_conf['roster_lang']]['Reset']."\n");
  60. echo ('</td>'."\n");
  61. echo ('<td style="background-color:#2D0000" colspan="4" class="membersRowRight'.$rownum.'">'."\n");
  62. foreach ($resetdata as $type){
  63. resetIcon($type);
  64. }
  65. echo ('</td>'."\n");
  66. echo ('</tr>'."\n");
  67. }
  68. if (date("j",$resetdate)==date("j",strtotime($row['date']))) {break;}
  69. }
  70. }
  71. }
  72. // Open a new Row
  73. echo '<tr>';
  74. $zoneicon = $roster_conf['roster_dir'].'/addons/EventCalendar/img/icons/';
  75. $zoneicon .= ($rc_wordings[$roster_conf['roster_lang']]['Zones'][$row['type']] !=''?'Icon-'.$row['type'].'.jpg':'Icon-Unknown.jpg');
  76. $zone = ($rc_wordings[$roster_conf['roster_lang']]['Zones'][$row['type']] != ''?$rc_wordings[$roster_conf['roster_lang']]['Zones'][$row['type']]:$row['type']);
  77. echo '<td class="membersRow'.$rownum.'">';
  78. echo '<a href="addon.php?roster_addon_name=EventCalendar&event='.$row['eventid'].'">';
  79. if($addon_conf['EventCalendar']['ShowIcon'])
  80. echo '<img class="membersRowimg" width="'.$roster_conf['index_iconsize'].'" height="'.$roster_conf['index_iconsize'].'" src="'.$zoneicon.'" alt="'.$zone.'" /> ';
  81. echo date($addon_conf['EventCalendar']['EventDate'],strtotime($row['date'])).'</a></td>';
  82. echo '<td class="membersRow'.$rownum.'">';
  83. echo $zone.'</td>';
  84. echo '<td style="text-align:center;" class="membersRow'.$rownum.'">';
  85. echo $row['leader'].'</td>';
  86. $titular_count = getTitularCount($row['eventid']);
  87. $substitute_count = getSubstituteCount($row['eventid']);
  88. echo '<td style="text-align:center;" class="membersRow'.$rownum.'">';
  89. echo $titular_count.'/'.$row['maxCount'].'('.$substitute_count.')</td>';
  90. echo '<td style="text-align:center;" class="membersRow'.$rownum.'">';
  91. echo $row['minLevel'].' - '.$row['maxLevel'].'</td>';
  92. $note = $row['note'];
  93. if($row['title'] !='')
  94. $note = $row['title'] .'\n'.$row['note'];
  95. echo '<td style="text-align:center;" class="membersRowRight'.$rownum.'">';
  96. echo getNoteIcon($note).'</td>';
  97. // Close the Row
  98. echo '</tr>';
  99. switch ($rownum) {
  100. case 1:
  101. $rownum=2;
  102. break;
  103. default:
  104. $rownum=1;
  105. }
  106. $lastdate = strtotime($row['date']);
  107. }
  108. // Close the table
  109. echo '</table>';
  110. // Display the Right side / Bottom of the Stylish Border
  111. echo border('syellow','end');
  112. // Meetings (GroupCalendar only)
  113. // Get all raids
  114. $query = 'SELECT * FROM `'.$db_prefix.'events` WHERE type = "Meet" ORDER BY date ASC';
  115. if ($roster_conf['sqldebug'])
  116. {
  117. print "<!-- $query -->\n";
  118. }
  119. $result = $wowdb->query($query) or die_quietly($wowdb->error(),'Database Error',basename(__FILE__),__LINE__,$query);
  120. if($wowdb->num_rows($result) == 0){}else{
  121. echo '<br/>';
  122. // Display the Top / left side of the Stylish Border
  123. echo border('syellow', 'start', $rc_wordings[$roster_conf['roster_lang']]['UpcomingMeetings']);
  124. // Make a table to hold the content
  125. echo '<table cellpadding="0" cellspacing="0" class="membersList">';
  126. // Display the header of the table
  127. echo '<tr>';
  128. echo '<th class="membersHeader">'.$rc_wordings[$roster_conf['roster_lang']]['Date'].'</th>';
  129. echo '<th class="membersHeader">'.$rc_wordings[$roster_conf['roster_lang']]['Leader'].'</th>';
  130. echo '<th class="membersHeader">'.$rc_wordings[$roster_conf['roster_lang']]['Attendees'].'</th>';
  131. echo '<th class="membersHeaderRight">'.$rc_wordings[$roster_conf['roster_lang']]['Note'].'</th>';
  132. echo '</tr>';
  133. $rownum=1;
  134. while ($row = $wowdb->fetch_array($result)) {
  135. // Open a new Row
  136. echo '<tr>';
  137. $zoneicon = $roster_conf['roster_dir'].'/addons/EventCalendar/img/icons/';
  138. $zoneicon .= ($rc_wordings[$roster_conf['roster_lang']]['Zones'][$row['type']] !=''?'Icon-'.$row['type'].'.jpg':'Icon-Unknown.jpg');
  139. $zone = ($rc_wordings[$roster_conf['roster_lang']]['Zones'][$row['type']] != ''?$rc_wordings[$roster_conf['roster_lang']]['Zones'][$row['type']]:$row['type']);
  140. echo '<td class="membersRow'.$rownum.'">';
  141. echo '<a href="addon.php?roster_addon_name=EventCalendar&event='.$row['eventid'].'">';
  142. if($addon_conf['EventCalendar']['ShowIcon'])
  143. echo '<img class="membersRowimg" width="'.$roster_conf['index_iconsize'].'" height="'.$roster_conf['index_iconsize'].'" src="'.$zoneicon.'" alt="'.$zone.'" /> ';
  144. echo date($addon_conf['EventCalendar']['EventDate'],strtotime($row['date'])).'</a></td>';
  145. echo '<td style="text-align:center;" class="membersRow'.$rownum.'">';
  146. echo $row['leader'].'</td>';
  147. $titular_count = getTitularCount($row['eventid']);
  148. $substitute_count = getSubstituteCount($row['eventid']);
  149. echo '<td style="text-align:center;" class="membersRow'.$rownum.'">';
  150. echo $titular_count.'/'.$row['maxCount'].'('.$substitute_count.')</td>';
  151. $note = $row['note'];
  152. if($row['title'] !='')
  153. $note = $row['title'] .'\n'.$row['note'];
  154. echo '<td style="text-align:center;" class="membersRowRight'.$rownum.'">';
  155. echo getNoteIcon($note).'</td>';
  156. // Close the Row
  157. echo '</tr>';
  158. switch ($rownum) {
  159. case 1:
  160. $rownum=2;
  161. break;
  162. default:
  163. $rownum=1;
  164. }
  165. }
  166. // Close the table
  167. echo '</table>';
  168. // Display the Right side / Bottom of the Stylish Border
  169. echo border('syellow','end');
  170. }
  171. // Birthdays (GroupCalendar only)
  172. // Get all raids
  173. $query = 'SELECT * FROM `'.$db_prefix.'events` WHERE type = "Birth" ORDER BY date ASC';
  174. if ($roster_conf['sqldebug'])
  175. {
  176. print "<!-- $query -->\n";
  177. }
  178. $result = $wowdb->query($query) or die_quietly($wowdb->error(),'Database Error',basename(__FILE__),__LINE__,$query);
  179. if($wowdb->num_rows($result) == 0){}else{
  180. echo '<br/>';
  181. // Display the Top / left side of the Stylish Border
  182. echo border('syellow', 'start', $rc_wordings[$roster_conf['roster_lang']]['UpcomingBirthdays']);
  183. // Make a table to hold the content
  184. echo '<table cellpadding="0" cellspacing="0" class="membersList">';
  185. // Display the header of the table
  186. echo '<tr>';
  187. echo '<th class="membersHeader">'.$rc_wordings[$roster_conf['roster_lang']]['BPerson'].'</th>';
  188. echo '<th class="membersHeader">'.$rc_wordings[$roster_conf['roster_lang']]['Date'].'</th>';
  189. echo '<th class="membersHeaderRight">'.$rc_wordings[$roster_conf['roster_lang']]['Note'].'</th>';
  190. echo '</tr>';
  191. $rownum=1;
  192. while ($row = $wowdb->fetch_array($result)) {
  193. // Check if char is in guild
  194. $gquery = 'SELECT member_id FROM '.ROSTER_MEMBERSTABLE.' WHERE name= \''.$row['leader'].'\'';
  195. if ($roster_conf['sqldebug'])
  196. {
  197. print "<!-- $gquery -->\n";
  198. }
  199. $gid_result = $wowdb->query($gquery) or die_quietly($wowdb->error(),'Database Error',basename(__FILE__),__LINE__,$gquery);
  200. $gid = $wowdb->fetch_array($gid_result);
  201. if($gid[0] != ''){
  202. // Open a new Row
  203. echo '<tr>';
  204. $zoneicon = $roster_conf['roster_dir'].'/addons/EventCalendar/img/icons/';
  205. $zoneicon .= ($rc_wordings[$roster_conf['roster_lang']]['Zones'][$row['type']] !=''?'Icon-'.$row['type'].'.jpg':'Icon-Unknown.jpg');
  206. $zone = ($rc_wordings[$roster_conf['roster_lang']]['Zones'][$row['type']] != ''?$rc_wordings[$roster_conf['roster_lang']]['Zones'][$row['type']]:$row['type']);
  207. echo '<td class="membersRow'.$rownum.'">';
  208. if($addon_conf['EventCalendar']['ShowIcon'])
  209. echo '<img class="membersRowimg" width="'.$roster_conf['index_iconsize'].'" height="'.$roster_conf['index_iconsize'].'" src="'.$zoneicon.'" alt="'.$zone.'" />&nbsp;';
  210. echo $row['leader'].'</td>';
  211. echo '<td class="membersRow'.$rownum.'">';
  212. echo date($addon_conf['EventCalendar']['EventDate'],strtotime($row['date'])).'</td>';
  213. $note = $row['note'];
  214. if($row['title'] !='')
  215. $note = $row['title'] .'\n'.$row['note'];
  216. echo '<td style="text-align:center;" class="membersRowRight'.$rownum.'">';
  217. echo getNoteIcon($note).'</td>';
  218. // Close the Row
  219. echo '</tr>';
  220. switch ($rownum) {
  221. case 1:
  222. $rownum=2;
  223. break;
  224. default:
  225. $rownum=1;
  226. }
  227. }
  228. }
  229. // Close the table
  230. echo '</table>';
  231. // Display the Right side / Bottom of the Stylish Border
  232. echo border('syellow','end');
  233. }
  234. $wowdb->free_result($result);
  235. ?>