fetchAll("SELECT acl_role_privilege.acl_role_id, acl_resource.acl_resource_name, acl_privilege.acl_privilege_name FROM acl_role_privilege, acl_resource, acl_privilege WHERE acl_role_privilege.acl_privilege_id = acl_privilege.acl_privilege_id AND acl_privilege.acl_resource_id = acl_resource.acl_resource_id"); foreach ($roles as $role) { if (!$this->has($role['acl_resource_name'])) { $this->add(new Zend_Acl_Resource($role['acl_resource_name'])); } if (!$this->hasRole($role['acl_role_id'])) { $this->addRole(new Zend_Acl_Role($role['acl_role_id'])); } } $this->add(new Zend_Acl_Resource('error')); $this->deny(); $this->allow(null, 'error'); foreach ($roles as $role) { $this->allow($role['acl_role_id'], $role['acl_resource_name'], $role['acl_privilege_name']); } } public static function getInstance() { if (null === self::$_instance) { self::$_instance = new self(); self::$_instance->_initialize(); } return self::$_instance; } }