diff --git a/core/includes/update.inc b/core/includes/update.inc index f711507..c6ad929 100644 --- a/core/includes/update.inc +++ b/core/includes/update.inc @@ -218,8 +218,8 @@ function update_prepare_d8_language() { unset($language_default->language); } unset($language_default->enabled); - variable_set('language_default', $language_default); } + variable_set('language_default', (array) $language_default); } } diff --git a/core/lib/Drupal/Core/Language/Language.php b/core/lib/Drupal/Core/Language/Language.php index 3edb07d..b1d35f9 100644 --- a/core/lib/Drupal/Core/Language/Language.php +++ b/core/lib/Drupal/Core/Language/Language.php @@ -50,4 +50,16 @@ class Language { $this->$var = $value; } } + + /** + * Returns an array with some of the attributes of the class. + */ + public function toArray() { + $attributes = array('name', 'langcode', 'direction', 'enabled', 'weight', 'default'); + $return = array(); + foreach ($attributes as $attribute) { + $return[$attribute] = $this->{$attribute}; + } + return $return; + } } diff --git a/core/modules/language/language.module b/core/modules/language/language.module index 7acc783..c8162c8 100644 --- a/core/modules/language/language.module +++ b/core/modules/language/language.module @@ -184,7 +184,7 @@ function language_save($language) { if (!empty($language->default)) { // Set the new version of this language as default in a variable. $default_language = language_default(); - variable_set('language_default', $language); + variable_set('language_default', (array) $language); } // Update language count based on enabled language count. diff --git a/core/modules/language/lib/Drupal/language/Tests/LanguageDependencyInjectionTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguageDependencyInjectionTest.php index 39209f5..267a6ab 100644 --- a/core/modules/language/lib/Drupal/language/Tests/LanguageDependencyInjectionTest.php +++ b/core/modules/language/lib/Drupal/language/Tests/LanguageDependencyInjectionTest.php @@ -72,7 +72,7 @@ class LanguageDependencyInjectionTest extends WebTestBase { */ function testDependencyInjectedNewDefaultLanguage() { // Change the language default object to different values. - $new_language_default = (object) array( + $new_language_default = array( 'langcode' => 'fr', 'name' => 'French', 'direction' => 0, diff --git a/core/modules/language/lib/Drupal/language/Tests/LanguageUILanguageNegotiationTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguageUILanguageNegotiationTest.php index 3495548..cba4c13 100644 --- a/core/modules/language/lib/Drupal/language/Tests/LanguageUILanguageNegotiationTest.php +++ b/core/modules/language/lib/Drupal/language/Tests/LanguageUILanguageNegotiationTest.php @@ -93,7 +93,7 @@ class LanguageUILanguageNegotiationTest extends WebTestBase { // be some bug. drupal_static_reset('language_list'); $languages = language_list(); - variable_set('language_default', $languages['vi']); + variable_set('language_default', $languages['vi']->toArray()); // First visit this page to make sure our target string is searchable. $this->drupalGet('admin/config'); // Now the t()'ed string is in db so switch the language back to default.