user_cancel_methods()
Helper function to return available account cancellation methods.
See documentation of hook_user_cancel_methods_alter().
array An array containing all account cancellation methods as form elements.
hook_user_cancel_methods_alter()
user_admin_settings()
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; }
© 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/core!modules!user!user.module/function/user_cancel_methods/8.1.x