Controller.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. require_once(__DIR__ . "/config.php");
  3. require_once($path["helper"] . "db.php");
  4. require_once($path["helper"] . "text.php");
  5. require_once($path["helper"] . "net.php");
  6. require_once($path["page"] . "Home_Page.php");
  7. require_once($path["page"] . "Monsters_Page.php");
  8. require_once($path["page"] . "Monster_Page.php");
  9. require_once($path["page"] . "Catalog_Page.php");
  10. require_once($path["page"] . "Runes_Page.php");
  11. require_once($path["page"] . "Report_Page.php");
  12. require_once($path["page"] . "Report_Skillup_Page.php");
  13. require_once($path["page"] . "Report_Runeupgrade_Page.php");
  14. /*foreach (glob($path["page"] . "*.php") as $pagename){
  15. require_once($pagename);
  16. }
  17. foreach (glob($path["frame"] . "*.php") as $framename){
  18. require_once($framename);
  19. }
  20. foreach (glob($path["handler"] . "*.php") as $pagename){
  21. require_once($pagename);
  22. }*/
  23. /**
  24. * Application controller.
  25. *
  26. * Handles every request, creating the required models and selecting the
  27. * view.
  28. */
  29. class Controller {
  30. /**
  31. * Constructor.
  32. *
  33. * Handles every request, creating the required models and selecting the
  34. * view.
  35. *
  36. * @param Array $params POST parameters of the request.
  37. */
  38. public function __construct($params){
  39. global $path;
  40. global $root;
  41. $page;
  42. $handler;
  43. $db = start_db();
  44. // Parse parameters, get lang and build the route.
  45. $pars = [];
  46. foreach($params as $p){
  47. if (strlen($p) > 0){
  48. array_push($pars, $p);
  49. }
  50. }
  51. // Select the model to load.
  52. if (sizeof($pars) == 0){
  53. $page = new Home_Page($db);
  54. }
  55. else{
  56. if (strtoupper($pars[0]) == "FUSION"){
  57. $page = new Fusion_Page($db);
  58. }
  59. elseif (strtoupper($pars[0]) == "MONSTERS"){
  60. $page = new Monsters_Page($db);
  61. }
  62. elseif (strtoupper($pars[0]) == "MONSTER"){
  63. $page = new Monster_Page($db, $pars[1]);
  64. }
  65. elseif (strtoupper($pars[0]) == "CATALOG"){
  66. $page = new Catalog_Page($db);
  67. }
  68. elseif (strtoupper($pars[0]) == "RUNES"){
  69. $page = new Runes_Page($db);
  70. }
  71. elseif (strtoupper($pars[0]) == "REPORT"){
  72. if (count($pars) == 1){
  73. $page = new Report_Page($db);
  74. }
  75. elseif (strtoupper($pars[1]) == "SKILLUP"){
  76. $page = new Report_Skillup_Page($db, $pars[1]);
  77. }
  78. elseif (strtoupper($pars[1]) == "RUNEUPGRADE"){
  79. $page = new Report_Runeupgrade_Page($db, $pars[1]);
  80. }
  81. }
  82. elseif (strtoupper($pars[0]) == "FRAME"){
  83. if (strtoupper($pars[1]) == "PORTRAIT"){
  84. $page = new Collection_Portrait_Frame($db, $_POST);
  85. }
  86. elseif (strtoupper($pars[1]) == "NEW"){
  87. $page = new Collection_New_Frame($db, $_POST);
  88. }
  89. elseif (strtoupper($pars[1]) == "COLLECTION"){
  90. $page = new Collection_Collection_Frame($db, $_POST);
  91. }
  92. elseif (strtoupper($pars[1]) == "COLLECTION_RUNE"){
  93. $page = new Collection_Rune_Frame($db, $_POST);
  94. }
  95. elseif (strtoupper($pars[1]) == "CATALOG"){
  96. $page = new Catalog_Catalog_Frame($db, $_POST);
  97. }
  98. elseif (strtoupper($pars[1]) == "CATALOG_LIST"){
  99. $page = new Catalog_List_Frame($db, $_POST);
  100. }
  101. elseif (strtoupper($pars[1]) == "RUNE_LIST"){
  102. $page = new Rune_List_Frame($db, $_POST);
  103. }
  104. }
  105. elseif (strtoupper($pars[0]) == "HANDLER"){
  106. if (strtoupper($pars[1]) == "COLLECTION"){
  107. $handler = new Collection_Handler($db, $_POST["id"], $_POST["mode"], $_POST);
  108. }
  109. }
  110. }
  111. // Load the view, or set an error code.
  112. if (isset($page)){
  113. require_once($page->view);
  114. }
  115. elseif (isset($handler)){
  116. http_response_code($handler->response);
  117. }
  118. else{
  119. http_response_code(404);
  120. }
  121. }
  122. }
  123. ?>