Пример #1
0
 public function assert(Acl $acl, RoleInterface $role = null, ResourceInterface $resource = null, $privilege = null)
 {
     if ($resource instanceof Site) {
         $site = $resource;
     } elseif ($resource instanceof SitePage) {
         $site = $resource->getSite();
     } else {
         return false;
     }
     return $site->isPublic();
 }
 public function assert(Acl $acl, RoleInterface $role = null, ResourceInterface $resource = null, $privilege = null)
 {
     if ($resource instanceof Site) {
         $site = $resource;
     } elseif ($resource instanceof SitePage) {
         $site = $resource->getSite();
     } else {
         // Not a recognized resource.
         return false;
     }
     $criteria = Criteria::create()->where(Criteria::expr()->eq('user', $role));
     $sitePermission = $site->getSitePermissions()->matching($criteria)->first();
     if (!$sitePermission) {
         // This user has no site permission
         return false;
     }
     $userRoleNumber = $this->getRoleNumber($sitePermission->getRole());
     return $userRoleNumber <= $this->roleNumber;
 }