translator = $translator; } public function execute() { $results = array(); $results[] = $this->checkPdo(); $results = array_merge($results, $this->checkDbAdapters()); return $results; } private function checkPdo() { $label = 'PDO ' . $this->translator->translate('Installation_Extension'); if (extension_loaded('PDO')) { $status = DiagnosticResult::STATUS_OK; } else { $status = DiagnosticResult::STATUS_WARNING; } return DiagnosticResult::singleResult($label, $status); } private function checkDbAdapters() { $results = array(); $adapters = Adapter::getAdapters(); foreach ($adapters as $adapter => $port) { $label = $adapter . ' ' . $this->translator->translate('Installation_Extension'); $results[] = DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_OK); } if (empty($adapters)) { $label = $this->translator->translate('Installation_SystemCheckDatabaseExtensions'); $comment = $this->translator->translate('Installation_SystemCheckDatabaseHelp'); $result = DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_ERROR, $comment); $result->setLongErrorMessage($this->getLongErrorMessage()); $results[] = $result; } return $results; } private function getLongErrorMessage() { $message = '
';
if (SettingsServer::isWindows()) {
$message .= $this->translator->translate(
'Installation_SystemCheckWinPdoAndMysqliHelp',
array('extension=php_mysqli.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll
')
);
} else {
$message .= $this->translator->translate(
'Installation_SystemCheckPdoAndMysqliHelp',
array(
'--with-mysqli
--with-pdo-mysql
',
'extension=mysqli.so
extension=pdo.so
extension=pdo_mysql.so
'
)
);
}
$message .= $this->translator->translate('Installation_RestartWebServer') . '
';
$message .= $this->translator->translate('Installation_SystemCheckPhpPdoAndMysqli', array(
'',
'',
'',
'',
));
$message .= '