function user_cancel_methods

Same name in other branches
  1. 9 core/modules/user/user.module \user_cancel_methods()
  2. 8.9.x core/modules/user/user.module \user_cancel_methods()
  3. 10 core/modules/user/user.module \user_cancel_methods()
  4. 11.x core/modules/user/user.module \user_cancel_methods()

Helper function to return available account cancellation methods.

See documentation of hook_user_cancel_methods_alter().

Return value

An array containing all account cancellation methods as form elements.

See also

hook_user_cancel_methods_alter()

user_admin_settings()

user_cancel_confirm_form()

user_multiple_cancel_confirm()

3 calls to user_cancel_methods()
user_admin_settings in modules/user/user.admin.inc
Form builder; Configure user settings for this site.
user_cancel_confirm_form in modules/user/user.pages.inc
Form builder; confirm form for cancelling user account.
user_multiple_cancel_confirm in modules/user/user.module

File

modules/user/user.pages.inc, line 593

Code

function user_cancel_methods() {
    $methods = array(
        'user_cancel_block' => array(
            'title' => t('Disable the account and keep its content.'),
            'description' => t('Your account will be blocked and you will no longer be able to log in. All of your content will remain attributed to your user name.'),
        ),
        'user_cancel_block_unpublish' => array(
            'title' => t('Disable the account and unpublish its content.'),
            'description' => t('Your account will be blocked and you will no longer be able to log in. All of your content will be hidden from everyone but administrators.'),
        ),
        'user_cancel_reassign' => array(
            'title' => t('Delete the account and make its content belong to the %anonymous-name user.', array(
                '%anonymous-name' => variable_get('anonymous', t('Anonymous')),
            )),
            'description' => t('Your account will be removed and all account information deleted. All of your content will be assigned to the %anonymous-name user.', array(
                '%anonymous-name' => variable_get('anonymous', t('Anonymous')),
            )),
        ),
        'user_cancel_delete' => array(
            'title' => t('Delete the account and its content.'),
            'description' => t('Your account will be removed and all account information deleted. All of your content will also be deleted.'),
            'access' => user_access('administer users'),
        ),
    );
    // Allow modules to customize account cancellation methods.
    drupal_alter('user_cancel_methods', $methods);
    // Turn all methods into real form elements.
    $default_method = variable_get('user_cancel_method', 'user_cancel_block');
    foreach ($methods as $name => $method) {
        $form[$name] = array(
            '#type' => 'radio',
            '#title' => $method['title'],
            '#description' => isset($method['description']) ? $method['description'] : NULL,
            '#return_value' => $name,
            '#default_value' => $default_method,
            '#parents' => array(
                'user_cancel_method',
            ),
        );
    }
    return $form;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.