AuthenticatedUser.php 872 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace App\Core\Auth\Classes;
  3. use Singleton;
  4. /**
  5. * Store the user auth and permissions on a singleton
  6. * so this will be used on ws and web requests
  7. */
  8. class AuthenticatedUser extends Singleton
  9. {
  10. private $user;
  11. private $permissions;
  12. public static function load(User $user = null)
  13. {
  14. $instance = self::getInstance();
  15. if ($user) {
  16. $instance->user = $user;
  17. $instance->permissions = $user->permissions();
  18. }
  19. if ($_SESSION['user']) {
  20. $instance->user = $_SESSION['user'];
  21. $instance->permissions = $_SESSION['user']['permission'];
  22. }
  23. return $instance;
  24. }
  25. public static function user()
  26. {
  27. return self::getInstance()->user;
  28. }
  29. public static function permissions()
  30. {
  31. return self::getInstance()->permissions;
  32. }
  33. }