Controller.php 4.0 KB

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