diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc index 6d70110b16fd000814391a895dcbe068c67ada2a..867a37520f2675e569a15453fbd05573c7cd7355 100644 --- a/core/includes/bootstrap.inc +++ b/core/includes/bootstrap.inc @@ -418,18 +418,9 @@ function config_get_config_directory($type = CONFIG_ACTIVE_DIRECTORY) { global $config_directories; if (!empty($config_directories[$type])) { - // Allow a configuration directory path to be outside of webroot. - if (empty($config_directories[$type]['absolute'])) { - $path = conf_path() . '/files/' . $config_directories[$type]['path']; - } - else { - $path = $config_directories[$type]['path']; - } + return $config_directories[$type]; } - else { - throw new Exception(format_string('The configuration directory type %type does not exist.', array('%type' => $type))); - } - return $path; + throw new Exception(format_string('The configuration directory type %type does not exist.', array('%type' => $type))); } /** @@ -2293,7 +2284,7 @@ function _drupal_load_test_overrides($test_prefix) { $path_prefix = 'simpletest/' . substr($test_prefix, 10); $config_directories = array(); foreach (array(CONFIG_ACTIVE_DIRECTORY, CONFIG_STAGING_DIRECTORY) as $type) { - $config_directories[$type] = array('path' => $path_prefix . '/config_' . $type); + $config_directories[$type] = conf_path() . '/files/' . $path_prefix . '/config_' . $type; } // Check for and load a settings.php file in the simpletest files directory. diff --git a/core/includes/install.inc b/core/includes/install.inc index f6848c9eeaefd9d086f6ca94cb7d88f18910aad2..256c79e340c3de860698cd2c5192af526c8ce8cb 100644 --- a/core/includes/install.inc +++ b/core/includes/install.inc @@ -177,24 +177,20 @@ function drupal_get_database_types() { * and comment properties. * @code * $settings['config_directories'] = array( - * CONFIG_ACTIVE_DIRECTORY => array( - * 'path' => (object) array( - * 'value' => 'config__hash/active' - * 'required' => TRUE, - * ), + * CONFIG_ACTIVE_DIRECTORY => (object) array( + * 'value' => 'config_hash/active' + * 'required' => TRUE, * ), - * CONFIG_STAGING_DIRECTORY => array( - * 'path' => (object) array( - * 'value' => 'config_hash/staging', - * 'required' => TRUE, - * ), + * CONFIG_STAGING_DIRECTORY => (object) array( + * 'value' => 'config_hash/staging', + * 'required' => TRUE, * ), * ); * @endcode * gets dumped as: * @code - * $config_directories['active']['path'] = 'config__hash/active'; - * $config_directories['staging']['path'] = 'config__hash/staging' + * $config_directories['active'] = 'config_hash/active'; + * $config_directories['staging'] = 'config_hash/staging' * @endcode */ function drupal_rewrite_settings($settings = array(), $settings_file = NULL) { @@ -452,17 +448,13 @@ function drupal_install_config_directories($mode = NULL) { if (empty($config_directories)) { $config_directories_hash = Crypt::randomStringHashed(55); $settings['config_directories'] = array( - CONFIG_ACTIVE_DIRECTORY => array( - 'path' => (object) array( - 'value' => 'config_' . $config_directories_hash . '/active', - 'required' => TRUE, - ), + CONFIG_ACTIVE_DIRECTORY => (object) array( + 'value' => conf_path() . '/files/config_' . $config_directories_hash . '/active', + 'required' => TRUE, ), - CONFIG_STAGING_DIRECTORY => array( - 'path' => (object) array( - 'value' => 'config_' . $config_directories_hash . '/staging', - 'required' => TRUE, - ), + CONFIG_STAGING_DIRECTORY => (object) array( + 'value' => conf_path() . '/files/config_' . $config_directories_hash . '/staging', + 'required' => TRUE, ), ); // Rewrite settings.php, which also sets the value as global variable. diff --git a/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php b/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php index 70191d8179520f01b38f5ecc23d44725bdd5a432..2f794b2efd62baea3d79c018c01a349d9ff948e6 100644 --- a/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php +++ b/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php @@ -1012,14 +1012,14 @@ protected function prepareConfigDirectories() { include_once DRUPAL_ROOT . '/core/includes/install.inc'; foreach (array(CONFIG_ACTIVE_DIRECTORY, CONFIG_STAGING_DIRECTORY) as $type) { // Assign the relative path to the global variable. - $path = 'simpletest/' . substr($this->databasePrefix, 10) . '/config_' . $type; - $GLOBALS['config_directories'][$type]['path'] = $path; + $path = conf_path() . '/files/simpletest/' . substr($this->databasePrefix, 10) . '/config_' . $type; + $GLOBALS['config_directories'][$type] = $path; // Ensure the directory can be created and is writeable. if (!install_ensure_config_directory($type)) { return FALSE; } // Provide the already resolved path for tests. - $this->configDirectories[$type] = $this->originalFileDirectory . '/' . $path; + $this->configDirectories[$type] = $path; } } diff --git a/core/modules/system/lib/Drupal/system/Tests/Installer/InstallerTranslationTest.php b/core/modules/system/lib/Drupal/system/Tests/Installer/InstallerTranslationTest.php index 91e5485eb0b6ee69f8def56a808e1aae78a4ab41..addfc9e52d35940bfb456b00dcb2e21b2ef6dc8e 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Installer/InstallerTranslationTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Installer/InstallerTranslationTest.php @@ -108,9 +108,8 @@ protected function setUp() { // Reload config directories. include $this->public_files_directory . '/settings.php'; - $prefix = substr($this->public_files_directory, strlen(conf_path() . '/files/')); - foreach ($config_directories as $type => $data) { - $GLOBALS['config_directories'][$type]['path'] = $prefix . '/files/' . $data['path']; + foreach ($config_directories as $type => $path) { + $GLOBALS['config_directories'][$type] = $path; } $this->rebuildContainer(); diff --git a/core/modules/system/lib/Drupal/system/Tests/InstallerTest.php b/core/modules/system/lib/Drupal/system/Tests/InstallerTest.php index df8cec17ebfef632d22aec0cbe1cee98f6fa9e02..cda353781eaa0533254b3e5de4c7050e33ea9b38 100644 --- a/core/modules/system/lib/Drupal/system/Tests/InstallerTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/InstallerTest.php @@ -82,9 +82,8 @@ protected function setUp() { $this->drupalPostForm(NULL, array(), 'Save and continue'); // Reload config directories. include $this->public_files_directory . '/settings.php'; - $prefix = substr($this->public_files_directory, strlen(conf_path() . '/files/')); - foreach ($config_directories as $type => $data) { - $GLOBALS['config_directories'][$type]['path'] = $prefix . '/files/' . $data['path']; + foreach ($config_directories as $type => $path) { + $GLOBALS['config_directories'][$type] = $path; } $this->rebuildContainer(); diff --git a/sites/default/default.settings.php b/sites/default/default.settings.php index b3c54b329b8f55196379c25ecc07bc0fb6f34000..5a46b128009397f2793fc3f9ec248483fa00b9aa 100644 --- a/sites/default/default.settings.php +++ b/sites/default/default.settings.php @@ -246,14 +246,8 @@ * Example: * @code * $config_directories = array( - * CONFIG_ACTIVE_DIRECTORY => array( - * 'path' => '/some/directory/outside/webroot', - * 'absolute' => TRUE, - * ), - * CONFIG_STAGING_DIRECTORY => array( - * 'path' => '/another/directory/outside/webroot', - * 'absolute' => TRUE, - * ), + * CONFIG_ACTIVE_DIRECTORY => '/some/directory/outside/webroot', + * CONFIG_STAGING_DIRECTORY => '/another/directory/outside/webroot', * ); * @endcode */