mrouter.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. /**
  3. * Copyright 2021, 2026 5 Mode
  4. *
  5. * This file is part of GrandePuffo.
  6. *
  7. * GrandePuffo is free software: you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation, either version 3 of the License, or
  10. * (at your option) any later version.
  11. *
  12. * GrandePuffo is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with GrandePuffo. If not, see <https://www.gnu.org/licenses/>.
  19. *
  20. * mrouter.php
  21. *
  22. * The main router.
  23. *
  24. * @author Daniele Bonini <my25mb@has.im>
  25. * @copyrights (c) 2016, 2026 5 Mode
  26. */
  27. require "../Private/core/init.inc";
  28. // FUNCTION AND VARIABLE DECLARATIONS
  29. // PARAMETERS VALIDATION
  30. $url = filter_input(INPUT_GET, "url")??"";
  31. $url = strip_tags($url);
  32. $url = strtolower(trim(substr($url, 0, 300), "/"));
  33. $rndPrefix = substr($url, 0, 6);
  34. $myResRouter = getResRouter($rndPrefix);
  35. if ($myResRouter !== PHP_STR) {
  36. $scriptPath = APP_ROUTE_PATH;
  37. define("ROUTE_NAME", "router");
  38. define("ROUTE_FILENAME", $myResRouter );
  39. header("Content-Type: image/png");
  40. require(APP_PUBLIC_PATH . "/$myResRouter");
  41. } else {
  42. $scriptPath = APP_ERROR_PATH;
  43. define("ROUTE_NAME", "err-404");
  44. define("ROUTE_FILENAME", "err-404.php");
  45. if (ROUTE_NAME==="err-404") {
  46. header("HTTP/1.1 404 Not Found");
  47. }
  48. require $scriptPath . "/" . ROUTE_FILENAME;
  49. }