You are here

function ga_login_update_8002 in Google Authenticator login 8

Update plugin names from tfa prefix to ga_login.

File

./ga_login.install, line 56
Installation related functions for GA Login module.

Code

function ga_login_update_8002() {

  /** @var \Drupal\Core\Config\Config $config */
  $config = \Drupal::configFactory()
    ->getEditable('tfa.settings');

  // Update default_validation_plugin.
  $old_plugins = [
    'tfa_hotp',
    'tfa_totp',
  ];
  $new_plugins = [
    'ga_login_hotp',
    'ga_login_totp',
  ];
  $config
    ->set('default_validation_plugin', str_replace($old_plugins, $new_plugins, $config
    ->get('default_validation_plugin')));

  // Update validation_plugin_settings.
  $validation_plugins = $config
    ->get('validation_plugin_settings');
  foreach ($validation_plugins as $key => $validation_plugin) {
    switch ($key) {
      case 'tfa_hotp':
      case 'tfa_totp':
        $new_key = str_replace('tfa_', 'ga_login_', $key);
        $validation_plugins[$new_key] = $validation_plugin;
        unset($validation_plugins[$key]);
        break;
    }
  }
  $config
    ->set('validation_plugin_settings', $validation_plugins);

  // Update allowed_validation_plugins.
  $allowed_validation_plugins = $config
    ->get('allowed_validation_plugins');
  foreach ($allowed_validation_plugins as $key => $allowed_validation_plugin) {
    switch ($key) {
      case 'tfa_hotp':
      case 'tfa_totp':
        $new_key = str_replace('tfa_', 'ga_login_', $key);
        $allowed_validation_plugins[$new_key] = $new_key;
        unset($allowed_validation_plugins[$key]);
        break;
    }
  }
  $config
    ->set('allowed_validation_plugins', $allowed_validation_plugins);
  $config
    ->save();
}