$profile_user_id = $current_user->id; } if ($profile_user_id != $current_user->id) { $profile_user = new PCPIN_User($session); $profile_user->_db_loadObj($profile_user_id); } else { $profile_user =& $current_user; } $activation_required = ''; if (!empty($profile_user_id)) { if (!isset($email) || !is_scalar($email)) { $email = ''; } else { $email = _pcpin_substr(trim($email), 0, 255); } if (!PCPIN_Common::checkEmail($email, $session->_conf_all['email_validation_level'])) { // Email invalid $xmlwriter->setHeaderStatus(1); $xmlwriter->setHeaderMessage($l->g('email_invalid')); } else { if (!$current_user->checkEmailUnique($profile_user_id, $email)) { // Email address already taken $xmlwriter->setHeaderStatus(1); $xmlwriter->setHeaderMessage($l->g('email_already_taken')); } else { // Email address is free if ($current_user->is_admin !== 'y' && !empty($session->_conf_all['activate_new_emails'])) { // Email address needs to be activated $activation_required = 1; $email_new_activation_code = PCPIN_Common::randomString(18, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'); $profile_user->email_new = $email;
$l->setLanguage($old_language_id); } } $errortext = array(); $login = trim($login); $email = trim($email); if ($login == '') { $errortext[] = $l->g('username_empty'); } elseif (_pcpin_strlen($login) < $session->_conf_all['login_length_min'] || _pcpin_strlen($login) > $session->_conf_all['login_length_max']) { $errortext[] = str_replace('[MIN]', $session->_conf_all['login_length_min'], str_replace('[MAX]', $session->_conf_all['login_length_max'], $l->g('username_length_error'))); } elseif (!$current_user->checkUsernameUnique($login)) { $errortext[] = $l->g('username_already_taken'); } elseif (true !== $badword->checkString($login) || true !== $disallowed_name->checkString($login)) { $errortext[] = $l->g('username_not_available'); } if (!PCPIN_Common::checkEmail($email)) { $errortext[] = $l->g('email_invalid'); } elseif (!$current_user->checkEmailUnique(0, $email)) { $errortext[] = $l->g('email_already_taken'); } if (_pcpin_strlen($password) < 3) { $errortext[] = $l->g('password_too_short'); } if (!empty($errortext)) { $xmlwriter->setHeaderStatus(1); $xmlwriter->setHeaderMessage('- ' . implode("\n- ", $errortext)); } else { // Create user if (!empty($session->_conf_all['activate_new_accounts'])) { $activation_code_plain = PCPIN_Common::randomString(18, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'); $activation_code = md5($activation_code_plain);