', WT_I18N::translate('Restrict to immediate family'), help_link('RELATIONSHIP_PATH_LENGTH'), '
',
'
';
foreach (WT_Tree::getAll() as $tree) {
echo
'
',
$tree->tree_title_html,
//Pedigree root person
'
',
// TODO: autocomplete/find/etc. for this field
edit_field_inline('user_gedcom_setting-'.$user_id.'-'.$tree->tree_id.'-rootid', $tree->getUserPreference($user, 'rootid')),
'
',
// TODO: autocomplete/find/etc. for this field
edit_field_inline('user_gedcom_setting-'.$user_id.'-'.$tree->tree_id.'-gedcomid', $tree->getUserPreference($user, 'gedcomid')),
'
';
exit;
case 'createuser':
if (!WT_Filter::checkCsrf()) {
$action='createform';
} elseif (User::findByIdentifier($username)) {
WT_FlashMessages::addMessage(WT_I18N::translate('Duplicate user name. A user with that user name already exists. Please choose another user name.'));
$action='createform';
} elseif (User::findByIdentifier($emailaddress)) {
WT_FlashMessages::addMessage(WT_I18N::translate('Duplicate email address. A user with that email already exists.'));
$action='createform';
} elseif ($pass1!=$pass2) {
WT_FlashMessages::addMessage(WT_I18N::translate('Passwords do not match.'));
$action='createform';
} else {
$user = User::create($username, $realname, $emailaddress, $pass1);
$user
->setPreference('reg_timestamp', date('U'))
->setPreference('sessiontime', '0')
->setPreference('theme', $user_theme)
->setPreference('language', $user_language)
->setPreference('contactmethod', $new_contact_method)
->setPreference('comment', $new_comment)
->setPreference('auto_accept', $new_auto_accept ? '1' : '0')
->setPreference('canadmin', $canadmin ? '1' : '0')
->setPreference('visibleonline', $visibleonline ? '1' : '0')
->setPreference('editaccount', $editaccount ? '1' : '0')
->setPreference('verified', $verified ? '1' : '0')
->setPreference('verified_by_admin', $verified_by_admin ? '1' : '0');
foreach (WT_Tree::getAll() as $tree) {
$tree->setUserPreference($user, 'gedcomid', WT_Filter::post('gedcomid'.$tree->tree_id, WT_REGEX_XREF));
$tree->setUserPreference($user, 'rootid', WT_Filter::post('rootid'.$tree->tree_id, WT_REGEX_XREF));
$tree->setUserPreference($user, 'canedit', WT_Filter::post('canedit'.$tree->tree_id, implode('|', array_keys($ALL_EDIT_OPTIONS))));
if (WT_Filter::post('gedcomid'.$tree->tree_id, WT_REGEX_XREF)) {
$tree->setUserPreference($user, 'RELATIONSHIP_PATH_LENGTH', WT_Filter::postInteger('RELATIONSHIP_PATH_LENGTH'.$tree->tree_id, 0, 10, 0));
} else {
// Do not allow a path length to be set if the individual ID is not
$tree->setUserPreference($user, 'RELATIONSHIP_PATH_LENGTH', null);
}
}
Log::addAuthenticationLog("User ->{$username}<- created");
header('Location: ' . WT_SERVER_NAME . WT_SCRIPT_PATH . WT_SCRIPT_NAME);
Zend_Session::writeClose();
exit;
}
}
$controller->pageHeader();
switch ($action) {
case 'createform':
$controller
->addExternalJavascript(WT_STATIC_URL . 'js/autocomplete.js')
->addInlineJavascript('autocomplete();');
init_calendar_popup();
$controller->addInlineJavascript('
function checkform(frm) {
if (frm.username.value=="") {
alert("'.WT_I18N::translate('You must enter a user name.').'");
frm.username.focus();
return false;
}
if (frm.realname.value=="") {
alert("'.WT_I18N::translate('You must enter a real name.').'");
frm.realname.focus();
return false;
}
if (frm.pass1.value=="") {
alert("'.WT_I18N::translate('You must enter a password.').'");
frm.pass1.focus();
return false;
}
if (frm.emailaddress.value=="") {
alert("'.WT_I18N::translate('You must enter an email address.').'");
frm.emailaddress.focus();
return false;
}
if (frm.pass2.value=="") {
alert("'.WT_I18N::translate('You must confirm the password.').'");
frm.pass2.focus();
return false;
}
if (frm.pass1.value.length < 6) {
alert("'.WT_I18N::translate('Passwords must contain at least 6 characters.').'");
frm.pass1.value = "";
frm.pass2.value = "";
frm.pass1.focus();
return false;
}
return true;
}
jQuery(".relpath").change(function() {
var fieldIDx = jQuery(this).attr("id");
var idNum = fieldIDx.replace("RELATIONSHIP_PATH_LENGTH","");
var newIDx = "gedcomid"+idNum;
if (jQuery("#"+newIDx).val()=="") {
alert("'.WT_I18N::translate('You must specify an individual record before you can restrict the user to their immediate family.').'");
jQuery(this).val("");
}
});
function regex_quote(str) {
return str.replace(/[\\\\.?+*()[\](){}|]/g, "\\\\$&");
}
');
echo '
';
break;
case 'cleanup':
?>
getUserId()) == '1') {
Log::addAuthenticationLog('Deleted user: ' . $user->getUserName());
echo WT_I18N::translate('Deleted user: '), $user->getUserName(), ' ';
$user->delete();
}
}
break;
case 'listusers':
default:
echo
'