fusion.php 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478
  1. <?php
  2. /**
  3. * Fusion view.
  4. *
  5. * Contains the view layout and some code to present the data.
  6. *
  7. * @category View
  8. * @property_read Fusion_Page $page The page model.
  9. * @property_read int $UID Player ID.
  10. */
  11. ?>
  12. <!DOCTYPE html>
  13. <html lang='en'>
  14. <head>
  15. <meta content='text/html; charset=utf-8' http-equiv='content-type'/>
  16. <meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1'/>
  17. <title><?=$page->title?></title>
  18. <link rel='shortcut icon' href='<?=$page->favicon?>'/>
  19. <!-- CSS files -->
  20. <link rel='stylesheet' type='text/css' href='<?=URL::CSS?>ui.css'/>
  21. <link rel='stylesheet' type='text/css' href='<?=URL::CSS?>fusion.css'/>
  22. <link rel='stylesheet' type='text/css' href='<?=URL::CSS?>filters.css'/>
  23. <!-- Meta tags -->
  24. <link rel='canonical' href='<?=$page->canonical?>'/>
  25. <link rel='author' href='<?=$page->author?>'/>
  26. <link rel='publisher' href='<?=$page->author?>'/>
  27. <meta name='description' content='<?=$page->description?>'/>
  28. <meta property='og:title' content='<?=$page->title?>'/>
  29. <meta property='og:url' content='<?=$page->canonical?>'/>
  30. <meta property='og:description' content='<?=$page->description?>'/>
  31. <meta property='og:image' content='<?=$page->icon?>'/>
  32. <meta property='og:site_name' content='<?=$page->name?>'/>
  33. <meta property='og:type' content='website'/>
  34. <meta property='og:locale' content='en'/>
  35. <meta name='twitter:card' content='summary'/>
  36. <meta name='twitter:title' content='<?=$page->title?>'/>
  37. <meta name='twitter:description' content='<?=$page->description?>'/>
  38. <meta name='twitter:image' content='<?=$page->icon?>'/>
  39. <meta name='twitter:url' content='<?=$page->canonical?>'/>
  40. <meta name='robots' content='index follow'/>
  41. <script>
  42. /**
  43. * Shows or hiddes the filters panel.
  44. */
  45. function toggleFilters(){
  46. var content = document.getElementById('filters_content');
  47. var slid = document.getElementById('filters_slid');
  48. if (content.style.maxHeight != '30em'){
  49. content.style.maxHeight = '30em';
  50. slid.style.transform = 'rotate(90deg)';
  51. }
  52. else{
  53. content.style.maxHeight = '0px';
  54. slid.style.transform = 'rotate(0deg)';
  55. }
  56. };
  57. </script>
  58. </head>
  59. <body>
  60. <?php
  61. include __DIR__ . "/inc/header.php";
  62. ?>
  63. <section class='filters'>
  64. <h2 id='filters_title' onClick='toggleFilters();'>
  65. <img id='filters_slid' id='filters_slid' alt=' ' src='<?=URL::IMG["ICON"]?>slid.png'/>
  66. Fusion filters
  67. </h2>
  68. <article id='filters_content'>
  69. <?php
  70. $filters = $page->filters;
  71. include __DIR__ . "/inc/filter_fusion.php";
  72. ?>
  73. </article>
  74. </section> <!-- #filters -->
  75. <?php
  76. foreach ($page->fusion as $fusion){
  77. ?>
  78. <section class='content'>
  79. <h2>
  80. <?=$fusion->product->title?>
  81. </h2>
  82. <article>
  83. <div class='f5'>
  84. <div class='product'>
  85. <a target='_blank' title='<?=$fusion->product->name?>' href='/<?=$UID?>/catalog/<?=$fusion->product->id?>'>
  86. <div class='monster_panel'>
  87. <span class='stars'>
  88. <img class='star star_gold' src='<?=URL::IMG["ICON"]?>star.png'/>
  89. <img class='star star_gold' src='<?=URL::IMG["ICON"]?>star.png'/>
  90. <img class='star star_gold' src='<?=URL::IMG["ICON"]?>star.png'/>
  91. <img class='star star_gold' src='<?=URL::IMG["ICON"]?>star.png'/>
  92. <img class='star star_gold' src='<?=URL::IMG["ICON"]?>star.png'/>
  93. </span>
  94. <img title='<?=$fusion->product->name?>' class='monster border_<?=$fusion->product->element_name?>' src='<?=$fusion->product->get_image()?>'/>
  95. <span class='level'>
  96. 1
  97. </span>
  98. </div><!-- .monster_panel -->
  99. </a>
  100. <div class='owned'>
  101. <span class='owned'>
  102. Collection:
  103. </span>
  104. <?php
  105. foreach ($fusion->product->owned as $owned){
  106. if ($owned->unit->awakens_from == "" && $owned->unit->awakens_to == ""){
  107. // No to, no from, silver monster.
  108. $star_class ="star_silver";
  109. $mon_title = $owned->unit->element_name . " " . $owned->unit->name;
  110. }
  111. elseif ($owned->unit->awakens_from != "" && $owned->unit->awakens_to == ""){
  112. // Already awakened
  113. if ($owned->unit->base_stars - $owned->unit->natural_stars == 1){
  114. // Normal awaken.
  115. $star_class ="star_purple";
  116. }
  117. else{
  118. // Second awaken.
  119. $star_class ="star_red";
  120. }
  121. $mon_title = $owned->unit->name;
  122. }
  123. elseif ($owned->unit->awakens_to != ""){
  124. // Awakeable.
  125. $star_class ="star_gold";
  126. $mon_title = $owned->unit->element_name . " " . $owned->unit->name;
  127. }
  128. $mon_title = $mon_title . " - " . $owned->stars . "* - Lv." . $owned->level;
  129. ?>
  130. <a target="_blank" title='<?=$mon_title?>' href='/<?=$UID?>/monsters/<?=$owned->id?>'>
  131. <div class='monster_panel'>
  132. <span class='stars'>
  133. <?php
  134. for ($i = 0; $i < $owned->stars; $i ++){
  135. ?>
  136. <img class='star <?=$star_class?>' src='<?=URL::IMG["ICON"]?>star.png'/>
  137. <?php
  138. }
  139. ?>
  140. </span>
  141. <img title='<?=$mon_title?>' class='monster border_<?=$owned->unit->element_name?>' src='<?=$owned->unit->get_image()?>'/>
  142. <span class='level'>
  143. <?=$owned->level?>
  144. </span>
  145. </div>
  146. </a>
  147. <?php
  148. }// foreach ($fusion->product->owned as $owned)
  149. ?>
  150. </div><!-- .owned -->
  151. </div><!-- .product --><div class='ingredients'><!-- No newline because CSS reads it as a whitespace -->
  152. <?php
  153. foreach ($fusion->fusion as $sub_fusion){
  154. ?>
  155. <div class='f4'>
  156. <div class='product'>
  157. <a target='_blank' title='<?=$sub_fusion->product_awaken->name?>' href='/<?=$UID?>/catalog/<?=$sub_fusion->product_awaken->id?>'>
  158. <div class='awakened monster_panel'>
  159. <span class='stars'>
  160. <img class='star star_purple' src='<?=URL::IMG["ICON"]?>star.png'/>
  161. <img class='star star_purple' src='<?=URL::IMG["ICON"]?>star.png'/>
  162. <img class='star star_purple' src='<?=URL::IMG["ICON"]?>star.png'/>
  163. <img class='star star_purple' src='<?=URL::IMG["ICON"]?>star.png'/>
  164. <img class='star star_purple' src='<?=URL::IMG["ICON"]?>star.png'/>
  165. </span>
  166. <img title='<?=$sub_fusion->product_awaken->name?>' class='monster border_<?=$sub_fusion->product_awaken->element_name?>' src='<?=$sub_fusion->product_awaken->get_image()?>'/>
  167. <span class='level'>
  168. 35
  169. </span>
  170. </div><!-- .awakened .monster_panel -->
  171. </a>
  172. <a target='_blank' title='<?=$sub_fusion->product->name?>' href='/<?=$UID?>/catalog/<?=$sub_fusion->product->id?>'>
  173. <div class='unawakened monster_panel'>
  174. <span class='stars'>
  175. <?php
  176. for ($i = 0; $i < $sub_fusion->product->base_stars; $i ++){
  177. ?>
  178. <img class='star star_gold' src='<?=URL::IMG["ICON"]?>star.png'/>
  179. <?php
  180. }
  181. ?>
  182. </span>
  183. <img title='<?=$sub_fusion->product->name?>' class='monster border_<?=$sub_fusion->product->element_name?>' src='<?=$sub_fusion->product->get_image()?>'/>
  184. <span class='level'>
  185. 1
  186. </span>
  187. </div><!-- .unawakened .monster_panel -->
  188. </a>
  189. <div class='essences'>
  190. <?php
  191. foreach ($sub_fusion->product->essences as $essence){
  192. ?>
  193. <div class='essence border_<?=$essence["element"]?>'>
  194. <img alt='<?=$essence["item"]->name?>' title='<?=$essence["amount"]?>x <?=$essence["item"]->name?>' class='essence' src='<?=$essence["item"]->get_image()?>'/>
  195. <span>
  196. <?=$essence["amount"]?>
  197. </span>
  198. </div>
  199. <?php
  200. }
  201. ?>
  202. </div><!-- .essences -->
  203. <div class='owned'>
  204. <span class='owned'>
  205. Collection:
  206. </span>
  207. <?php
  208. foreach ($sub_fusion->product->owned as $owned){
  209. if ($owned->unit->awakens_from == "" && $owned->unit->awakens_to == ""){
  210. // No to, no from, silver monster.
  211. $star_class ="star_silver";
  212. $mon_title = $owned->unit->element_name . " " . $owned->unit->name;
  213. }
  214. elseif ($owned->unit->awakens_from != "" && $owned->unit->awakens_to == ""){
  215. // Already awakened
  216. if ($owned->unit->base_stars - $owned->unit->natural_stars == 1){
  217. // Normal awaken.
  218. $star_class ="star_purple";
  219. }
  220. else{
  221. // Second awaken.
  222. $star_class ="star_red";
  223. }
  224. $mon_title = $owned->unit->name;
  225. }
  226. elseif ($owned->unit->awakens_to != ""){
  227. // Awakeable.
  228. $star_class ="star_gold";
  229. $mon_title = $owned->unit->element_name . " " . $owned->unit->name;
  230. }
  231. $mon_title = $mon_title . " - " . $owned->stars . "* - Lv." . $owned->level;
  232. ?>
  233. <a target="_blank" title='<?=$mon_title?>' href='/<?=$UID?>/monsters/<?=$owned->id?>'>
  234. <div class='monster_panel'>
  235. <span class='stars'>
  236. <?php
  237. for ($i = 0; $i < $owned->stars; $i ++){
  238. ?>
  239. <img class='star <?=$star_class?>' src='<?=URL::IMG["ICON"]?>star.png'/>
  240. <?php
  241. }
  242. ?>
  243. </span>
  244. <img title='<?=$mon_title?>' class='monster border_<?=$owned->unit->element_name?>' src='<?=$owned->unit->get_image()?>'/>
  245. <span class='level'>
  246. <?=$owned->level?>
  247. </span>
  248. </div>
  249. </a>
  250. <?php
  251. }
  252. ?>
  253. </div><!-- .owned -->
  254. </div><!-- .product --><div class='ingredients'><!-- No newline because CSS reads it as a whitespace -->
  255. <?php
  256. $num = 0;
  257. foreach ($sub_fusion->ingredient as $sub_monster){
  258. ?>
  259. <div class='f3'>
  260. <div class='product'>
  261. <a target='_blank' title='<?=$sub_monster->name?>' href='/<?=$UID?>/catalog/<?=$sub_monster->id?>'>
  262. <div class='awakened monster_panel'>
  263. <span class='stars'>
  264. <img class='star star_purple' src='<?=URL::IMG["ICON"]?>star.png'/>
  265. <img class='star star_purple' src='<?=URL::IMG["ICON"]?>star.png'/>
  266. <img class='star star_purple' src='<?=URL::IMG["ICON"]?>star.png'/>
  267. <img class='star star_purple' src='<?=URL::IMG["ICON"]?>star.png'/>
  268. </span>
  269. <img title='<?=$sub_monster->name?>' class='monster border_<?=$sub_monster->element_name?>' src='<?=$sub_monster->get_image()?>'/>
  270. <span class='level'>
  271. 30
  272. </span>
  273. </div><!-- .awakened .monster_panel -->
  274. </a>
  275. <div class='essences'>
  276. <?php
  277. foreach ($sub_fusion->ingredient_unawaken[$num]->essences as $essence){
  278. ?>
  279. <div class='essence border_<?=explode(" ", $essence["item"]->name)[2]?>'>
  280. <img alt='<?=$essence["item"]->name?>' title='<?=$essence["amount"]?>x <?=$essence["item"]->name?>' class='essence' src='<?=$essence["item"]->get_image()?>'/>
  281. <span>
  282. <?=$essence["amount"]?>
  283. </span>
  284. </div>
  285. <?php
  286. }
  287. ?>
  288. </div><!-- .essences -->
  289. <a target='_blank' title='<?=$sub_fusion->ingredient_unawaken[$num]->name?>' href='/<?=$UID?>/catalog/<?=$sub_fusion->ingredient_unawaken[$num]->id?>'>
  290. <div class='unawakened monster_panel'>
  291. <span class='stars'>
  292. <?php
  293. for ($i = 0; $i < $sub_fusion->ingredient_unawaken[$num]->base_stars; $i ++){
  294. ?>
  295. <img class='star star_gold' src='<?=URL::IMG["ICON"]?>star.png'/>
  296. <?php
  297. }
  298. ?>
  299. </span>
  300. <img title='<?=$sub_fusion->ingredient_unawaken[$num]->name?>' class='monster border_<?=$sub_fusion->ingredient_unawaken[$num]->element_name?>' src='<?=$sub_fusion->ingredient_unawaken[$num]->get_image()?>'/>
  301. <span class='level'>
  302. 1
  303. </span>
  304. </div><!-- .unawakened .monster_panel -->
  305. </a>
  306. <div class='owned'>
  307. <span class='owned'>
  308. Collection:
  309. </span>
  310. <?php
  311. foreach ($sub_monster->owned as $owned){
  312. if ($owned->unit->awakens_from == "" && $owned->unit->awakens_to == ""){
  313. // No to, no from, silver monster.
  314. $star_class ="star_silver";
  315. $mon_title = $owned->unit->element_name . " " . $owned->unit->name;
  316. }
  317. elseif ($owned->unit->awakens_from != "" && $owned->unit->awakens_to == ""){
  318. // Already awakened
  319. if ($owned->unit->base_stars - $owned->unit->natural_stars == 1){
  320. // Normal awaken.
  321. $star_class ="star_purple";
  322. }
  323. else{
  324. // Second awaken.
  325. $star_class ="star_red";
  326. }
  327. $mon_title = $owned->unit->name;
  328. }
  329. elseif ($owned->unit->awakens_to != ""){
  330. // Awakeable.
  331. $star_class ="star_gold";
  332. $mon_title = $owned->unit->element_name . " " . $owned->unit->name;
  333. }
  334. $mon_title = $mon_title . " - " . $owned->stars . "* - Lv." . $owned->level;
  335. ?>
  336. <a target="_blank" title='<?=$mon_title?>' href='/<?=$UID?>/monsters/<?=$owned->id?>'>
  337. <div class='monster_panel'>
  338. <span class='stars'>
  339. <?php
  340. for ($i = 0; $i < $owned->stars; $i ++){
  341. ?>
  342. <img class='star <?=$star_class?>' src='<?=URL::IMG["ICON"]?>star.png'/>
  343. <?php
  344. }
  345. ?>
  346. </span>
  347. <img title='<?=$mon_title?>' class='monster border_<?=$owned->unit->element_name?>' src='<?=$owned->unit->get_image()?>'/>
  348. <span class='level'>
  349. <?=$owned->level?>
  350. </span>
  351. </div>
  352. </a>
  353. <?php
  354. }
  355. ?>
  356. </div><!-- .owned -->
  357. </div><!-- product -->
  358. </div><!-- .f3 -->
  359. <?php
  360. $num ++;
  361. }
  362. ?>
  363. </div><!-- .ingredients -->
  364. </div><!-- .f4 -->
  365. <?php
  366. } // foreach ($fusion->product->owned as $owned)
  367. ?>
  368. <!-- Last ingredient, non fuseable -->
  369. <div class='f4 extra'>
  370. <div class='product'>
  371. <a target='_blank' title='<?=$fusion->ingredient[0]->name?>' href='/<?=$UID?>/catalog/<?=$fusion->ingredient[0]->id?>'>
  372. <div class='awakened monster_panel'>
  373. <span class='stars'>
  374. <img class='star star_purple' src='<?=URL::IMG["ICON"]?>star.png'/>
  375. <img class='star star_purple' src='<?=URL::IMG["ICON"]?>star.png'/>
  376. <img class='star star_purple' src='<?=URL::IMG["ICON"]?>star.png'/>
  377. <img class='star star_purple' src='<?=URL::IMG["ICON"]?>star.png'/>
  378. <img class='star star_purple' src='<?=URL::IMG["ICON"]?>star.png'/>
  379. </span>
  380. <img title='<?=$fusion->ingredient[0]->name?>' class='monster border_<?=$fusion->ingredient[0]->element_name?>' src='<?=$fusion->ingredient[0]->get_image()?>'/>
  381. <span class='level'>
  382. 35
  383. </span>
  384. </div><!-- .awakened .monster_panel -->
  385. </a>
  386. <div class='essences'>
  387. <?php
  388. foreach ($fusion->ingredient_unawaken[0]->essences as $essence){
  389. ?>
  390. <div class='essence border_<?=explode(" ", $essence["item"]->name)[2]?>'>
  391. <img alt='<?=$essence["item"]->name?>' title='<?=$essence["amount"]?>x <?=$essence["item"]->name?>' class='essence' src='<?=$essence["item"]->get_image()?>'/>
  392. <span>
  393. <?=$essence["amount"]?>
  394. </span>
  395. </div>
  396. <?php
  397. }
  398. ?>
  399. </div><!-- .essences -->
  400. <a target='_blank' title='<?=$fusion->ingredient_unawaken[0]->name?>' href='/<?=$UID?>/catalog/<?=$fusion->ingredient_unawaken[0]->id?>'>
  401. <div class='unawakened monster_panel'>
  402. <span class='stars'>
  403. <?php
  404. for ($i = 0; $i < $fusion->ingredient[0]->base_stars; $i ++){
  405. ?>
  406. <img class='star star_gold' src='<?=URL::IMG["ICON"]?>star.png'/>
  407. <?php
  408. }
  409. ?>
  410. </span>
  411. <img title='<?=$fusion->ingredient_unawaken[0]->name?>' class='monster border_<?=$fusion->ingredient_unawaken[0]->element_name?>' src='<?=$fusion->ingredient_unawaken[0]->get_image()?>'/>
  412. <span class='level'>
  413. 1
  414. </span>
  415. </div><!-- .unawakened .monster_panel -->
  416. </a>
  417. <div class='owned'>
  418. <span class='owned'>
  419. Collection:
  420. </span>
  421. <?php
  422. foreach ($fusion->ingredient[0]->owned as $owned){
  423. ?>
  424. <div class='monster_panel'>
  425. <span class='stars'>
  426. <?php
  427. if ($owned->unit->awakens_from == "" && $owned->unit->awakens_to == ""){
  428. // No to, no from, silver monster.
  429. $star_class ="star_silver";
  430. $mon_title = $owned->unit->element_name . " " . $owned->unit->name;
  431. }
  432. elseif ($owned->unit->awakens_from != "" && $owned->unit->awakens_to == ""){
  433. // Already awakened
  434. if ($owned->unit->base_stars - $owned->unit->natural_stars == 1){
  435. // Normal awaken.
  436. $star_class ="star_purple";
  437. }
  438. else{
  439. // Second awaken.
  440. $star_class ="star_red";
  441. }
  442. $mon_title = $owned->unit->name;
  443. }
  444. elseif ($owned->unit->awakens_to != ""){
  445. // Awakeable.
  446. $star_class ="star_gold";
  447. $mon_title = $owned->unit->element_name . " " . $owned->unit->name;
  448. }
  449. for ($i = 0; $i < $owned->stars; $i ++){
  450. ?>
  451. <img class='star <?=$star_class?>' src='<?=URL::IMG["ICON"]?>star.png'/>
  452. <?php
  453. }
  454. ?>
  455. </span>
  456. <img title='<?=$mon_title?>' class='monster border_<?=$owned->unit->element_name?>' src='<?=$owned->unit->get_image()?>'/>
  457. <span class='level'>
  458. <?=$owned->level?>
  459. </span>
  460. </div>
  461. <?php
  462. }
  463. ?>
  464. </div><!-- .owned -->
  465. </div><!-- .product -->
  466. </div><!-- .f4 -->
  467. </div><!-- .ingredients -->
  468. </div><!-- .f5 -->
  469. </article>
  470. </section>
  471. <?php
  472. } // foreach ($page->fusion as $fusion)
  473. include __DIR__ . "/inc/footer.php";
  474. ?>
  475. </body>
  476. </html>