setPageTitle(WT_I18N::translate('User administration')); // Valid values for form variables $ALL_THEMES_DIRS=array(); foreach (get_theme_names() as $themename=>$themedir) { $ALL_THEME_DIRS[]=$themedir; } // Extract form variables $form_action =safe_POST('form_action' ); $form_username =safe_POST('form_username', WT_REGEX_USERNAME); $form_realname =safe_POST('form_realname' ); $form_pass1 =safe_POST('form_pass1', WT_REGEX_PASSWORD); $form_pass2 =safe_POST('form_pass2', WT_REGEX_PASSWORD); $form_email =safe_POST('form_email', WT_REGEX_EMAIL, 'email@example.com'); $form_rootid =safe_POST('form_rootid', WT_REGEX_XREF, WT_USER_ROOT_ID ); $form_theme =safe_POST('form_theme', $ALL_THEME_DIRS); $form_language =safe_POST('form_language', array_keys(WT_I18N::installed_languages()), WT_LOCALE ); $form_contact_method=safe_POST('form_contact_method'); $form_visible_online=safe_POST_bool('form_visible_online'); // Respond to form action if ($form_action=='update') { if ($form_username!=WT_USER_NAME && get_user_id($form_username)) { $controller->pageHeader(); echo '', WT_I18N::translate('Duplicate user name. A user with that user name already exists. Please choose another user name.'), '
'; } elseif ($form_email!=getUserEmail(WT_USER_ID) && get_user_by_email($form_email)) { $controller->pageHeader(); echo '', WT_I18N::translate('Duplicate email address. A user with that email already exists.'), '
'; } else { // Change password if (!empty($form_pass1)) { set_user_password(WT_USER_ID, $form_pass1); } $old_realname =getUserFullName(WT_USER_ID); $old_email =getUserEmail(WT_USER_ID); // Change other settings setUserFullName(WT_USER_ID, $form_realname); setUserEmail (WT_USER_ID, $form_email); set_user_setting(WT_USER_ID, 'theme', $form_theme); $WT_SESSION->theme_dir=$form_theme; // switch to the new theme right away set_user_setting(WT_USER_ID, 'language', $form_language); $WT_SESSION->locale=$form_language; // switch to the new language right away set_user_setting(WT_USER_ID, 'contactmethod', $form_contact_method); set_user_setting(WT_USER_ID, 'visibleonline', $form_visible_online); $WT_TREE->userPreference(WT_USER_ID, 'rootid', $form_rootid); // Change username if ($form_username!=WT_USER_NAME) { AddToLog('User renamed to ->'.$form_username.'<-', 'auth'); rename_user(WT_USER_ID, $form_username); } // Reload page to pick up changes such as theme and user_id header('Location: '.WT_SERVER_NAME.WT_SCRIPT_PATH.WT_SCRIPT_NAME); exit; } } else { $controller ->pageHeader() ->addExternalJavascript(WT_STATIC_URL.'js/autocomplete.js'); } // Form validation ?>

', WT_I18N::translate('My account'), '

', WT_I18N::translate('Username'), help_link('username'), '
', WT_I18N::translate('Real name'), help_link('real_name'), '
'; $person=WT_Person::getInstance(WT_USER_GEDCOM_ID); if ($person) { echo '
', WT_I18N::translate('Individual record'), help_link('edituser_gedcomid'), '
', $person->format_list('span'), '
'; } $person=WT_Person::getInstance(WT_USER_ROOT_ID); echo '
', WT_I18N::translate('Default individual'), help_link('default_individual'), '
'; echo print_findindi_link('rootid'), '
'; if ($person) { echo $person->format_list('span'); } echo '
', WT_I18N::translate('Password'), help_link('password'), '
', WT_I18N::translate('Leave password blank if you want to keep the current password.'), '
', WT_I18N::translate('Confirm password'), help_link('password_confirm'), '
', WT_I18N::translate('Language'), '
', edit_field_language('form_language', get_user_setting(WT_USER_ID, 'language')), '
', WT_I18N::translate('Email address'), help_link('email'), '
', WT_I18N::translate('Theme'), help_link('THEME'), '
', WT_I18N::translate('Preferred contact method'), help_link('edituser_contact_meth'), '
', edit_field_contact('form_contact_method', get_user_setting(WT_USER_ID, 'contactmethod')), '
', WT_I18N::translate('Visible to other users when online'), help_link('useradmin_visibleonline'), '
', checkbox('form_visible_online', get_user_setting(WT_USER_ID, 'visibleonline')), '
'; // close edituser-table echo '
'; echo '
'; // close edituser-page