![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mcoil.corals.io/vendor/santigarcor/laratrust/src/Checkers/Role/ |
<?php declare(strict_types=1); namespace Laratrust\Checkers\Role; use BackedEnum; use Laratrust\Helper; class RoleQueryChecker extends RoleChecker { /** * Checks if the role has a permission by its name. */ public function currentRoleHasPermission(string|array|BackedEnum $permission, bool $requireAll = false): bool { if (empty($permission)) { return true; } $permission = Helper::standardize($permission); $permissionsNames = is_array($permission) ? $permission : [$permission]; [$permissionsWildcard, $permissionsNoWildcard] = Helper::getPermissionWithAndWithoutWildcards($permissionsNames); $permissionsCount = $this->role->permissions() ->whereIn('name', $permissionsNoWildcard) ->when($permissionsWildcard, function ($query) use ($permissionsWildcard) { foreach ($permissionsWildcard as $permission) { $query->orWhere('name', 'like', $permission); } return $query; }) ->count(); return $requireAll ? $permissionsCount >= count($permissionsNames) : $permissionsCount > 0; } /** * Flush the role's cache. */ public function currentRoleFlushCache(): void { } }