SocialGroupWelcomeMessageConfigOverride.php in Open Social 8.9
File
modules/social_features/social_group/modules/social_group_welcome_message/src/SocialGroupWelcomeMessageConfigOverride.php
View source
<?php
namespace Drupal\social_group_welcome_message;
use Drupal\Core\Cache\CacheableMetadata;
use Drupal\Core\Config\ConfigFactoryInterface;
use Drupal\Core\Config\ConfigFactoryOverrideInterface;
use Drupal\Core\Config\StorageInterface;
use Drupal\Core\Extension\ModuleHandlerInterface;
class SocialGroupWelcomeMessageConfigOverride implements ConfigFactoryOverrideInterface {
protected $configFactory;
protected $moduleHandler;
public function __construct(ConfigFactoryInterface $config_factory, ModuleHandlerInterface $module_handler) {
$this->configFactory = $config_factory;
$this->moduleHandler = $module_handler;
}
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;
}
public function getCacheSuffix() {
return 'SocialGroupWelcomeMessageConfigOverride';
}
public function getCacheableMetadata($name) {
return new CacheableMetadata();
}
public function createConfigObject($name, $collection = StorageInterface::DEFAULT_COLLECTION) {
return NULL;
}
}