$xmlwriter->setHeaderStatus(1); $xmlwriter->setHeaderMessage($l->g('nickname_empty_error')); } elseif (_pcpin_strlen($new_nickname_plain) < $session->_conf_all['nickname_length_min']) { // Nickname is too short $xmlwriter->setHeaderStatus(1); $xmlwriter->setHeaderMessage(str_replace('[LENGTH]', $session->_conf_all['nickname_length_min'], $l->g('nickname_too_short_error'))); } elseif (_pcpin_strlen($new_nickname_plain) > $session->_conf_all['nickname_length_max']) { // Nickname is too long $xmlwriter->setHeaderStatus(1); $xmlwriter->setHeaderMessage(str_replace('[LENGTH]', $session->_conf_all['nickname_length_max'], $l->g('nickname_too_long'))); } elseif ($nickname->_db_getList('id', 'id != ' . $nickname_id, 'nickname_plain LIKE ' . $new_nickname_plain, 1)) { // Nickname already exists $xmlwriter->setHeaderStatus(1); $xmlwriter->setHeaderMessage(str_replace('[NICKNAME]', $new_nickname_plain, $l->g('nickname_not_available'))); $nickname->_db_freeList(); } elseif (false === $badword->checkString($new_nickname_plain) || false === $disallowed_name->checkString($new_nickname_plain) && $current_user->is_admin !== 'y') { // Nickname is not allowed $xmlwriter->setHeaderStatus(1); $xmlwriter->setHeaderMessage(str_replace('[NICKNAME]', $new_nickname_plain, $l->g('nickname_not_available'))); } else { // Nickname is free if ($nickname->updateNickname($profile_user_id, $nickname_id, $new_nickname)) { // Success $xmlwriter->setHeaderStatus(0); $xmlwriter->setHeaderMessage($l->g('nickname_updated')); // Get nicknames list $nicknames = $nickname->getNicknames($profile_user_id); foreach ($nicknames as $nickname_data) { $nicknames_xml[] = array('id' => $nickname_data['id'], 'nickname' => $nickname_data['nickname'], 'nickname_plain' => $nickname_data['nickname_plain'], 'default' => $nickname_data['default']); } } else {
if ($language_id != $l->id) { $old_language_id = $l->id; if (true !== $l->setLanguage($language_id)) { $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