diff --git a/core/core.services.yml b/core/core.services.yml index 64a9292..baf6fe4 100644 --- a/core/core.services.yml +++ b/core/core.services.yml @@ -74,10 +74,6 @@ services: factory_method: get factory_service: cache_factory arguments: [discovery] - config.cachedstorage.storage: - class: Drupal\Core\Config\FileStorage - factory_class: Drupal\Core\Config\FileStorageFactory - factory_method: getActive config.manager: class: Drupal\Core\Config\ConfigManager arguments: ['@entity.manager', '@config.factory', '@config.typed', '@string_translation', '@config.storage'] @@ -94,6 +90,10 @@ services: config.storage.active: class: Drupal\Core\Config\DatabaseStorage arguments: ['@database', 'config'] + config.storage.file: + class: Drupal\Core\Config\FileStorage + factory_class: Drupal\Core\Config\FileStorageFactory + factory_method: getActive config.storage.staging: class: Drupal\Core\Config\FileStorage factory_class: Drupal\Core\Config\FileStorageFactory diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc index 45d15be..09c340a 100644 --- a/core/includes/install.core.inc +++ b/core/includes/install.core.inc @@ -438,7 +438,7 @@ function install_begin_request(&$install_state) { // Ensure that the active configuration directory is empty before installation // starts. if ($install_state['config_verified'] && empty($task)) { - $config = Database::getConnection()->schema()->tableExists('config'); + $config = \Drupal::service('config.storage')->listAll(); if (!empty($config)) { $task = NULL; throw new AlreadyInstalledException($container->get('string_translation')); diff --git a/core/modules/config/lib/Drupal/config/Form/ConfigSingleExportForm.php b/core/modules/config/lib/Drupal/config/Form/ConfigSingleExportForm.php index 4b2b6f7..cdb76cc 100644 --- a/core/modules/config/lib/Drupal/config/Form/ConfigSingleExportForm.php +++ b/core/modules/config/lib/Drupal/config/Form/ConfigSingleExportForm.php @@ -164,7 +164,7 @@ public function updateExport($form, &$form_state) { $name = $form_state['values']['config_name']; } // Read the raw data for this config name, encode it, and display it. - $form['export']['#value'] = $this->dumper->dump($this->configStorage->read($name), PHP_INT_MAX, 0, TRUE); + $form['export']['#value'] = $this->dumper->dump($this->configStorage->read($name), PHP_INT_MAX); $form['export']['#description'] = $this->t('The filename is %name.', array('%name' => $name . '.yml')); return $form['export']; } diff --git a/core/modules/config/lib/Drupal/config/Tests/ConfigSingleImportExportTest.php b/core/modules/config/lib/Drupal/config/Tests/ConfigSingleImportExportTest.php index 5f1a416..b131d8a 100644 --- a/core/modules/config/lib/Drupal/config/Tests/ConfigSingleImportExportTest.php +++ b/core/modules/config/lib/Drupal/config/Tests/ConfigSingleImportExportTest.php @@ -8,7 +8,7 @@ namespace Drupal\config\Tests; use Drupal\simpletest\WebTestBase; -use Symfony\Component\Yaml\Yaml; +use Symfony\Component\Yaml\Dumper; /** * Tests the user interface for importing/exporting a single configuration. @@ -22,6 +22,13 @@ class ConfigSingleImportExportTest extends WebTestBase { */ public static $modules = array('config', 'config_test'); + /** + * The YAML dumper. + * + * @var \Symfony\Component\Yaml\Dumper + */ + protected $dumper; + public static function getInfo() { return array( 'name' => 'Configuration Single Import/Export UI', @@ -31,6 +38,15 @@ public static function getInfo() { } /** + * {@inheritdoc} + */ + protected function setUp() { + parent::setUp(); + $this->dumper = new Dumper(); + $this->dumper->setIndentation(2); + } + + /** * Tests importing a single configuration file. */ public function testImport() { @@ -111,12 +127,11 @@ public function testImport() { */ public function testImportSimpleConfiguration() { $this->drupalLogin($this->drupalCreateUser(array('import configuration'))); - $yaml = new Yaml(); $config = \Drupal::config('system.site')->set('name', 'Test simple import'); $edit = array( 'config_type' => 'system.simple', 'config_name' => $config->getName(), - 'import' => $yaml->dump($config->get()), + 'import' => $this->dumper->dump($config->get(), PHP_INT_MAX), ); $this->drupalPostForm('admin/config/development/configuration/single/import', $edit, t('Import')); $this->assertRaw(t('Are you sure you want to update the %name @type?', array('%name' => $config->getName(), '@type' => 'simple configuration'))); @@ -130,7 +145,6 @@ public function testImportSimpleConfiguration() { */ public function testExport() { $this->drupalLogin($this->drupalCreateUser(array('export configuration'))); - $yaml = new Yaml(); $this->drupalGet('admin/config/development/configuration/single/export/system.simple'); $this->assertFieldByXPath('//select[@name="config_type"]//option[@selected="selected"]', t('Simple configuration'), 'The simple configuration option is selected when specified in the URL.'); @@ -153,7 +167,7 @@ public function testExport() { $this->assertFieldByXPath('//select[@name="config_name"]//option[@selected="selected"]', t('Fallback date format'), 'The fallback date format config entity is selected when specified in the URL.'); $fallback_date = \Drupal::entityManager()->getStorage('date_format')->load('fallback'); - $data = $yaml->dump($fallback_date->toArray(), 2, 2); + $data = $this->dumper->dump($fallback_date->toArray(), PHP_INT_MAX); $this->assertFieldByXPath('//textarea[@name="export"]', $data, 'The fallback date format config entity export code is displayed.'); } diff --git a/sites/default/default.settings.php b/sites/default/default.settings.php index d9003ed..b2ce930 100644 --- a/sites/default/default.settings.php +++ b/sites/default/default.settings.php @@ -611,7 +611,7 @@ * The 'bootstrap_config_storage' setting needs to be a callable that returns * core.services.yml. */ - $settings['bootstrap_config_storage'] = array('Drupal\Core\Config\BootstrapConfigStorageFactory', 'getDatabaseStorage'); + # $settings['bootstrap_config_storage'] = array('Drupal\Core\Config\BootstrapConfigStorageFactory', 'getFileStorage'); /** * Configuration overrides.