The names of drivers that appear to be unavailable are bracketed.
public checkDBDrivers ( ) : array | ||
return | array |
/** * Read installation parameters from stdin. * FIXME: May want to implement an abstract "CLIForm" class handling input/validation. * FIXME: Use readline if available? */ function readParams() { $installForm = new InstallForm(null); // Request object not available to CLI // Locale Settings $this->printTitle('installer.localeSettings'); $this->readParamOptions('locale', 'locale.primary', $installForm->supportedLocales, 'en_US'); $this->readParamOptions('additionalLocales', 'installer.additionalLocales', $installForm->supportedLocales, '', true); $this->readParamOptions('clientCharset', 'installer.clientCharset', $installForm->supportedClientCharsets, 'utf-8'); $this->readParamOptions('connectionCharset', 'installer.connectionCharset', $installForm->supportedConnectionCharsets, ''); $this->readParamOptions('databaseCharset', 'installer.databaseCharset', $installForm->supportedDatabaseCharsets, ''); // File Settings $this->printTitle('installer.fileSettings'); $this->readParam('filesDir', 'installer.filesDir'); // Security Settings $this->printTitle('installer.securitySettings'); $this->readParamOptions('encryption', 'installer.encryption', $installForm->supportedEncryptionAlgorithms, 'md5'); // Administrator Account $this->printTitle('installer.administratorAccount'); $this->readParam('adminUsername', 'user.username'); @`/bin/stty -echo`; do { $this->readParam('adminPassword', 'user.password'); printf("\n"); $this->readParam('adminPassword2', 'user.repeatPassword'); printf("\n"); } while ($this->params['adminPassword'] != $this->params['adminPassword2']); @`/bin/stty echo`; $this->readParam('adminEmail', 'user.email'); // Database Settings $this->printTitle('installer.databaseSettings'); $this->readParamOptions('databaseDriver', 'installer.databaseDriver', $installForm->checkDBDrivers()); $this->readParam('databaseHost', 'installer.databaseHost', ''); $this->readParam('databaseUsername', 'installer.databaseUsername', ''); $this->readParam('databasePassword', 'installer.databasePassword', ''); $this->readParam('databaseName', 'installer.databaseName'); $this->readParamBoolean('createDatabase', 'installer.createDatabase', 'Y'); // Miscellaneous Settings $this->printTitle('installer.miscSettings'); $this->readParam('oaiRepositoryId', 'installer.oaiRepositoryId'); printf("\n*** "); }
/** * Read installation parameters from stdin. * FIXME: May want to implement an abstract "CLIForm" class handling input/validation. * FIXME: Use readline if available? */ function readParams() { if (checkPhpVersion('5.0.0')) { // WARNING: This form needs $this in constructor $installForm = new InstallForm(); } else { $installForm =& new InstallForm(); } // Locale Settings $this->printTitle('installer.localeSettings'); $this->readParamOptions('locale', 'locale.primary', $installForm->supportedLocales, 'en_US'); $this->readParamOptions('additionalLocales', 'installer.additionalLocales', $installForm->supportedLocales, '', true); $this->readParamOptions('clientCharset', 'installer.clientCharset', $installForm->supportedClientCharsets, 'utf-8'); $this->readParamOptions('connectionCharset', 'installer.connectionCharset', $installForm->supportedConnectionCharsets, ''); $this->readParamOptions('databaseCharset', 'installer.databaseCharset', $installForm->supportedDatabaseCharsets, ''); // File Settings $this->printTitle('installer.fileSettings'); $this->readParam('filesDir', 'installer.filesDir'); $this->readParamBoolean('skipFilesDir', 'installer.skipFilesDir'); // Security Settings $this->printTitle('installer.securitySettings'); $this->readParamOptions('encryption', 'installer.encryption', $installForm->supportedEncryptionAlgorithms, 'md5'); // Administrator Account $this->printTitle('installer.administratorAccount'); $this->readParam('adminUsername', 'user.username'); @`/bin/stty -echo`; $this->readParam('adminPassword', 'user.password'); printf("\n"); do { $this->readParam('adminPassword2', 'user.register.repeatPassword'); printf("\n"); } while ($this->params['adminPassword'] != $this->params['adminPassword2']); @`/bin/stty echo`; $this->readParam('adminEmail', 'user.email'); // Database Settings $this->printTitle('installer.databaseSettings'); $this->readParamOptions('databaseDriver', 'installer.databaseDriver', $installForm->checkDBDrivers()); $this->readParam('databaseHost', 'installer.databaseHost', ''); $this->readParam('databaseUsername', 'installer.databaseUsername', ''); $this->readParam('databasePassword', 'installer.databasePassword', ''); $this->readParam('databaseName', 'installer.databaseName'); $this->readParamBoolean('createDatabase', 'installer.createDatabase', 'Y'); // Miscellaneous Settings $this->printTitle('installer.miscSettings'); $this->readParam('oaiRepositoryId', 'installer.oaiRepositoryId'); $this->readParamBoolean('manualInstall', 'installer.manualInstall'); printf("\n*** "); }