예제 #1
0
 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;
 }
예제 #2
0
 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;
 }