private function getExpect($categories = false, $indirectMap = array(), $globals = array()) { $expect = new Perms(); $expect->setPrefix('tiki_p_'); $expect->setCheckSequence(array($globalAdminCheck = new Perms_Check_Alternate('admin'), $fixedResolverCheck = new Perms_Check_Fixed($globals), new Perms_Check_Direct(), new Perms_Check_Indirect($indirectMap))); $expect->setResolverFactories(array_values(array_filter(array(new Perms_ResolverFactory_ObjectFactory(), $categories ? new Perms_ResolverFactory_CategoryFactory() : null, new Perms_ResolverFactory_GlobalFactory())))); $resolver = $expect->getAccessor()->getResolver(); $globalAdminCheck->setResolver($resolver); $fixedResolverCheck->setResolver($resolver); return $expect; }
function build() { $alternateCheck = new Perms_Check_Alternate('admin'); $fixedCheck = new Perms_Check_Fixed($this->globalOnlyPermissions); $perms = new Perms(); $perms->setPrefix($this->prefix); $perms->setCheckSequence($this->getSequence($alternateCheck, $fixedCheck)); $perms->setResolverFactories($this->getFactories()); $accessor = $perms->getAccessor(array()); $alternateCheck->setResolver($accessor->getResolver()); $fixedCheck->setResolver($accessor->getResolver()); return $perms; }