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);
/**
* 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',
'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.');
}
* @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');