$themedir) { $ALL_THEME_DIRS[]=$themedir; } // Extract form variables $form_action = WT_Filter::post('form_action'); $form_username = WT_Filter::post('form_username'); $form_realname = WT_Filter::post('form_realname' ); $form_pass1 = WT_Filter::post('form_pass1', WT_REGEX_PASSWORD); $form_pass2 = WT_Filter::post('form_pass2', WT_REGEX_PASSWORD); $form_email = WT_Filter::postEmail('form_email'); $form_rootid = WT_Filter::post('form_rootid', WT_REGEX_XREF); $form_theme = WT_Filter::post('form_theme', implode('|', $ALL_THEME_DIRS)); $form_language = WT_Filter::post('form_language', implode('|', array_keys(WT_I18N::installed_languages())), WT_LOCALE); $form_contact_method = WT_Filter::post('form_contact_method'); $form_visible_online = WT_Filter::postBool('form_visible_online'); // Respond to form action if ($form_action=='update' && WT_Filter::checkCsrf()) { if ($form_username!=WT_USER_NAME && get_user_id($form_username)) { WT_FlashMessages::addMessage(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)) { WT_FlashMessages::addMessage(WT_I18N::translate('Duplicate email address. A user with that email already exists.')); } else { // Change username if ($form_username!=WT_USER_NAME) { AddToLog('User renamed to ->'.$form_username.'<-', 'auth'); rename_user(WT_USER_ID, $form_username); } // Change password if ($form_pass1 && $form_pass1 == $form_pass2) { set_user_password(WT_USER_ID, $form_pass1); } // Change other settings setUserFullName(WT_USER_ID, $form_realname); setUserEmail (WT_USER_ID, $form_email); set_user_setting(WT_USER_ID, 'theme', $form_theme); set_user_setting(WT_USER_ID, 'language', $form_language); 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); // Reload page to pick up changes such as theme and user_id header('Location: '.WT_SERVER_NAME.WT_SCRIPT_PATH.WT_SCRIPT_NAME); exit; } } $controller=new WT_Controller_Page(); $controller ->setPageTitle(WT_I18N::translate('User administration')) ->pageHeader() ->addExternalJavascript(WT_STATIC_URL.'js/autocomplete.js'); // Form validation ?>