guild.php 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  1. <?php
  2. /**
  3. * Guild view.
  4. *
  5. * Contains the view layout and some code to present the data.
  6. *
  7. * @author Iñigo Valentin <i@inigovalentin.com>
  8. * @license https://www.gnu.org/licenses/gpl-3.0.en.html GNU General Public License V3
  9. * @package SWDB
  10. * @category View
  11. * @property Guild_Page $page The page model.
  12. * @var Guild_Page $page The page model.
  13. */
  14. ?>
  15. <!DOCTYPE html>
  16. <html lang='en'>
  17. <head>
  18. <meta content='text/html; charset=utf-8' http-equiv='content-type'/>
  19. <meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1'/>
  20. <title><?=$page->get_title()?></title>
  21. <link rel='shortcut icon' href='<?=$page->get_favicon()?>'/>
  22. <!-- CSS files -->
  23. <link rel='stylesheet' type='text/css' href='<?=URL::CSS?>ui.css'/>
  24. <?php
  25. if (get_context()->get_game_mode() == GAME_MODE_ID::RTA){
  26. ?>
  27. <link rel='stylesheet' type='text/css' href='<?=URL::CSS?>ui-rta.css'/>
  28. <?php
  29. }
  30. ?>
  31. <link rel='stylesheet' type='text/css' href='<?=URL::CSS?>guild.css'/>
  32. <!-- Meta tags -->
  33. <link rel='canonical' href='<?=$page->get_canonical()?>'/>
  34. <link rel='author' href='<?=$page->get_author()?>'/>
  35. <link rel='publisher' href='<?=$page->get_author()?>'/>
  36. <meta name='description' content='<?=$page->get_description()?>'/>
  37. <meta property='og:title' content='<?=$page->get_title()?>'/>
  38. <meta property='og:url' content='<?=$page->get_canonical()?>'/>
  39. <meta property='og:description' content='<?=$page->get_description()?>'/>
  40. <meta property='og:image' content='<?=$page->get_icon()?>'/>
  41. <meta property='og:site_name' content='<?=$page->get_name()?>?>'/>
  42. <meta property='og:type' content='website'/>
  43. <meta property='og:locale' content='en'/>
  44. <meta name='twitter:card' content='summary'/>
  45. <meta name='twitter:title' content='<?=$page->get_title()?>'/>
  46. <meta name='twitter:description' content='<?=$page->get_description()?>'/>
  47. <meta name='twitter:image' content='<?=$page->get_icon()?>'/>
  48. <meta name='twitter:url' content='<?=$page->get_canonical()?>'/>
  49. <meta name='robots' content='index follow'/>
  50. </head>
  51. <body>
  52. <?php
  53. include __DIR__ . "/inc/header.php";
  54. ?>
  55. <aside>
  56. <?php
  57. if (! $page->in_guild()){
  58. ?>
  59. <h2>
  60. Guild
  61. </h2>
  62. <p>
  63. You are not currently in a guild.
  64. </p>
  65. <?php
  66. }
  67. else{
  68. ?>
  69. <h2>
  70. <?=$page->get_guild()->get_name()?>
  71. </h2>
  72. <span id='guild_level'>
  73. Lv. <?=$page->get_guild()->get_level()?>
  74. </span>
  75. <span id='guild_experience'>
  76. (Exp: <?=$page->get_guild()->get_experience()?>)
  77. </span>
  78. <p id='guild_comment'>
  79. <?=$page->get_guild()->get_comment()?>
  80. </p>
  81. <p id='guild_notice'>
  82. <?=$page->get_guild()->get_notice()?>
  83. </p>
  84. <?php
  85. }
  86. ?>
  87. </aside>
  88. <main>
  89. <?php
  90. if (! $page->in_guild()){
  91. ?>
  92. <section id='no_guild'>
  93. <h2>
  94. Guild
  95. </h2>
  96. You are not currently in a guild.
  97. </section>
  98. <?php
  99. }
  100. else{
  101. ?>
  102. <section id='guild_info' class='content'>
  103. <h2>
  104. <?=$page->get_guild()->get_name()?>
  105. </h2>
  106. <div id='guild_details'>
  107. <div id='guild_skills'>
  108. <?php
  109. foreach ($page->get_skill_groups() as $group){
  110. ?>
  111. <div class='skill_group'>
  112. <span class='skill_group_title'>
  113. <?=$group->get_name()?>
  114. </span>
  115. <img class='skill_group_image' alt='<?=$group->get_name()?>' src='<?=$group->get_image()?>'/>
  116. <div class='skill_group_content'>
  117. <span class='description'>
  118. <?=$group->get_description()?>
  119. </span>
  120. <ul>
  121. <?php
  122. foreach ($group->get_skills() as $skill){
  123. if ($skill->get_level() > $page->get_guild()->get_level()){
  124. $unavailable = "unavailable";
  125. }
  126. else{
  127. $unavailable = "";
  128. }
  129. ?>
  130. <li class='<?=$unavailable?>'>
  131. Lv. <?=$skill->get_level()?>: <?=$skill->get_effect()?>
  132. </li>
  133. <?php
  134. }
  135. ?>
  136. </ul>
  137. </div>
  138. </div>
  139. <?php
  140. }
  141. ?>
  142. </div>
  143. </div>
  144. <table id='guild_members'>
  145. <tr>
  146. <th>
  147. &nbsp;
  148. </th>
  149. <th>
  150. Name
  151. </th>
  152. <th>
  153. Lv.
  154. </th>
  155. <th colspan='2'>
  156. Arena
  157. </th>
  158. <th>
  159. War
  160. </th>
  161. <th>
  162. Def
  163. </th>
  164. <th>
  165. Login
  166. </th>
  167. </tr>
  168. <?php
  169. $odd = "";
  170. foreach ($page->get_guild()->get_members() as $member){
  171. ?>
  172. <tr>
  173. <td class='grade <?=$odd?>'>
  174. <?php
  175. if ($member->get_grade() == GUILD_MEMBER_GRADE_ID::LEADER){
  176. ?>
  177. <img alt='yes' src='<?=URL::IMG["ICON"] . "leader.png"?>'/>
  178. <?php
  179. }
  180. elseif ($member->get_grade() == GUILD_MEMBER_GRADE_ID::VICELEADER){
  181. ?>
  182. <img alt='yes' src='<?=URL::IMG["ICON"] . "viceleader.png"?>'/>
  183. <?php
  184. }
  185. ?>
  186. </td>
  187. <td class='name <?=$odd?>'>
  188. <?=$member->get_name()?>
  189. </td>
  190. <td class='level <?=$odd?>'>
  191. <?=$member->get_level()?>
  192. </td>
  193. <td class='score <?=$odd?>'>
  194. <?=$member->get_arena_score()?>
  195. </td>
  196. <td class='score_icon <?=$odd?>'>
  197. <?php
  198. if ($member->get_arena_score() >= ARENA_RANKING_POINTS::BEGINER && (ARENA_RANKING_RANK::BEGINER == null || $member->get_rating() <= ARENA_RANKING_RANK::BEGINER)){
  199. $src = URL::IMG["RANK"] . "0900.png";
  200. $tit = "Beginer";
  201. }
  202. if ($member->get_arena_score() >= ARENA_RANKING_POINTS::CHALLENGER_1 && (ARENA_RANKING_RANK::CHALLENGER_1 == null || $member->get_rating() <= ARENA_RANKING_RANK::CHALLENGER_1)){
  203. $src = URL::IMG["RANK"] . "1001.png";
  204. $tit = "Challenger 1";
  205. }
  206. if ($member->get_arena_score() >= ARENA_RANKING_POINTS::CHALLENGER_2 && (ARENA_RANKING_RANK::CHALLENGER_2 == null || $member->get_rating() <= ARENA_RANKING_RANK::CHALLENGER_2)){
  207. $src = URL::IMG["RANK"] . "1002.png";
  208. $tit = "Challenger 2";
  209. }
  210. if ($member->get_arena_score() >= ARENA_RANKING_POINTS::CHALLENGER_3 && (ARENA_RANKING_RANK::CHALLENGER_3 == null || $member->get_rating() <= ARENA_RANKING_RANK::CHALLENGER_3)){
  211. $src = URL::IMG["RANK"] . "1003.png";
  212. $tit = "Challenger 3";
  213. }
  214. if ($member->get_arena_score() >= ARENA_RANKING_POINTS::FIGHTER_1 && (ARENA_RANKING_RANK::FIGHTER_1 == null || $member->get_rating() <= ARENA_RANKING_RANK::FIGHTER_1)){
  215. $src = URL::IMG["RANK"] . "2001.png";
  216. $tit = "Fighter 1";
  217. }
  218. if ($member->get_arena_score() >= ARENA_RANKING_POINTS::FIGHTER_2 && (ARENA_RANKING_RANK::FIGHTER_2 == null || $member->get_rating() <= ARENA_RANKING_RANK::FIGHTER_2)){
  219. $src = URL::IMG["RANK"] . "2002.png";
  220. $tit = "Fighter 2";
  221. }
  222. if ($member->get_arena_score() >= ARENA_RANKING_POINTS::FIGHTER_3 && (ARENA_RANKING_RANK::FIGHTER_3 == null || $member->get_rating() <= ARENA_RANKING_RANK::FIGHTER_3)){
  223. $src = URL::IMG["RANK"] . "2003.png";
  224. $tit = "Fighter 3";
  225. }
  226. if ($member->get_arena_score() >= ARENA_RANKING_POINTS::CONQUEROR_1 && (ARENA_RANKING_RANK::CONQUEROR_1 == null || $member->get_rating() <= ARENA_RANKING_RANK::CONQUEROR_1)){
  227. $src = URL::IMG["RANK"] . "3001.png";
  228. $tit = "Conqueror 1";
  229. }
  230. if ($member->get_arena_score() >= ARENA_RANKING_POINTS::CONQUEROR_2 && (ARENA_RANKING_RANK::CONQUEROR_2 == null || $member->get_rating() <= ARENA_RANKING_RANK::CONQUEROR_2)){
  231. $src = URL::IMG["RANK"] . "3002.png";
  232. $tit = "Conqueror 2";
  233. }
  234. if ($member->get_arena_score() >= ARENA_RANKING_POINTS::CONQUEROR_3 && (ARENA_RANKING_RANK::CONQUEROR_3 == null || $member->get_rating() <= ARENA_RANKING_RANK::CONQUEROR_3)){
  235. $src = URL::IMG["RANK"] . "3003.png";
  236. $tit = "Conqueror 3";
  237. }
  238. if ($member->get_arena_score() >= ARENA_RANKING_POINTS::GUARDIAN_1 && (ARENA_RANKING_RANK::GUARDIAN_1 == null || $member->get_rating() <= ARENA_RANKING_RANK::GUARDIAN_1)){
  239. $src = URL::IMG["RANK"] . "4001.png";
  240. $tit = "Guardian 1";
  241. }
  242. if ($member->get_arena_score() >= ARENA_RANKING_POINTS::GUARDIAN_2 && (ARENA_RANKING_RANK::GUARDIAN_2 == null || $member->get_rating() <= ARENA_RANKING_RANK::GUARDIAN_2)){
  243. $src = URL::IMG["RANK"] . "4002.png";
  244. $tit = "Guardian 2";
  245. }
  246. if ($member->get_arena_score() >= ARENA_RANKING_POINTS::GUARDIAN_3 && (ARENA_RANKING_RANK::GUARDIAN_3 == null || $member->get_rating() <= ARENA_RANKING_RANK::GUARDIAN_3)){
  247. $src = URL::IMG["RANK"] . "4003.png";
  248. $tit = "Guardian 3";
  249. }
  250. if ($member->get_arena_score() >= ARENA_RANKING_POINTS::LEGEND && (ARENA_RANKING_RANK::LEGEND == null || $member->get_rating() <= ARENA_RANKING_RANK::LEGEND)){
  251. $src = URL::IMG["RANK"] . "5001.png";
  252. $tit = "Legend";
  253. }
  254. ?>
  255. <img alt='<?=$tit?>' src='<?=$src?>'/>
  256. </td>
  257. <td class='war <?=$odd?>'>
  258. <?php
  259. if ($member->is_in_war()){
  260. ?>
  261. <img alt='yes' src='<?=URL::IMG["ICON"] . "ok.png"?>'/>
  262. <?php
  263. }
  264. ?>
  265. </td>
  266. <td class='defense <?=$odd?>'>
  267. <?php
  268. if ($member->has_defense()){
  269. ?>
  270. <img alt='yes' src='<?=URL::IMG["ICON"] . "ok.png"?>'/>
  271. <?php
  272. }
  273. ?>
  274. </td>
  275. <?php
  276. $now = time();
  277. $date = strtotime($member->get_last_login('Y-m-d H:i:s'));
  278. //$datediff = $now - $date;
  279. //$date = (new DateTime("@$member->get_last_login()"))->format('Y-m-d H:i:s');
  280. $days = $now - $date;
  281. $days = floor($days / (60 * 60 * 24));
  282. if ($days == 0){
  283. $hours = floor($days / (60 * 60));
  284. if ($hours == 0){
  285. $last_login = "Online";
  286. }
  287. else if ($hours == 1){
  288. $last_login = "1 hour";
  289. }
  290. else{
  291. $last_login = floor($days / (60 * 60)) . " hours";
  292. }
  293. $warning = "";
  294. }
  295. else{
  296. $last_login = "$days days";
  297. if ($days < 2){
  298. $last_login = "$days day";
  299. $warning = "";
  300. }
  301. elseif ($days < 5){
  302. $warning = "warning";
  303. }
  304. else{
  305. $warning = "danger";
  306. }
  307. }
  308. ?>
  309. <td class='last_login <?=$odd?> <?=$warning?>'>
  310. <?=$last_login?>
  311. </td>
  312. </tr>
  313. <?php
  314. if ($odd == ""){
  315. $odd = "odd";
  316. }
  317. else{
  318. $odd = "";
  319. }
  320. }
  321. ?>
  322. </table>
  323. </section>
  324. <?php
  325. }
  326. ?>
  327. </main>
  328. <?php
  329. include __DIR__ . "/inc/footer.php";
  330. ?>
  331. </body>
  332. </html>