public function ConfigImporterService::importConfigs in Config Importer and Tools 8.0
Same name and namespace in other branches
- 8.2 src/ConfigImporterService.php \Drupal\config_import\ConfigImporterService::importConfigs()
- 8 src/ConfigImporterService.php \Drupal\config_import\ConfigImporterService::importConfigs()
Import config files.
Parameters
array $files: Config files to import.
Overrides ConfigImporterServiceInterface::importConfigs
File
- src/
ConfigImporterService.php, line 151
Class
- ConfigImporterService
- Class ConfigImporterService.
Namespace
Drupal\config_importCode
public function importConfigs(array $files) {
// @todo The next string doesn't work during installation. Hardcode it.
// $uri = 'temporary://confi_tmp_' . $this->uuid->->generate();
$tmp_dir = '/tmp/confi_tmp_' . $this->uuid
->generate();
// Save current configuration and disable file cache for config import.
// @see https://www.drupal.org/node/2758325
$file_cache_config = FileCacheFactory::getConfiguration();
FileCacheFactory::setConfiguration([
FileCacheFactory::DISABLE_CACHE => TRUE,
]);
try {
$this
->export($tmp_dir);
} catch (Exception $e) {
throw new ConfigImporterException($e
->getMessage());
}
foreach ($files as $source) {
file_unmanaged_copy($source, $tmp_dir, FILE_EXISTS_REPLACE);
}
$this
->import($tmp_dir);
// Restore file cache settings.
FileCacheFactory::setConfiguration($file_cache_config);
}