From 96b223676d6f3364530389d49d3518ac6748714d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Wed, 11 Mar 2015 15:47:24 +0100 Subject: [PATCH] Don't play with config values ... --- core/command/maintenance/install.php | 3 +-- lib/private/setup.php | 17 +++++++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/core/command/maintenance/install.php b/core/command/maintenance/install.php index 92a28425e5..eecdb08e62 100644 --- a/core/command/maintenance/install.php +++ b/core/command/maintenance/install.php @@ -40,9 +40,8 @@ class Install extends Command { protected function execute(InputInterface $input, OutputInterface $output) { // validate the environment - $this->config->setSystemValue('supportedDatabases', ['sqlite', 'mysql', 'pgsql', 'oci']); $setupHelper = new Setup($this->config, \OC::$server->getIniWrapper(), \OC::$server->getL10N('lib'), new \OC_Defaults()); - $sysInfo = $setupHelper->getSystemInfo(); + $sysInfo = $setupHelper->getSystemInfo(true); $errors = $sysInfo['errors']; if (count($errors) > 0) { $this->printErrors($output, $errors); diff --git a/lib/private/setup.php b/lib/private/setup.php index 1da42f0f8a..44b6ad56cb 100644 --- a/lib/private/setup.php +++ b/lib/private/setup.php @@ -68,10 +68,11 @@ class Setup { /** * Get the available and supported databases of this instance * - * @throws Exception + * @param bool $allowAllDatabases * @return array + * @throws Exception */ - public function getSupportedDatabases() { + public function getSupportedDatabases($allowAllDatabases = false) { $availableDatabases = array( 'sqlite' => array( 'type' => 'class', @@ -99,8 +100,12 @@ class Setup { 'name' => 'MS SQL' ) ); - $configuredDatabases = $this->config->getSystemValue('supportedDatabases', - array('sqlite', 'mysql', 'pgsql')); + if ($allowAllDatabases) { + $configuredDatabases = array_keys($availableDatabases); + } else { + $configuredDatabases = $this->config->getSystemValue('supportedDatabases', + array('sqlite', 'mysql', 'pgsql')); + } if(!is_array($configuredDatabases)) { throw new Exception('Supported databases are not properly configured.'); } @@ -131,8 +136,8 @@ class Setup { * @return array of system info, including an "errors" value * in case of errors/warnings */ - public function getSystemInfo() { - $databases = $this->getSupportedDatabases(); + public function getSystemInfo($allowAllDatabases = false) { + $databases = $this->getSupportedDatabases($allowAllDatabases); $dataDir = $this->config->getSystemValue('datadirectory', \OC::$SERVERROOT.'/data');