API_Controller.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. /**
  3. * v2 API Controller file.
  4. *
  5. * Provides a class to handle all posible API requests.
  6. *
  7. * @category Constroller
  8. */
  9. /**
  10. * v2 API controller.
  11. *
  12. * Handles every API request.
  13. *
  14. * @category Controller
  15. */
  16. class API_Controller {
  17. /**
  18. * Constructor.
  19. *
  20. * Handles every request, creating the required models and selecting the
  21. * view.
  22. *
  23. * @param mixed[] $params GET parameters of the request.
  24. */
  25. public function __construct($params){
  26. array_shift($params);
  27. array_shift($params);
  28. array_shift($params);
  29. // API call: Use API controller
  30. if (count($params) == 0){
  31. require_once(__DIR__ . "main.php");
  32. }
  33. else{
  34. $command = strtolower($params[0]);
  35. switch ($command){
  36. case "help":
  37. require_once(__DIR__ . "/help/index.php");
  38. case "upload_profile":
  39. require_once(__DIR__ . "/upload_profile.php");
  40. break;
  41. case "upload_run_dungeon":
  42. require_once(__DIR__ . "/upload_run_dungeon.php");
  43. break;
  44. case "upload_run_dimension":
  45. require_once(__DIR__ . "/upload_run_dimension.php");
  46. break;
  47. case "upload_run_scenario":
  48. require_once(__DIR__ . "/upload_run_scenario.php");
  49. break;
  50. case "upload_run_toa":
  51. require_once(__DIR__ . "/upload_run_toa.php");
  52. break;
  53. case "upload_run_rift":
  54. require_once(__DIR__ . "/upload_run_rift.php");
  55. break;
  56. case "update_logbook":
  57. require_once(__DIR__ . "/update_logbook.php");
  58. break;
  59. case "units":
  60. require_once(__DIR__ . "/units.php");
  61. break;
  62. default:
  63. header("HTTP/1.1 404");
  64. }
  65. }
  66. }
  67. }
  68. ?>