protected function checkDatabaseSettings($user, $password, $dbname, $host)
{
$config = new \Elgg\Database\Config((object) ['dbhost' => $host, 'dbuser' => $user, 'dbpass' => $password, 'dbname' => $dbname]);
$db = new \Elgg\Database($config);
try {
$db->getDataRow("SELECT 1");
} catch (DatabaseException $e) {
if (0 === strpos($e->getMessage(), "Elgg couldn't connect")) {
register_error(_elgg_services()->translator->translate('install:error:databasesettings'));
} else {
register_error(_elgg_services()->translator->translate('install:error:nodatabase', array($dbname)));
}
return FALSE;
}
// check MySQL version - must be 5.0 or >
$version = $db->getServerVersion(\Elgg\Database\Config::READ_WRITE);
$required_version = 5.0;
$points = explode('.', $version);
if ($points[0] < $required_version) {
register_error(_elgg_services()->translator->translate('install:error:oldmysql', array($version)));
return FALSE;
}
return TRUE;
}