Пример #1
0
 public function can($permissions, $arguments = [])
 {
     // Get param
     $userId = Auth::user()->id;
     // Get roles
     $listRole = (new RoleUser())->getUserRole($userId);
     if (empty($listRole) || empty($permissions)) {
         return false;
     }
     if (!is_array($permissions)) {
         $permissions = [$permissions];
     }
     // Get list permissions id
     $listPermissions = NodePermission::whereIn('name', $permissions)->lists('id');
     // Get permission status
     $rolePerm = PermissionRole::whereIn('role_id', $listRole)->whereIn('permission_id', $listPermissions)->get();
     if (!$rolePerm->count()) {
         return false;
     }
     foreach ($rolePerm as $perm) {
         if ($perm->status == 1) {
             return true;
         }
     }
     return false;
 }
Пример #2
0
 /**
  * Check guest roles have a permission
  *
  * @param  $route
  * @return boolean
  */
 public static function isAllowGuest(array $route = [])
 {
     // Get param
     $route_method = $route['route_method'];
     $route_name = $route['route_name'];
     // Get roles
     $guestRole = Role::where('name', 'guest')->lists('id');
     if (!$guestRole->count()) {
         return false;
     }
     // Get permission
     $permissions = parent::where(['route_method' => $route_method, 'route_name' => $route_name])->lists('permission_id')->toArray();
     if (empty($permissions)) {
         return false;
     }
     // Get permission status
     $rolePerm = PermissionRole::whereIn('role_id', $guestRole)->whereIn('permission_id', $permissions)->get();
     if (!$rolePerm->count()) {
         return false;
     }
     foreach ($rolePerm as $perm) {
         if ($perm->status == 1) {
             return true;
         }
     }
     return false;
 }