roles.php 940 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. }
  35. if(!function_exists('fileName')) {
  36. function fileName($file): string
  37. {
  38. return preg_replace('/[\\*\\:\\\\\\/\\?<>]/', '_', $file);
  39. }
  40. }