Пример #1
0
 /**
  *
  * @param boolean $pReload
  * @return Zend_Acl
  */
 public static function acl($pReload = FALSE)
 {
     if ($pReload || is_null(self::$_acl)) {
         $acl = new Zend_Acl();
         foreach (Model_Resources::getInstance()->find_all() as $res) {
             $acl->add($res);
         }
         foreach (Model_Roles::getInstance()->find_all() as $role) {
             $acl->addRole($role);
         }
         foreach (self::getInstance()->find_all() as $grant) {
             if ($grant->allow) {
                 $acl->allow($grant->role, $grant->resource);
             } else {
                 $acl->deny($grant->role, $grant->resource);
             }
         }
         self::$_acl = $acl;
     }
     return self::$_acl;
 }