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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | 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.