<?php
include 'easy_acl.php';
$acl = new Easy_Acl();
//We add some roles
$acl->addRole('grand_father');
$acl->addRole('dad','grand_father');
$acl->addRole('mom');
$acl->addRole('son',array('dad','mom'));
//We add some resources
$acl->addResource('grandpas_house');
$acl->addResource('dads_house');
$acl->addResource('moms_house');
$acl->addResource('my_house');
//We set some rules
$acl->allow('grand_father','grandpas_house');
$acl->allow('dad','dads_house');
$acl->allow('mom','moms_house');
echo 'Son allowed into grandpas?<br />';
var_dump($acl->isAllowed('son','grandpas_house')); //Should be true
echo 'Dad allowed into grandpas?<br />';
var_dump($acl->isAllowed('dad','grandpas_house')); //Should be true
echo 'grand_father allowed into grandpas?<br />';
var_dump($acl->isAllowed('grand_father','grandpas_house')); //Should be true
echo 'Mom allowed into grandpas? He doesn\'t like her<br />';
var_dump($acl->isAllowed('mom','grandpas_house')); //False
echo 'Dad allowed into dads_house?<br />';
var_dump($acl->isAllowed('dad','dads_house')); //Should be true
echo 'son allowed into dads_house?<br />';
var_dump($acl->isAllowed('son','dads_house')); //Should be true
echo 'mom allowed into dads_house?<br />';
var_dump($acl->isAllowed('mom','moms_house')); //Should be true
echo 'son allowed into moms_house?<br />';
var_dump($acl->isAllowed('son','moms_house')); //Should be true
/* Another test, we are not allowing dad to enter grandpas house, it
means that his son will not be allowed to enter either. */
echo '<hr />';
$acl->deny('dad','grandpas_house');
echo 'Son allowed into grandpas?<br />';
var_dump($acl->isAllowed('son','grandpas_house')); //Should be false
echo 'Dad allowed into grandpas?<br />';
var_dump($acl->isAllowed('dad','grandpas_house')); //Should be false
echo 'grand_father allowed into grandpas?<br />';
var_dump($acl->isAllowed('grand_father','grandpas_house')); //Should be true
echo 'Mom allowed into grandpas? He doesn\'t like her<br />';
var_dump($acl->isAllowed('mom','grandpas_house')); //False
//But now if we allow his mother, he should be able to enter his grandpas house
echo '<hr />';
$acl->allow('mom','grandpas_house');
echo 'Son allowed into grandpas?<br />';
var_dump($acl->isAllowed('son','grandpas_house')); //Should be false
echo $acl;
|