_('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(_('Could Not Get User'),'admin');
} elseif ($u->isError()) {
exit_error($u->getErrorMessage(),'admin');
}
if (getStringFromRequest('delete_user') != '' && getStringFromRequest('confirm_delete') == '1') {
// delete user
if (!$u->delete(true)) {
exit_error( _('Could Not Complete Operation: ').$u->getErrorMessage(),'admin');
} 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(),'admin');
}
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()) {
$error_msg = $u->getErrorMessage();
} else {
$feedback = _('Updated');
}
}
$title = _('Site Admin: User Info');
site_admin_header(array('title'=>$title));
?>