summaryrefslogtreecommitdiffstatshomepage
path: root/core/modules/language/language.module
diff options
context:
space:
mode:
authorAlex Pott <alex.a.pott@googlemail.com>2015-08-06 17:08:24 +0100
committerAlex Pott <alex.a.pott@googlemail.com>2015-08-06 17:08:24 +0100
commit52e5d45ee2ce58b4bed22efe28e3421b66fb435f (patch)
tree8c7a2e2fe5bfd358cf1a6c26bd279a639f98b765 /core/modules/language/language.module
parent3a0002fc93c1713fb6e1bfc5e311e5db2f1bf1d6 (diff)
downloaddrupal-52e5d45ee2ce58b4bed22efe28e3421b66fb435f.tar.gz
drupal-52e5d45ee2ce58b4bed22efe28e3421b66fb435f.zip
Issue #2403229 by robertdbailey, andypost, penyaskito, Gábor Hojtsy: language.negotiation configuration can have overrides bleed in
Diffstat (limited to 'core/modules/language/language.module')
-rw-r--r--core/modules/language/language.module48
1 files changed, 18 insertions, 30 deletions
diff --git a/core/modules/language/language.module b/core/modules/language/language.module
index 75013656212..472931640d5 100644
--- a/core/modules/language/language.module
+++ b/core/modules/language/language.module
@@ -284,6 +284,9 @@ function language_get_default_langcode($entity_type, $bundle) {
/**
* Reads language prefixes and uses the langcode if no prefix is set.
+ *
+ * @deprecated in Drupal 8.0.x-dev, will be removed before Drupal 9.0.0.
+ * Use \Drupal::config('language.negotiation')->get('url.prefixes') instead.
*/
function language_negotiation_url_prefixes() {
return \Drupal::config('language.negotiation')->get('url.prefixes');
@@ -293,7 +296,8 @@ function language_negotiation_url_prefixes() {
* Update the list of prefixes from the installed languages.
*/
function language_negotiation_url_prefixes_update() {
- $prefixes = language_negotiation_url_prefixes();
+ $config = \Drupal::configFactory()->getEditable('language.negotiation');
+ $prefixes = $config->get('url.prefixes');
foreach (\Drupal::languageManager()->getLanguages() as $language) {
// The prefix for this language should be updated if it's not assigned yet
// or the prefix is set to the empty string.
@@ -304,39 +308,20 @@ function language_negotiation_url_prefixes_update() {
}
// Otherwise we keep the configured prefix.
}
- language_negotiation_url_prefixes_save($prefixes);
-}
-
-/**
- * Saves language prefix settings.
- */
-function language_negotiation_url_prefixes_save(array $prefixes) {
- // @todo https://www.drupal.org/node/2403229 $prefixes can contain
- // configuration overrides.
- \Drupal::configFactory()->getEditable('language.negotiation')
- ->set('url.prefixes', $prefixes)
- ->save();
+ $config->set('url.prefixes', $prefixes)->save();
}
/**
* Reads language domains.
+ *
+ * @deprecated in Drupal 8.0.x-dev, will be removed before Drupal 9.0.0.
+ * Use \Drupal::config('language.negotiation')->get('url.domains') instead.
*/
function language_negotiation_url_domains() {
return \Drupal::config('language.negotiation')->get('url.domains');
}
/**
- * Saves the language domain settings.
- */
-function language_negotiation_url_domains_save(array $domains) {
- // @todo https://www.drupal.org/node/2403229 $domains can contain
- // configuration overrides.
- \Drupal::configFactory()->getEditable('language.negotiation')
- ->set('url.domains', $domains)
- ->save();
-}
-
-/**
* Implements hook_modules_installed().
*/
function language_modules_installed($modules) {
@@ -376,9 +361,10 @@ function language_configurable_language_insert(ConfigurableLanguageInterface $la
}
// Add language to the list of language domains.
- $domains = language_negotiation_url_domains();
+ $config = \Drupal::configFactory()->getEditable('language.negotiation');
+ $domains = $config->get('url.domains');
$domains[$language->id()] = '';
- language_negotiation_url_domains_save($domains);
+ $config->set('url.domains', $domains)->save();
}
/**
@@ -386,14 +372,16 @@ function language_configurable_language_insert(ConfigurableLanguageInterface $la
*/
function language_configurable_language_delete(ConfigurableLanguageInterface $language) {
// Remove language from language prefix list.
- $prefixes = language_negotiation_url_prefixes();
+ $config = \Drupal::configFactory()->getEditable('language.negotiation');
+ $prefixes = $config->get('url.prefixes');
unset($prefixes[$language->id()]);
- language_negotiation_url_prefixes_save($prefixes);
+ $config->set('url.prefixes', $prefixes)->save();
// Remove language from language domain list.
- $domains = language_negotiation_url_domains();
+ $config = \Drupal::configFactory()->getEditable('language.negotiation');
+ $domains = $config->get('url.domains');
unset($domains[$language->id()]);
- language_negotiation_url_domains_save($domains);
+ $config->set('url.domains', $domains)->save();
}
/**