user_cancel_methods()
Helper function to return available account cancellation methods.
See documentation of hook_user_cancel_methods_alter().
Return value
array An array containing all account cancellation methods as form elements.
See also
hook_user_cancel_methods_alter()
user_admin_settings()
File
- core/modules/user/user.module, line 793
- Enables the user registration and login system.
Code
function user_cancel_methods() { $user_settings = \Drupal::config('user.settings'); $anonymous_name = $user_settings->get('anonymous'); $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 username.'), ), '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' => $anonymous_name)), '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' => $anonymous_name)), ), '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' => \Drupal::currentUser()->hasPermission('administer users'), ), ); // Allow modules to customize account cancellation methods. \Drupal::moduleHandler()->alter('user_cancel_methods', $methods); // Turn all methods into real form elements. $form = array( '#options' => array(), '#default_value' => $user_settings->get('cancel_method'), ); foreach ($methods as $name => $method) { $form['#options'][$name] = $method['title']; // Add the description for the confirmation form. This description is never // shown for the cancel method option, only on the confirmation form. // Therefore, we use a custom #confirm_description property. if (isset($method['description'])) { $form[$name]['#confirm_description'] = $method['description']; } if (isset($method['access'])) { $form[$name]['#access'] = $method['access']; } } return $form; }
Please login to continue.