You are here

public function SocialGroupInviteConfigOverride::loadOverrides in Open Social 10.1.x

Same name and namespace in other branches
  1. 10.3.x modules/social_features/social_group/modules/social_group_invite/src/SocialGroupInviteConfigOverride.php \Drupal\social_group_invite\SocialGroupInviteConfigOverride::loadOverrides()
  2. 10.2.x modules/social_features/social_group/modules/social_group_invite/src/SocialGroupInviteConfigOverride.php \Drupal\social_group_invite\SocialGroupInviteConfigOverride::loadOverrides()

Load overrides.

Overrides ConfigFactoryOverrideInterface::loadOverrides

File

modules/social_features/social_group/modules/social_group_invite/src/SocialGroupInviteConfigOverride.php, line 75

Class

SocialGroupInviteConfigOverride
Provides an overridden elements.

Namespace

Drupal\social_group_invite

Code

public function loadOverrides($names) {
  $overrides = [];
  $config_name = 'user.settings';

  // Get default verify_mail users settings.
  $enabled_verify_mail = $this->configFactory
    ->getEditable($config_name)
    ->get('verify_mail');

  // Get email_verification of social group invite settings.
  $group_invite = $this->configFactory
    ->getEditable('social_group.settings');
  $ignore_email_verification = (bool) $group_invite
    ->get('group_invite.email_verification');

  // Skip email verification step on registration for user group invitation.
  if (in_array($config_name, $names, TRUE) && $ignore_email_verification === TRUE && $enabled_verify_mail === TRUE) {
    $request = $this->requestStack
      ->getCurrentRequest();
    $invitee_mail = $request->query
      ->get('invitee_mail', '');
    $destination = $request->query
      ->get('destination', '');
    $is_valid = $this
      ->validateInviteData($invitee_mail, $destination);
    if ($is_valid) {
      $overrides[$config_name]['verify_mail'] = FALSE;
    }
  }
  return $overrides;
}