/** * * @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; }