X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FConsole%2FAutomaticInstallation.php;h=b3addbc288d2e36939d2c68cd174cdbddf963385;hb=c9ec2e21b3db208282b553fccdd425479f58bf0e;hp=8815b98799fbb854ced93fc0d124c71b09f83cd1;hpb=9b12d23a9cc72f10ab5f2d4d1ebdf3366ec4118d;p=friendica.git diff --git a/src/Console/AutomaticInstallation.php b/src/Console/AutomaticInstallation.php index 8815b98799..b3addbc288 100644 --- a/src/Console/AutomaticInstallation.php +++ b/src/Console/AutomaticInstallation.php @@ -1,37 +1,46 @@ . + * + */ namespace Friendica\Console; use Asika\SimpleConsole\Console; use Friendica\App; use Friendica\App\BaseURL; -use Friendica\Core\Config; +use Friendica\Core\Config\IConfig; +use Friendica\Core\Config\Cache; use Friendica\Core\Installer; use Friendica\Core\Theme; use Friendica\Database\Database; use Friendica\Util\BasePath; -use Friendica\Util\ConfigFileLoader; use RuntimeException; class AutomaticInstallation extends Console { - /** - * @var App\Mode - */ + /** @var App\Mode */ private $appMode; - /** - * @var Config\Cache\ConfigCache - */ + /** @var Cache */ private $configCache; - - /** - * @var Config\Configuration - */ + /** @var IConfig */ private $config; - - /** - * @var Database - */ + /** @var Database */ private $dba; protected function getHelp() @@ -89,32 +98,32 @@ Examples HELP; } - public function __construct(App\Mode $appMode, Config\Cache\ConfigCache $configCache, Config\Configuration $config, Database $dba, array $argv = null) + public function __construct(App\Mode $appMode, Cache $configCache, IConfig $config, Database $dba, array $argv = null) { parent::__construct($argv); - $this->appMode = $appMode; - $this->configCache =$configCache; - $this->config = $config; - $this->dba = $dba; + $this->appMode = $appMode; + $this->configCache = $configCache; + $this->config = $config; + $this->dba = $dba; } protected function doExecute() { // Initialise the app - $this->out("Initializing setup...\n"); + $this->out("Initializing setup..."); $installer = new Installer(); - $configCache = $this->configCache; + $configCache = $this->configCache; $basePathConf = $configCache->get('system', 'basepath'); - $basepath = new BasePath($basePathConf); + $basepath = new BasePath($basePathConf); $installer->setUpCache($configCache, $basepath->getPath()); - $this->out(" Complete!\n\n"); + $this->out(" Complete!\n"); // Check Environment - $this->out("Checking environment...\n"); + $this->out("Checking environment..."); $installer->resetChecks(); @@ -123,24 +132,26 @@ HELP; throw new RuntimeException($errorMessage); } - $this->out(" Complete!\n\n"); + $this->out(" Complete!\n"); // if a config file is set, $config_file = $this->getOption(['f', 'file']); if (!empty($config_file)) { - + $this->out("Loading config file '$config_file'..."); if (!file_exists($config_file)) { - throw new RuntimeException("ERROR: Config file does not exist.\n"); + throw new RuntimeException("ERROR: Config file does not exist."); } - //reload the config cache - $loader = new ConfigFileLoader($config_file); - $loader->setupCache($configCache); - + //append config file to the config cache + $config = include($config_file); + if (!is_array($config)) { + throw new Exception('Error loading config file ' . $config_file); + } + $configCache->load($config, Cache::SOURCE_FILE); } else { // Creating config file - $this->out("Creating config file...\n"); + $this->out("Creating config file..."); $save_db = $this->getOption(['s', 'savedb'], false); @@ -192,10 +203,10 @@ HELP; $installer->createConfig($configCache); } - $this->out("Complete!\n\n"); + $this->out(" Complete!\n"); // Check database connection - $this->out("Checking database...\n"); + $this->out("Checking database..."); $installer->resetChecks(); @@ -204,7 +215,7 @@ HELP; throw new RuntimeException($errorMessage); } - $this->out(" Complete!\n\n"); + $this->out(" Complete!\n"); // Install database $this->out("Inserting data into database...\n"); @@ -218,41 +229,41 @@ HELP; if (!empty($config_file) && $config_file != 'config' . DIRECTORY_SEPARATOR . 'local.config.php') { // Copy config file - $this->out("Copying config file...\n"); - if (!copy($basePathConf . DIRECTORY_SEPARATOR . $config_file, $basePathConf . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.config.php')) { + $this->out("Copying config file..."); + if (!copy($config_file, $basePathConf . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.config.php')) { throw new RuntimeException("ERROR: Saving config file failed. Please copy '$config_file' to '" . $basePathConf . "'" . DIRECTORY_SEPARATOR . "config" . DIRECTORY_SEPARATOR . "local.config.php' manually.\n"); } } - $this->out(" Complete!\n\n"); + $this->out(" Complete!\n"); // Install theme - $this->out("Installing theme\n"); + $this->out("Installing theme"); if (!empty($this->config->get('system', 'theme'))) { Theme::install($this->config->get('system', 'theme')); - $this->out(" Complete\n\n"); + $this->out(" Complete\n"); } else { - $this->out(" Theme setting is empty. Please check the file 'config/local.config.php'\n\n"); + $this->out(" Theme setting is empty. Please check the file 'config/local.config.php'\n"); } - $this->out("\nInstallation is finished\n"); + $this->out("\nInstallation is finished"); return 0; } /** - * @param Installer $installer The Installer instance - * @param Config\Cache\ConfigCache $configCache The config cache + * @param Installer $installer The Installer instance + * @param Cache $configCache The config cache * * @return bool true if checks were successfully, otherwise false * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ - private function runBasicChecks(Installer $installer, Config\Cache\ConfigCache $configCache) + private function runBasicChecks(Installer $installer, Cache $configCache) { $checked = true; $installer->resetChecks(); - if (!$installer->checkFunctions()) { + if (!$installer->checkFunctions()) { $checked = false; } if (!$installer->checkImagick()) { @@ -281,11 +292,12 @@ HELP; /** * @param array $results + * * @return string */ private function extractErrors($results) { - $errorMessage = ''; + $errorMessage = ''; $allChecksRequired = $this->getOption('a') !== null; foreach ($results as $result) {