social_course-8.x-2.11/modules/social_course_advanced/modules/social_course_advanced_invite/social_course_advanced_invite.install

modules/social_course_advanced/modules/social_course_advanced_invite/social_course_advanced_invite.install
<?php

/**
 * @file
 * The social_course_advanced_invite install file.
 */

use Drupal\group\Entity\GroupType;
use Drupal\group\Entity\GroupTypeInterface;

/**
 * Implements hook_install().
 *
 * @throws \Drupal\Core\Entity\EntityStorageException
 */
function social_course_advanced_invite_install(): void {
  $group_type = GroupType::load('course_advanced');

  if ($group_type instanceof GroupTypeInterface) {
    social_group_invite_set_default_permissions_for_group_type($group_type);
  }
}

/**
 * Update email invitation messages with new token for the symfony mailer.
 *
 * After introducing the symfony mailer, the steps in building an email changed
 * giving us issues with replacing the current-user in the invitation batch,
 * resulting in anonymous. We replace this with the user token where we set
 * the correct data in the symfony email builder for group invitations.
 */
function social_course_advanced_invite_update_10001(): void {
  $config_factory = \Drupal::configFactory();

  // Update the group content specific invite configuration.
  $configuration = $config_factory->getEditable('group.content_type.course_advanced-group_invitation');

  // Skip if the configuration doesn't exist.
  if (!($configuration->isNew())) {
    // Set email subject text.
    if (!empty($configuration->get('plugin_config.invitation_subject'))) {
      $subject = str_replace('[current-user:display-name]', '[user:display-name]', $configuration->get('plugin_config.invitation_subject'));
      $configuration->set('plugin_config.invitation_subject', $subject);
      $configuration->save();
    }
    // Set email body text.
    if (!empty($configuration->get('plugin_config.invitation_body'))) {
      $body = str_replace('[current-user:display-name]', '[user:display-name]', $configuration->get('plugin_config.invitation_body'));
      $configuration->set('plugin_config.invitation_body', $body);
      $configuration->save();
    }
  }
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc