3 $visitor[] = array(
'ModuleName'=>
'ezjscore',
'FunctionName'=>
'run');
4 $visitor[] = array(
'ModuleName'=>
'user',
'FunctionName'=>
'password');
5 $visitor[] = array(
'ModuleName'=>
'user',
'FunctionName'=>
'preferences');
6 $visitor[] = array(
'ModuleName'=>
'content',
'FunctionName'=>
'read',
'limitations'=>array(
'Class'=>array(
'user'),
'Section'=>array(
'Users')));
8 $member[] = array(
'ModuleName'=>
'content',
'FunctionName'=>
'read',
'limitations'=>array(
'Class'=>array(
'user'),
'Section'=>array(
'Users')));
9 $member[] = array(
'ModuleName'=>
'content',
'FunctionName'=>
'edit',
'limitations'=>array(
'Class'=>array(
'user'),
'Section'=>array(
'Users')));
13 $creator[0][
'limitations'] = array(
'Class'=>array(
'article'),
'Section'=>array(
'Standard',
'Users'));
17 $creator[1][
'limitations'] = array(
'Class'=>array(
'article'),
'Section'=>array(
'Standard',
'Users'));
30 $maman[0][
'limitations'] = array(
'Class'=>array(
'article'));
34 $maman[1][
'limitations'] = array(
'Class'=>array(
'folder'),
'Section'=>array(
'Standard'));
38 $pediatrician[0][
'limitations'] = array(
'Class'=>array(
'article'),
'Section'=>array(
'Standard',
'Users'));
64 $pediatrician[8][
'limitations'] = array(
'Class'=>array(
'article',
'folder',
'user'),
'Section'=>array(
'Standard',
'Users'));
88 $publisher[5][
'limitations'] = array(
'SiteAccess' =>
'private');
93 $db = eZDB::instance();
96 foreach (
$roles as $roleName => $policies) {
99 $originalRole = eZRole::createNew();
100 $temporaryRole = $originalRole->createTemporaryVersion();
102 $temporaryRole->setAttribute(
'name' , $roleName );
103 $temporaryRole->store();
104 $originalRole->revertFromTemporaryVersion();
107 foreach ($policies as $policy) {
109 $policyObject = eZPolicy::createNew($originalRole->attribute(
'id'), array(
'ModuleName'=>$policy[
'ModuleName'],
110 'FunctionName'=>$policy[
'FunctionName']));
112 foreach ($policy[
'limitations'] as $identifier => $values) {
114 $limitationObject = eZPolicyLimitation::createNew($policyObject->attribute(
'id'), $identifier);
116 foreach ($values as $value) {
118 switch ($identifier) {
122 $value = eZContentClass::fetchByIdentifier($value)->attribute(
'id');
126 $value = eZSys::ezcrc32($value);
130 $sections = eZSection::fetchFilteredList( array(
'name' => $value ),
false,
false,
true );
131 $value = $sections[0]->attribute(
'id');
140 default:
throw new Exception(
'Limitation de permission inconnue: ' . $identifier);
142 eZPolicyLimitationValue::createNew($limitationObject->attribute(
'id'), $value);
151 $visitor = eZRole::fetchByName(
'Visitor');
152 $users = eZContentObjectTreeNode::fetchByURLPath(
'u');