_('No Unix account (N)'),
'A'=>_('Active (A)'),
'S'=>_('Suspended (S)'),
'D'=>_('Deleted (D)')
);
$user_id = getIntFromRequest('user_id');
$u =& user_get_object($user_id);
if (!$u || !is_object($u)) {
exit_error('Error','Could Not Get User');
} elseif ($u->isError()) {
exit_error('Error',$u->getErrorMessage());
}
if (getStringFromRequest('delete_user') != '' && getStringFromRequest('confirm_delete') == '1') {
// delete user
if (!$u->delete(true)) {
exit_error(
_('Could Not Complete Operation'),
$u->getErrorMessage()
);
} else {
$feedback = _('Deleted (D)').'
';
}
} elseif (getStringFromRequest('action') == "update_user" && getStringFromRequest('delete_user') == '') {
$email = getStringFromRequest('email');
$shell = getStringFromRequest('shell');
$status = getStringFromRequest('status');
//XXX use_shell
if (!$u->setEmail($email)
|| (forge_get_config('use_shell') && !$u->setShell($shell))
|| !$u->setStatus($status)) {
exit_error(
_('Could Not Complete Operation'),
$u->getErrorMessage()
);
}
if ($u->getUnixStatus() != 'N') {
$u->setUnixStatus($status);
} else {
if (count($u->getGroups())>0 && $u->isActive()) {
$u->setUnixStatus('A');
}else{
// make sure that user doesn't have LDAP entry
$u->setUnixStatus('N');
}
}
if ($u->isError()) {
$feedback = $u->getErrorMessage();
} else {
$feedback = _('Updated').'
';
}
}
site_admin_header(array('title'=>_('Site Admin: User Info')));
?>