/**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $io = new DrupalStyle($input, $output);
     $siteName = $input->getArgument('name');
     $directory = $input->getArgument('directory');
     $fileSystem = new Filesystem();
     if (!$fileSystem->exists($directory)) {
         $io->error(sprintf($this->trans('commands.site.import.local.messages.error-missing'), $directory));
         return 1;
     }
     $environment = $input->getOption('environment') ?: 'local';
     $siteConfig = [$environment => ['root' => $this->appRoot, 'host' => 'local']];
     $yaml = new Yaml();
     $dump = $yaml::dump($siteConfig);
     $userPath = sprintf('%s/.console/sites', $this->configurationManager->getHomeDirectory());
     $configFile = sprintf('%s/%s.yml', $userPath, $siteName);
     try {
         $fileSystem->dumpFile($configFile, $dump);
     } catch (\Exception $e) {
         $io->error(sprintf($this->trans('commands.site.import.local.messages.error-writing'), $e->getMessage()));
         return 1;
     }
     $io->success(sprintf($this->trans('commands.site.import.local.messages.imported')));
 }
示例#2
0
 protected function loadConfigurations($env)
 {
     $configFile = sprintf('%s/.console/site.mode.yml', $this->configurationManager->getHomeDirectory());
     if (!file_exists($configFile)) {
         $configFile = sprintf('%s/config/dist/site.mode.yml', $this->appRoot);
     }
     $siteModeConfiguration = Yaml::dump(file_get_contents($configFile));
     $configKeys = array_keys($siteModeConfiguration);
     $configurationSettings = [];
     foreach ($configKeys as $configKey) {
         $siteModeConfigurationItem = $siteModeConfiguration[$configKey];
         foreach ($siteModeConfigurationItem as $setting => $parameters) {
             foreach ($parameters as $parameter => $value) {
                 $configurationSettings[$configKey][$setting][$parameter] = $value[$env];
             }
         }
     }
     return $configurationSettings;
 }
示例#3
0
 public static function createFileCache(Reader $reader, ConfigurationManager $configurationManager)
 {
     return new FileCacheReader($reader, $configurationManager->getHomeDirectory() . '/.console/cache/annotations', false);
 }