/** * 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); }