Controller.php 3.1 KB

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