Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
                        $smarty->assign('filename', $aFileInfos['name']);
                    }
                    $smarty->assign('email_token', $detailtoken['email']);
                    $txt = $smarty->fetch('mail/user_watch_token.tpl');
                    $mail->setHTML($txt);
                    $mailsent = $mail->send(array($not['email']));
                }
            }
        }
        if (empty($notificationPage)) {
            $notificationPage = preg_replace('/[\\?&]TOKEN=' . $token . '/', '', $_SERVER['REQUEST_URI']);
        }
        // Log each token access
        $logslib->add_log('token', $detailtoken['email'] . ' ' . tra('has accessed the following shared content:') . ' ' . $notificationPage);
    } else {
        // Error Token expired
        $token_error = tra('Your access to this page has expired');
    }
}
$allperms = $userlib->get_enabled_permissions();
Perms_Context::setPermissionList($allperms);
$builder = new Perms_Builder();
$perms = $builder->withCategories($prefs['feature_categories'] == 'y')->withDefinitions($allperms)->build();
Perms::set($perms);
$_permissionContext = new Perms_Context($user, false);
if ($groupList) {
    $_permissionContext->overrideGroups($groupList);
}
$_permissionContext->activate(true);
unset($allperms);
unset($tokenParams);
Ejemplo n.º 4
0
 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());
 }
Ejemplo n.º 5
0
 function testSkipBulkOnEmptySet()
 {
     $perms = new Perms();
     $perms->setResolverFactories(array($mock = $this->getMock('Perms_ResolverFactory')));
     Perms::set($perms);
     $mock->expects($this->never())->method('bulk');
 }