You are here

class SocialGroupWelcomeMessageConfigOverride in Open Social 8.8

Same name and namespace in other branches
  1. 8.9 modules/social_features/social_group/modules/social_group_welcome_message/src/SocialGroupWelcomeMessageConfigOverride.php \Drupal\social_group_welcome_message\SocialGroupWelcomeMessageConfigOverride

Social Group welcome message configuration override.

Hierarchy

Expanded class hierarchy of SocialGroupWelcomeMessageConfigOverride

2 string references to 'SocialGroupWelcomeMessageConfigOverride'
SocialGroupWelcomeMessageConfigOverride::getCacheSuffix in modules/social_features/social_group/modules/social_group_welcome_message/src/SocialGroupWelcomeMessageConfigOverride.php
The string to append to the configuration static cache name.
social_group_welcome_message.services.yml in modules/social_features/social_group/modules/social_group_welcome_message/social_group_welcome_message.services.yml
modules/social_features/social_group/modules/social_group_welcome_message/social_group_welcome_message.services.yml
1 service uses SocialGroupWelcomeMessageConfigOverride
social_group_welcome_message.overrider in modules/social_features/social_group/modules/social_group_welcome_message/social_group_welcome_message.services.yml
Drupal\social_group_welcome_message\SocialGroupWelcomeMessageConfigOverride

File

modules/social_features/social_group/modules/social_group_welcome_message/src/SocialGroupWelcomeMessageConfigOverride.php, line 14

Namespace

Drupal\social_group_welcome_message
View source
class SocialGroupWelcomeMessageConfigOverride implements ConfigFactoryOverrideInterface {

  /**
   * The config factory.
   *
   * @var \Drupal\Core\Config\ConfigFactoryInterface
   */
  protected $configFactory;

  /**
   * The module handler.
   *
   * @var \Drupal\Core\Extension\ModuleHandlerInterface
   */
  protected $moduleHandler;

  /**
   * Constructs the configuration override.
   *
   * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
   *   The config factory.
   * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
   *   The module handler.
   */
  public function __construct(ConfigFactoryInterface $config_factory, ModuleHandlerInterface $module_handler) {
    $this->configFactory = $config_factory;
    $this->moduleHandler = $module_handler;
  }

  /**
   * {@inheritdoc}
   */
  public function loadOverrides($names) {
    $overrides = [];
    $social_group_types = [
      'open_group',
      'closed_group',
      'public_group',
    ];
    $this->moduleHandler
      ->alter('social_group_types', $social_group_types);
    $config_names = [];
    foreach ($social_group_types as $social_group_type) {
      $config_names[] = "core.entity_form_display.group.{$social_group_type}.default";
    }
    foreach ($config_names as $config_name) {
      if (in_array($config_name, $names)) {
        $overrides[$config_name] = [
          'third_party_settings' => [
            'field_group' => [
              'group_welcome_message' => [
                'children' => [
                  'private_message_body',
                  'private_message_send',
                ],
                'parent_name' => '',
                'weight' => 99,
                'label' => t('Welcome message')
                  ->render(),
                'format_type' => 'fieldset',
                'format_settings' => [
                  'description' => '',
                  'classes' => '',
                  'id' => '',
                  'required_fields' => FALSE,
                ],
              ],
            ],
          ],
        ];
      }
    }
    return $overrides;
  }

  /**
   * {@inheritdoc}
   */
  public function getCacheSuffix() {
    return 'SocialGroupWelcomeMessageConfigOverride';
  }

  /**
   * {@inheritdoc}
   */
  public function getCacheableMetadata($name) {
    return new CacheableMetadata();
  }

  /**
   * {@inheritdoc}
   */
  public function createConfigObject($name, $collection = StorageInterface::DEFAULT_COLLECTION) {
    return NULL;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
SocialGroupWelcomeMessageConfigOverride::$configFactory protected property The config factory.
SocialGroupWelcomeMessageConfigOverride::$moduleHandler protected property The module handler.
SocialGroupWelcomeMessageConfigOverride::createConfigObject public function Creates a configuration object for use during install and synchronization. Overrides ConfigFactoryOverrideInterface::createConfigObject
SocialGroupWelcomeMessageConfigOverride::getCacheableMetadata public function Gets the cacheability metadata associated with the config factory override. Overrides ConfigFactoryOverrideInterface::getCacheableMetadata
SocialGroupWelcomeMessageConfigOverride::getCacheSuffix public function The string to append to the configuration static cache name. Overrides ConfigFactoryOverrideInterface::getCacheSuffix
SocialGroupWelcomeMessageConfigOverride::loadOverrides public function Returns config overrides. Overrides ConfigFactoryOverrideInterface::loadOverrides
SocialGroupWelcomeMessageConfigOverride::__construct public function Constructs the configuration override.