<?php require 'console.php'; echo BASE_URL . "\n"; if(!Class_Permission::findAll()) { echo "No permission in DB, stop script\n"; exit; } if (Class_UserGroup_Permission::countBy([])>0) { echo "Usergroup permissions detected, stop script\n"; exit; } if(!$group_category = Class_UserGroupCategorie::findFirstBy(['libelle' => 'Droits d\'accès aux articles'])) { $group_category = Class_UserGroupCategorie::newInstance(['libelle' => 'Droits d\'accès aux articles']); $group_category->save(); } $all_cms_permissions = Class_Permission::getCmsPermissions(); $redac_permissions = Class_Permission::findAllBy(['module' => 'ARTICLE', 'code' => ['ARTICLE' , 'PENDING', 'CATEGORY' ]]); $redac_portail = addGroupFor(Class_Bib::getPortail(), ZendAfi_Acl_AdminControllerRoles::MODO_PORTAIL, 'Rédacteurs Portail' ,$group_category,$redac_permissions); $admin_portail = addGroupFor(Class_Bib::getPortail(), ZendAfi_Acl_AdminControllerRoles::ADMIN_PORTAIL, 'Administrateurs Portail ' ,$group_category,$all_cms_permissions); foreach(Class_Bib::findAll() as $library) { addGroupFor($library, ZendAfi_Acl_AdminControllerRoles::MODO_BIB, 'Rédacteurs ' . $library->getLibelle(), $group_category, $redac_permissions); addGroupFor($library, ZendAfi_Acl_AdminControllerRoles::ADMIN_BIB, 'Administrateurs ' . $library->getLibelle(), $group_category, $all_cms_permissions); allow($redac_permissions, $redac_portail, $library); allow($all_cms_permissions, $admin_portail, $library); } function addGroupFor($library, $level, $label, $categ,$permissions) { if(!$group = Class_UserGroup::findFirstBy(['libelle' => $label, 'id_cat' => $categ->getId()])) $group = Class_UserGroup::newInstance(['libelle' => $label, 'group_type' => Class_UserGroup::TYPE_DYNAMIC, 'role_level' => $level, 'library' => $library, 'categorie' => $categ]); $group->addRight(Class_UserGroup::RIGHT_USER_ACCES_ARTICLES) ->addRight(Class_UserGroup::RIGHT_USER_PUBLICATION_DIRECTE) ->addRight(Class_UserGroup::RIGHT_USER_FILE_ACCESS) ->save(); allow($permissions,$group,$library); return $group; } function allow($permissions,$group,$library) { foreach($permissions as $permission) $permission->permitTo($group, $library); }