getName(); $objArrayTemplate[$strActionName] = false; } foreach ($objArrayRessources as $objRessource) { $g_objArrayRolePermission[$objRessource->getName()] = array( 'right' => $objArrayTemplate, 'enabled' => $objArrayTemplate, 'resource' => $objRessource); foreach ($objRessource->getActions() as $objAction) { $g_objArrayRolePermission[$objRessource->getName()]['enabled'][$objAction->getName()] = true; } } foreach ($g_objRole->getPermission() as $objArrayPermission) { $objRessource = $objArrayPermission['ressource']; $objAction = $objArrayPermission['action']; $g_objArrayRolePermission[$objRessource->getName()]['right'][$objAction->getName()] = true; } } /** * Enregistre les modifications aux permission * * @return void */ function saveacl() { global $g_objRole; $g_objRole = com_borealis_acl_object_Role::getByName(trim($_REQUEST['role'])); $objArrayPermissions = (array)$g_objRole->getPermission(); foreach ($_REQUEST['authorized'] as $strRessource => $objArrayActions) { $objRessource = com_borealis_acl_object_Ressource::getByName($strRessource); foreach ($objArrayActions as $strAction => $strValue) { $objAction = com_borealis_acl_object_Action::getByName($strAction); $objArrayPermission = array( 'ressource' => $objRessource, 'action' => $objAction ); if ($strValue == 'add') { if (!in_array($objArrayPermission, $objArrayPermissions)) { $g_objRole->addPermission($objRessource, $objAction); } } else if ($strValue == 'remove') { if (in_array($objArrayPermission, $objArrayPermissions)) { $g_objRole->removePermission($objRessource, $objAction); } } } } } if (isset($_REQUEST['action'])) { switch($_REQUEST['action']) { case 'saveacl': saveacl(); case 'roleacl': roleACL(); break; } } // ----------------------------------------------- // --- Smarty display // ----------------------------------------------- $g_objSmarty->assign('roles', com_borealis_acl_object_Role::getAll()); $g_objSmarty->assign('actions', com_borealis_acl_object_Action::getAll()); $g_objSmarty->assign('role', $g_objRole); $g_objSmarty->assign('objArrayRolePermission', $g_objArrayRolePermission); $g_objSmarty->display('rolesmatrix.tpl'); ?>