Controller.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /**
  3. * @author Open Mind
  4. * @date 09/04/2018
  5. * @time 16:15
  6. */
  7. namespace OpenMind\Web;
  8. use DB\SQL;
  9. use OpenMind\System\User;
  10. class Controller
  11. {
  12. /** @var SQL $dbHandle OM-Link Database */
  13. protected $dbHandle;
  14. /**
  15. * Sanitized POST request, useful if sanitized POST is need
  16. * @var array $sanitizedPostRequest
  17. */
  18. private $sanitizedPostRequest;
  19. public function __construct($f3)
  20. {
  21. $this->sanitizedPostRequest = $f3->clean($f3->get('POST'));
  22. $this->dbHandle = $f3->get('DB');
  23. if (!$f3->exists('SESSION.user') && !in_array($f3->get('PATTERN'), ['/loginform', '/'])) {
  24. $f3->reroute('/');
  25. return;
  26. }
  27. if ($f3->exists('SESSION.user')) {
  28. $f3->set('USER', User::Restore());
  29. }
  30. return;
  31. }
  32. /**
  33. * Return the sanitized POST parameters
  34. *
  35. * @return mixed
  36. */
  37. protected function getSanitizedPostRequest()
  38. {
  39. return $this->sanitizedPostRequest;
  40. }
  41. /**
  42. * Use setTimeout to request a change url
  43. *
  44. * @param string $url to change to
  45. * @param int $msdelay
  46. */
  47. protected function setRedirect(string $url, int $msdelay)
  48. {
  49. global $f3;
  50. $f3->set('REQ_REDIRECT', $url);
  51. $f3->set('REQ_REDIRECT_MS', $msdelay);
  52. }
  53. }