} 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 {
             // Failed to update nickname
             $xmlwriter->setHeaderStatus(1);
             $xmlwriter->setHeaderMessage($l->g('error'));
         }
     }
 } else {