getName();
}
try
{
$objRole->addMember($strUsername);
$g_strInfoMessage .= sprintf(gettext('info_add_member').'
', $strUsername, $strRole);
}
catch(com_borealis_acl_exception_SQLException $objError)
{
$g_strErrorAddUser .= sprintf(gettext('error_exist_role_member').'
', $strUsername, $strRole);
}
}
}
}
/**
* Suppression du user
*
* @return void
*/
function deleteUser()
{
global $g_strInfoMessage;
global $g_objArrayUsers;
$objRole = com_borealis_acl_object_Role::getByName($_REQUEST['role']);
$objRole->removeMember($_REQUEST['username']);
$strUsername = $_REQUEST['username'];
if (isset($g_objArrayUsers[$_REQUEST['username']]))
{
$strUsername = $g_objArrayUsers[$_REQUEST['username']]->getName();
}
$g_strInfoMessage = sprintf(gettext('info_delete_member'), $strUsername, $objRole->getName());
}
/**
* Suppression de plusieur user
*
* @return void
*/
function deleteUsers()
{
global $g_strInfoMessage;
global $g_objArrayUsers;
if (isset($_REQUEST['role_user']))
{
foreach ($_REQUEST['role_user'] as $strRoleUser)
{
$objInfo = explode('_', $strRoleUser, 2);
$strRoleID = $objInfo[0];
$strUsername = $objInfo[1];
$objRole = com_borealis_acl_object_Role::getByID((int)$strRoleID);
$objRole->removeMember($strUsername);
if (isset($g_objArrayUsers[$strUsername]))
{
$strUsername = $g_objArrayUsers[$strUsername]->getName();
}
$g_strInfoMessage .= sprintf(gettext('info_delete_member').'
', $strUsername, $objRole->getName());
}
}
}
/**
* Création du tableau associatif de user trier
*
* @return void
*/
function loadInfo()
{
global $g_objArrayUsers;
global $g_objArrayRoles;
$objArrayUsers = com_borealis_users_UsersManager::getUsers();
// Trier en ordre de nom
usort($objArrayUsers, "cmpUser");
foreach ($objArrayUsers as $objUser)
{
$g_objArrayUsers[$objUser->getUsername()] = $objUser;
}
}
/**
* Fonction de comparaison de User pour le trie (usort)
*
* @param com_borealis_users_User $pobjUserA user1
* @param com_borealis_users_User $pobjUserB user2
*
* @return int
*/
function cmpUser(com_borealis_users_User $pobjUserA, com_borealis_users_User $pobjUserB)
{
return strcmp($pobjUserA->getName(), $pobjUserB->getName());
}
loadInfo();
if (isset($_REQUEST['action']))
{
switch($_REQUEST['action'])
{
case 'add_user':
addUser();
break;
case 'delete_user':
deleteUser();
break;
case 'delete_users':
deleteUsers();
break;
}
}
// -----------------------------------------------
// --- Smarty display
// -----------------------------------------------
$g_objSmarty->assign('errorAddUser', $g_strErrorAddUser);
$g_objSmarty->assign('roles', com_borealis_acl_object_Role::getAll());
$g_objSmarty->assign('users', $g_objArrayUsers);
$g_objSmarty->assign('infoMessage', $g_strInfoMessage);
$g_objSmarty->display('rolesuser.tpl');
?>