/**
  * Delete user
  * @param   int   $user_id    User ID
  * @return  boolean   TRUE on success or FALSE on error
  */
 function deleteUser($user_id)
 {
     $result = false;
     if (!empty($user_id) && $this->_db_getList('id', 'id = ' . $user_id, 1)) {
         // Delete user
         if ($result = $this->_db_deleteRow($user_id)) {
             // Delete all avatars owned by user
             _pcpin_loadClass('avatar');
             $avatar = new PCPIN_Avatar($this);
             $avatar->deleteAvatar($user_id);
             // Delete all nicknames owned by user
             _pcpin_loadClass('nickname');
             $nickname = new PCPIN_Nickname($this);
             $nickname->deleteAllNickname($user_id);
             // Delete all messages sent TO this user
             _pcpin_loadClass('message');
             $message = new PCPIN_Message($this);
             if ($message->_db_getList('id', 'target_user_id = ' . $user_id)) {
                 $message_ids = array();
                 foreach ($message->_db_list as $data) {
                     $message_ids[] = $data['id'];
                 }
                 $message->_db_freeList();
                 $message->deleteMessages($message_ids);
             }
             // Delete userdata
             _pcpin_loadClass('userdata');
             $userdata = new PCPIN_UserData($this);
             $userdata->deleteUserData($user_id);
             // Update all users who ignored deleted user
             if ($res = $this->_db_query($this->_db_makeQuery(2050, $user_id))) {
                 $this->_db_freeResult($res);
             }
         }
     }
     return $result;
 }
                foreach ($choices_new as $choice) {
                    if (false !== strpos($choices_allowed, "\n" . $choice . "\n")) {
                        $choices_checked[] = $choice;
                    }
                }
                $custom_fields[$val['id']] = !empty($choices_checked) ? implode("\n", $choices_checked) : '';
            } elseif ($val['type'] == 'choice') {
                // Check value for choice field
                if (false === strpos("\n" . $val['choices'] . "\n", "\n" . $custom_fields[$val['id']] . "\n")) {
                    $custom_fields[$val['id']] = '';
                }
            } else {
                $custom_fields[$val['id']] = trim($custom_fields[$val['id']]);
            }
            $new_fields[$val['id']] = $custom_fields[$val['id']];
        } else {
            $new_fields[$val['id']] = $val['field_value'];
        }
    }
    if (!empty($new_fields)) {
        // Delete old userdata fields
        $userdata->deleteUserData($profile_user_id);
        // Insert new fields
        $userdata->addNewUserData($profile_user_id, $new_fields);
    }
    $xmlwriter->setHeaderMessage($l->g('changes_saved'));
    $xmlwriter->setHeaderStatus(0);
} else {
    $xmlwriter->setHeaderMessage($l->g('error'));
    $xmlwriter->setHeaderStatus(1);
}