Controller.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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["helper"] . "html.php");
  7. require_once(__DIR__ . "/Constant.php");
  8. /**
  9. * Application controller.
  10. *
  11. * Handles every request, creating the required models and selecting the
  12. * view.
  13. */
  14. class Controller {
  15. /**
  16. * Constructor.
  17. *
  18. * Handles every request, creating the required models and selecting the
  19. * view.
  20. *
  21. * @param Array $params POST parameters of the request.
  22. */
  23. public function __construct($params){
  24. global $path;
  25. $page;
  26. $db = start_db();
  27. // Parse parameters, get lang and build the route.
  28. $pars = [];
  29. foreach($params as $p){
  30. if (strlen($p) > 0){
  31. array_push($pars, $p);
  32. }
  33. }
  34. // Select the model to load.
  35. if (sizeof($pars) == 0){
  36. require_once($path["page"] . "Home_Page.php");
  37. $page = new Home_Page($db);
  38. }
  39. else{
  40. if (strtoupper($pars[0]) == "FUSION"){
  41. require_once($path["page"] . "Fusion_Page.php");
  42. $page = new Fusion_Page($db);
  43. }
  44. elseif (strtoupper($pars[0]) == "RUNES"){
  45. require_once($path["page"] . "Runes_Page.php");
  46. $page = new Runes_Page($db);
  47. }
  48. elseif (strtoupper($pars[0]) == "GUILD"){
  49. require_once($path["page"] . "Guild_Page.php");
  50. $page = new Guild_Page($db);
  51. }
  52. elseif (strtoupper($pars[0]) == "MONSTERS"){
  53. if (count($pars) == 1){
  54. require_once($path["page"] . "Monsters_Page.php");
  55. $page = new Monsters_Page($db);
  56. }
  57. else{
  58. require_once($path["page"] . "Monster_Page.php");
  59. $page = new Monster_Page($db, $pars[1]);
  60. }
  61. }
  62. elseif (strtoupper($pars[0]) == "CATALOG"){
  63. if (count($pars) == 1){
  64. require_once($path["page"] . "Catalog_Page.php");
  65. $page = new Catalog_Page($db);
  66. }
  67. else{
  68. require_once($path["page"] . "Monster_Info_Page.php");
  69. $page = new Monster_Info_Page($db, $pars[1]);
  70. }
  71. }
  72. elseif (strtoupper($pars[0]) == "REPORT"){
  73. if (count($pars) == 1){
  74. require_once($path["page"] . "Report_Page.php");
  75. $page = new Report_Page($db);
  76. }
  77. elseif (strtoupper($pars[1]) == "SKILLUP"){
  78. require_once($path["page"] . "Report_Skillup_Page.php");
  79. $page = new Report_Skillup_Page($db, $pars[1]);
  80. }
  81. elseif (strtoupper($pars[1]) == "RUNEUPGRADE"){
  82. require_once($path["page"] . "Report_Runeupgrade_Page.php");
  83. $page = new Report_Runeupgrade_Page($db, $pars[1]);
  84. }
  85. elseif (strtoupper($pars[1]) == "RUNECRAFT"){
  86. require_once($path["page"] . "Report_Runecraft_Page.php");
  87. $page = new Report_Runecraft_Page($db, $pars[1]);
  88. }
  89. }
  90. }
  91. // Load the view, or set an error code.
  92. if (isset($page)){
  93. require_once($page->view);
  94. }
  95. else{
  96. require_once($path["page"] . "Error_Page.php");
  97. $page = new Error_Page($db, 404);
  98. http_response_code(404);
  99. }
  100. }
  101. }
  102. ?>