You are here

function social_event_invite_mail in Open Social 8.9

Same name and namespace in other branches
  1. 10.3.x modules/social_features/social_event/modules/social_event_invite/social_event_invite.module \social_event_invite_mail()
  2. 10.0.x modules/social_features/social_event/modules/social_event_invite/social_event_invite.module \social_event_invite_mail()
  3. 10.1.x modules/social_features/social_event/modules/social_event_invite/social_event_invite.module \social_event_invite_mail()
  4. 10.2.x modules/social_features/social_event/modules/social_event_invite/social_event_invite.module \social_event_invite_mail()

Implements hook_mail().

This mail is sent when people who do not have an account on the website yet are invited into an event. It is sent in the language the inviter was using the website in.

File

modules/social_features/social_event/modules/social_event_invite/social_event_invite.module, line 56
The Social event invite enroll module.

Code

function social_event_invite_mail($key, &$message, $params) {
  if ($key === 'invite') {
    $token_service = \Drupal::token();
    $language_manager = \Drupal::languageManager();
    $langcode = $message['langcode'];
    $language = $language_manager
      ->getLanguage($langcode);
    $original_language = $language_manager
      ->getConfigOverrideLanguage();
    $language_manager
      ->setConfigOverrideLanguage($language);

    // Load event invite configuration.
    $invite_config = \Drupal::service('config.factory')
      ->getEditable('social_event_invite.settings');
    $invitation_subject = $invite_config
      ->get('invite_subject');
    $invitation_body = $invite_config
      ->get('invite_message');
    unset($params['existing_user']);
    $body = $token_service
      ->replace($invitation_body, $params);
    $subject = $token_service
      ->replace($invitation_subject, $params);
    $message['subject'] = $subject;
    $message['body'][] = $body;
    $language_manager
      ->setConfigOverrideLanguage($original_language);
  }
}