roles.php 786 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. use App\Models\Role;
  3. if(!function_exists('getRoles')){
  4. function getRoles($key = null): array|string
  5. {
  6. $roles = Role::NAMES;
  7. if($key && isset($roles[$key])){
  8. return $roles[$key];
  9. } else {
  10. return $roles;
  11. }
  12. }
  13. }
  14. if(!function_exists('hasRole')){
  15. function hasRole($roles, $user = null) : bool
  16. {
  17. if(!$user) $user = auth()->user();
  18. $roles = explode(',', $roles);
  19. return ($user && in_array($user->role, $roles));
  20. }
  21. }
  22. if(!function_exists('roleName')) {
  23. function roleName($role): string
  24. {
  25. return Role::NAMES[$role];
  26. }
  27. }
  28. // return current year
  29. if(!function_exists('year')) {
  30. function year(): int
  31. {
  32. return (int)session('year', date('Y'));
  33. }
  34. }