domain_sites-1.0.x-dev/src/DomainSitesConfigManager.php

src/DomainSitesConfigManager.php
<?php

namespace Drupal\domain_sites;

use Drupal\Core\Config\ConfigFactoryInterface;

/**
 * Config functions for domain sites.
 */
class DomainSitesConfigManager implements DomainSitesConfigManagerInterface {

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

  /**
   * Constructs an DomainSitesConfigManager object.
   *
   * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
   *   The config factory.
   */
  public function __construct(ConfigFactoryInterface $config_factory) {
    $this->configFactory = $config_factory;
  }

  /**
   * {@inheritdoc}
   */
  public function getDomainConfigNameByType(string $type, string $domain_id): string {
    switch ($type) {
      case 'domain_config':
        return 'domain.config.' . $domain_id . '.system.site';

      case 'domain_access_logo':
        return 'domain_access_logo.settings';

      case 'domain_sites':
        return 'domain_sites.' . $domain_id . '.settings';

      default:
        return 'domain.record.' . $domain_id;
    }
  }

  /**
   * {@inheritdoc}
   */
  public function updateDomainConfig(string $config_name, array $values): void {
    $config = $this->configFactory->getEditable($config_name);

    foreach ($values as $key => $value) {
      $config->set($key, $value);
    }

    $config->save();
  }

}

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

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