/** * @param array $scriptFolders * @param string $contaoRootFolder */ public function __construct(array $scriptFolders, $contaoRootFolder = null) { $this->_contaoRootFolder = $contaoRootFolder; if (OperatingSystem::isWindows()) { $this->_homeScriptFolder = OperatingSystem::getHomeDir() . '/imi-conrun/scripts'; } else { $this->_homeScriptFolder = OperatingSystem::getHomeDir() . '/.imi-conrun/scripts'; } $this->_scriptFolders = $scriptFolders; $this->_scriptFolders[] = $this->_homeScriptFolder; foreach ($this->_scriptFolders as $key => $scriptFolder) { if (!is_dir($scriptFolder)) { unset($this->_scriptFolders[$key]); } } if (count($this->_scriptFolders)) { $this->findScripts(); } }
/** * Check if there is a user config file. ~/.imi-conrun.yaml * * @param array $config * @param string $contaoRootFolder * * @return array */ public function loadUserConfig($config, $contaoRootFolder = null) { if ($this->_userConfig == null) { $this->_userConfig = array(); $homeDirectory = OperatingSystem::getHomeDir(); if (OperatingSystem::isWindows()) { $personalConfigFile = $homeDirectory . DIRECTORY_SEPARATOR . $this->_customConfigFilename; } else { $personalConfigFile = $homeDirectory . DIRECTORY_SEPARATOR . '.' . $this->_customConfigFilename; } if ($homeDirectory && file_exists($personalConfigFile)) { $userConfig = $this->applyVariables(\file_get_contents($personalConfigFile), $contaoRootFolder, null); $this->_userConfig = Yaml::parse($userConfig); return $config; } } $config = ArrayFunctions::mergeArrays($config, $this->_userConfig); return $config; }
/** * @param InputInterface $input * @return string */ protected function _checkRootDirOption(InputInterface $input) { $definedRootDir = $input->getParameterOption('--root-dir'); if (!empty($definedRootDir)) { if ($definedRootDir[0] == '~') { $definedRootDir = OperatingSystem::getHomeDir() . substr($definedRootDir, 1); } $folder = realpath($definedRootDir); $this->_directRootDir = true; if (is_dir($folder)) { \chdir($folder); return; } } }