remove();
$g_strInfoMessage = sprintf(gettext('info_ok_delete'), $strName);
}
catch(Exception $objError)
{
$g_strErrorDeleteRessource .= sprintf(gettext('error_delete'), $strName);
}
}
/**
* Mise à jour du nom de la ressource
*
* @return void
*/
function updateRessource()
{
global $g_strErrorDeleteRessource;
global $g_strInfoMessage;
if (isset($_REQUEST['name']) && trim($_REQUEST['name']) != '')
{
$strOldName = $_REQUEST['ressource'];
$strNewName = trim($_REQUEST['name']);
$objRessource = com_borealis_acl_object_Ressource::getByName($strOldName);
try
{
$objRessource->setName($strNewName);
$g_strInfoMessage = sprintf(gettext('info_ok_update'), $strOldName, $strNewName);
}
catch(Exception $objError)
{
$g_strErrorDeleteRessource .= sprintf(gettext('error_update'), $strOldName, $strNewName);
}
}
else
{
$g_strErrorDeleteRessource .= gettext('error_empty_resource_name');
}
}
/**
* Supression de l'action d'une ressource
*
* @return void
*/
function deleteRessourceAction()
{
global $g_strErrorDeleteRessource;
global $g_strInfoMessage;
try
{
$objRessource = com_borealis_acl_object_Ressource::getByName($_REQUEST['ressource']);
$objAction = com_borealis_acl_object_Action::getByName($_REQUEST['actionname']);
$objRessource->removeAction($objAction);
$g_strInfoMessage = sprintf(gettext('info_ok_delete_action'), $_REQUEST['ressource'], $_REQUEST['actionname']);
}
catch(Exception $objError)
{
$g_strErrorDeleteRessource .= sprintf(gettext('error_delete_action'), $_REQUEST['ressource'], $_REQUEST['actionname']);
}
}
/**
* Supression de plusieur action d'une ressource
*
* @return void
*/
function deleteRessourceActions()
{
global $g_strErrorDeleteRessource;
global $g_strInfoMessage;
$objRessource = com_borealis_acl_object_Ressource::getByName($_REQUEST['ressource']);
foreach ( $_REQUEST['actionnames'] as $strActionName)
{
try
{
$objAction = com_borealis_acl_object_Action::getByName($strActionName);
$objRessource->removeAction($objAction);
$g_strInfoMessage .= sprintf(gettext('info_ok_delete_action'), $_REQUEST['ressource'], $strActionName).'
';
}
catch(Exception $objError)
{
$g_strErrorDeleteRessource .= sprintf(gettext('error_delete_action'), $_REQUEST['ressource'], $strActionName).'
';
}
}
}
/**
* Ajout d'actions à une ressource
*
* @return void
*/
function addRessourceAction()
{
global $g_strErrorAddRessourceAction;
global $g_strInfoMessage;
if (!isset($_REQUEST['ressource']) || trim($_REQUEST['ressource']) == '')
{
$g_strErrorAddRessourceAction .= gettext('error_add_action_missing_resource');
return;
}
if (!isset($_REQUEST['actionname']))
{
$g_strErrorAddRessourceAction .= gettext('error_add_action_missing_action');
return;
}
$objRessource = com_borealis_acl_object_Ressource::getByName($_REQUEST['ressource']);
foreach ($_REQUEST['actionname'] as $strActionName)
{
try
{
$objAction = com_borealis_acl_object_Action::getByName($strActionName);
$objRessource->addAction($objAction);
$g_strInfoMessage .= sprintf(gettext('info_ok_add_action'), $_REQUEST['ressource'], $strActionName).'
';
}
catch(com_borealis_acl_exception_SQLException $objError)
{
$g_strErrorAddRessourceAction .= sprintf(gettext('error_add_action'), $_REQUEST['ressource'], $strActionName).'
';
}
}
}
if (isset($_REQUEST['action']))
{
switch($_REQUEST['action'])
{
case 'add_ressource':
addRessource();
break;
case 'delete_ressource':
deleteRessource();
break;
case 'delete_ressource_action':
deleteRessourceAction();
break;
case 'delete_ressource_actions':
deleteRessourceActions();
break;
case 'add_ressource_action':
addRessourceAction();
break;
case 'update_ressource':
updateRessource();
break;
}
}
// -----------------------------------------------
// --- Smarty display
// -----------------------------------------------
$g_objSmarty->assign('actions', com_borealis_acl_object_Action::getAll());
$g_objSmarty->assign('ressources', com_borealis_acl_object_Ressource::getAll());
$g_objSmarty->assign('errorAddRessource', $g_strErrorAddRessource);
$g_objSmarty->assign('errorDeleteRessource', $g_strErrorDeleteRessource);
$g_objSmarty->assign('errorAddRessourceAction', $g_strErrorAddRessourceAction);
$g_objSmarty->assign('infoMessage', $g_strInfoMessage);
$g_objSmarty->display('ressources.tpl');
?>