File tree Expand file tree Collapse file tree 2 files changed +36
-0
lines changed Expand file tree Collapse file tree 2 files changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -24,6 +24,20 @@ function hasPermissions(string $permissions): bool
2424 }
2525}
2626
27+ if (! function_exists ('hasAnyPermissions ' )) {
28+ function hasAnyPermissions (string $ permissions ): bool
29+ {
30+ return auth ()->check () && auth ()->user ()->hasAnyPermissions ($ permissions );
31+ }
32+ }
33+
34+ if (! function_exists ('hasAnyRoles ' )) {
35+ function hasAnyRoles (string $ roles ): bool
36+ {
37+ return auth ()->check () && auth ()->user ()->hasAnyRoles ($ roles );
38+ }
39+ }
40+
2741if (! function_exists ('getPermissions ' )) {
2842 function getPermissions (): array
2943 {
Original file line number Diff line number Diff line change @@ -132,6 +132,28 @@ protected function hasPermission($permission): bool
132132 return true ;
133133 }
134134
135+ public function hasAnyPermissions (string |array $ permissions ): bool
136+ {
137+ $ arrayPermissions = CoreUtility::stringArray ($ permissions );
138+
139+ foreach ($ arrayPermissions as $ permission ) {
140+ if ($ this ->hasPermissionTo ($ permission )) {
141+ return true ;
142+ }
143+ }
144+
145+ return false ;
146+ }
147+
148+ public function hasAnyRoles (string |array $ roles ): bool
149+ {
150+ $ arrayRoles = CoreUtility::stringArray ($ roles );
151+
152+ $ userRoles = $ this ->roles ->pluck ('name ' )->toArray ();
153+
154+ return ! empty (array_intersect ($ arrayRoles , $ userRoles ));
155+ }
156+
135157 protected function getAllPermissions (array $ permissions )
136158 {
137159 $ permissionNames = array_map (fn ($ permission ) => is_object ($ permission ) ? $ permission ->name : $ permission , $ permissions );
You can’t perform that action at this time.
0 commit comments