You are here

public function LanguageConfigOverride::save in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/language/src/Config/LanguageConfigOverride.php \Drupal\language\Config\LanguageConfigOverride::save()

Saves the configuration object.

Parameters

bool $has_trusted_data: Set to TRUE if the configuration data has already been checked to ensure it conforms to schema. Generally this is only used during module and theme installation.

Must invalidate the cache tags associated with the configuration object.

Return value

$this

Overrides StorableConfigBase::save

See also

\Drupal\Core\Config\ConfigInstaller::createConfiguration()

File

core/modules/language/src/Config/LanguageConfigOverride.php, line 53
Contains \Drupal\language\Config\LanguageConfigOverride.

Class

LanguageConfigOverride
Defines language configuration overrides.

Namespace

Drupal\language\Config

Code

public function save($has_trusted_data = FALSE) {
  if (!$has_trusted_data) {

    // @todo Use configuration schema to validate.
    //   https://www.drupal.org/node/2270399
    // Perform basic data validation.
    foreach ($this->data as $key => $value) {
      $this
        ->validateValue($key, $value);
    }
  }
  $this->storage
    ->write($this->name, $this->data);

  // Invalidate the cache tags not only when updating, but also when creating,
  // because a language config override object uses the same cache tag as the
  // default configuration object. Hence creating a language override is like
  // an update of configuration, but only for a specific language.
  Cache::invalidateTags($this
    ->getCacheTags());
  $this->isNew = FALSE;
  $this->eventDispatcher
    ->dispatch(LanguageConfigOverrideEvents::SAVE_OVERRIDE, new LanguageConfigOverrideCrudEvent($this));
  $this->originalData = $this->data;
  return $this;
}