summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/command/maintenance/install.php3
-rw-r--r--lib/private/setup.php17
2 files changed, 12 insertions, 8 deletions
diff --git a/core/command/maintenance/install.php b/core/command/maintenance/install.php
index 92a28425e50..eecdb08e620 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 1da42f0f8a4..44b6ad56cb8 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');