Update to Drupal 8.0.0-beta15. For more information, see: https://www.drupal.org/node/2563023
This commit is contained in:
parent
2720a9ec4b
commit
f3791f1da3
1898 changed files with 54300 additions and 11481 deletions
|
@ -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,38 +308,19 @@ 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().
|
||||
*/
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -427,12 +415,12 @@ function language_form_alter(&$form, FormStateInterface $form_state) {
|
|||
// Content entity forms may have added a langcode field. But content language
|
||||
// configuration should decide if it should be exposed or not in the forms.
|
||||
$form_object = $form_state->getFormObject();
|
||||
if ($form_object instanceof ContentEntityFormInterface) {
|
||||
if ($form_object instanceof ContentEntityFormInterface && $form_object->getEntity()->getEntityType()->hasKey('langcode')) {
|
||||
/** @var \Drupal\Core\Entity\ContentEntityInterface $entity */
|
||||
$entity = $form_object->getEntity();
|
||||
$entity_type = $entity->getEntityType();
|
||||
$langcode_key = $entity_type->getKey('langcode');
|
||||
if (isset($form[$langcode_key]) && $entity_type->isTranslatable()) {
|
||||
if (isset($form[$langcode_key])) {
|
||||
$language_configuration = ContentLanguageSettings::loadByEntityTypeBundle($entity->getEntityTypeId(), $entity->bundle());
|
||||
$form[$langcode_key]['#access'] = $language_configuration->isLanguageAlterable();
|
||||
}
|
||||
|
|
Reference in a new issue