function user_update_8004

Moves account settings from variable to config.

Related topics

File

drupal/core/modules/user/user.install, line 532
Install, update and uninstall functions for the user module.

Code

function user_update_8004() {
  update_variables_to_config('user.settings', array(
    'anonymous' => 'anonymous',
    'user_admin_role' => 'admin_role',
    'user_register' => 'register',
    'user_signatures' => 'signatures',
    'user_cancel_method' => 'cancel_method',
    'user_mail_status_activated_notify' => 'notify.status_activated',
    'user_mail_status_blocked_notify' => 'notify.status_blocked',
    'user_mail_status_cancelled_notify' => 'notify.status_cancelled',
    'user_email_verification' => 'verify_mail',
    'user_password_reset_timeout' => 'password_reset_timeout',
  ));

  // Convert the user.settings:register numeric value to text value.
  $map = array(
    '0' => 'admin_only',
    '1' => 'visitors',
    '2' => 'visitors_admin_approval',
  );
  $config = config('user.settings');
  $user_register = $config
    ->get('register');
  $user_cancel_method = $config
    ->get('cancel_method');
  if (is_numeric($user_register) && isset($map[$user_register])) {
    $config
      ->set('register', $map[$user_register])
      ->save();
  }

  // Convert user.settings:cancel_method numeric value to text value.
  $cancel_map = array(
    '0' => 'user_cancel_block',
    '1' => 'user_cancel_block_unpublish',
    '2' => 'user_cancel_block_reassign',
    '3' => 'user_cancel_block_delete',
  );
  if (is_numeric($user_cancel_method) && isset($cancel_map[$user_cancel_method])) {
    $config
      ->set('cancel_method', ${$cancel_map}[$user_cancel_method])
      ->save();
  }
}