本文整理汇总了PHP中Perms::setResolverFactories方法的典型用法代码示例。如果您正苦于以下问题:PHP Perms::setResolverFactories方法的具体用法?PHP Perms::setResolverFactories怎么用?PHP Perms::setResolverFactories使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Perms
的用法示例。
在下文中一共展示了Perms::setResolverFactories方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setUp
function setUp()
{
$perms = new Perms();
$perms->setResolverFactories(array(new Perms_ResolverFactory_StaticFactory('static', new Perms_Resolver_Static(array('Admins' => array('admin_wiki'))))));
$perms->setGroups(array('Admins'));
$perms->setCheckSequence(array(new Perms_Check_Direct(), $this->mockA = $this->getMock('Perms_Check'), $this->mockB = $this->getMock('Perms_Check')));
Perms::set($perms);
}
示例2: getExpect
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;
}
示例3: setUp
function setUp()
{
$perms = new Perms();
$perms->setCheckSequence(array($this->globalAlternate = new Perms_Check_Alternate('admin'), new Perms_Check_Direct()));
$perms->setResolverFactories(array(new Perms_ResolverFactory_StaticFactory('global', new Perms_Resolver_Static(array('Anonymous' => array('tiki_p_view'), 'Registered' => array('tiki_p_view', 'tiki_p_topic_read'))))));
$index = new Search_Index_Memory();
$indexer = new Search_Indexer($index);
$this->indexer = $indexer;
$this->index = $index;
$this->perms = $perms;
}
示例4: testFilterMixed
function testFilterMixed()
{
$perms = new Perms();
$perms->setResolverFactories(array($resolver = $this->getMock('Perms_ResolverFactory'), new Perms_ResolverFactory_StaticFactory('global', new Perms_Resolver_Default(true))));
Perms::set($perms);
$resolver->expects($this->any())->method('getResolver')->will($this->returnValue(null));
$resolver->expects($this->exactly(3))->method('bulk')->will($this->returnValue(array()));
$resolver->expects($this->at(0))->method('bulk')->will($this->returnValue(array()))->with($this->equalTo(array('type' => 'wiki page')), $this->equalTo('object'), $this->equalTo(array('A', 'B')));
$resolver->expects($this->at(1))->method('bulk')->will($this->returnValue(array()))->with($this->equalTo(array('type' => 'category')), $this->equalTo('object'), $this->equalTo(array(10)));
$data = array(array('type' => 'wiki page', 'object' => 'A', 'creator' => 'abc'), array('type' => 'wiki page', 'object' => 'B', 'creator' => 'abc'), array('type' => 'category', 'object' => 10), array('type' => 'forumPost', 'object' => 12, 'author' => 'author'));
$out = Perms::mixedFilter(array(), 'type', 'object', $data, array('wiki page' => array('object' => 'object', 'type' => 'type', 'creator' => 'creator'), 'category' => array('object' => 'object', 'type' => 'type'), 'forumPost' => array('object' => 'object', 'type' => 'type', 'creator' => 'author')), array('wiki page' => 'view', 'category' => 'view_categories', 'forumPost' => 'forum_post'));
$this->assertEquals($data, $out);
}
示例5: build
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;
}
示例6: testSkipPermissionChecks
function testSkipPermissionChecks()
{
$perms = new Perms();
$perms->setResolverFactories(array(new Perms_ResolverFactory_StaticFactory('root', new Perms_Resolver_Default(false))));
Perms::set($perms);
$manip = new Category_Manipulator('wiki page', 'Hello World');
$manip->overrideChecks();
$manip->setCurrentCategories(array(1, 2, 3, 7));
$manip->setUnmanagedCategories(range(1, 5));
$manip->setNewCategories(array(1, 2, 4, 6));
$this->assertEquals(array(6), $manip->getAddedCategories());
$this->assertEquals(array(7), $manip->getRemovedCategories());
}
示例7: testSkipBulkOnEmptySet
function testSkipBulkOnEmptySet()
{
$perms = new Perms();
$perms->setResolverFactories(array($mock = $this->getMock('Perms_ResolverFactory')));
Perms::set($perms);
$mock->expects($this->never())->method('bulk');
}