Controller.php 3.6 KB

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