user_cancel
function user_cancel
user_cancel($edit, $uid, $method)
Cancel a user account.
Since the user cancellation process needs to be run in a batch, either Form API will invoke it, or batch_process() needs to be invoked after calling this function and should define the path to redirect to.
Parameters
$edit: An array of submitted form values.
$uid: The user ID of the user account to cancel.
$method: The account cancellation method to use.
See also
File
- modules/user/user.module, line 2455
- Enables the user registration and login system.
Code
function user_cancel($edit, $uid, $method) { global $user; $account = user_load($uid); if (!$account) { drupal_set_message(t('The user account %id does not exist.', array('%id' => $uid)), 'error'); watchdog('user', 'Attempted to cancel non-existing user account: %id.', array('%id' => $uid), WATCHDOG_ERROR); return; } // Initialize batch (to set title). $batch = array( 'title' => t('Cancelling account'), 'operations' => array(), ); batch_set($batch); // Modules use hook_user_delete() to respond to deletion. if ($method != 'user_cancel_delete') { // Allow modules to add further sets to this batch. module_invoke_all('user_cancel', $edit, $account, $method); } // Finish the batch and actually cancel the account. $batch = array( 'title' => t('Cancelling user account'), 'operations' => array( array('_user_cancel', array($edit, $account, $method)), ), ); // After cancelling account, ensure that user is logged out. if ($account->uid == $user->uid) { // Batch API stores data in the session, so use the finished operation to // manipulate the current user's session id. $batch['finished'] = '_user_cancel_session_regenerate'; } batch_set($batch); // Batch processing is either handled via Form API or has to be invoked // manually. }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/modules!user!user.module/function/user_cancel/7.x