}
}
-function db_query($link, $query) {
+function db_query($link, $query, $die_on_error = true) {
if (DB_TYPE == "pgsql") {
$result = pg_query($link, $query);
if (!$result) {
$query = htmlspecialchars($query); // just in case
- die("Query <i>$query</i> failed: " . pg_last_error($link));
+ if ($die_on_error) {
+ die("Query <i>$query</i> failed: " . pg_last_error($link));
+ }
}
return $result;
} else if (DB_TYPE == "mysql") {
$result = mysql_query($query, $link);
if (!$result) {
$query = htmlspecialchars($query);
- die("Query <i>$query</i> failed: " . mysql_error($link));
+ if ($die_on_error) {
+ die("Query <i>$query</i> failed: " . mysql_error($link));
+ }
}
return $result;
}
$ERRORS[8] = "Denied. Your access level is insufficient to access this page.";
$ERRORS[9] = "Configuration check failed";
+
+ $ERRORS[10] = "Your version of MySQL is not currently supported. Please see
+ official site for more information.";
?>
function sanity_check($link) {
+ error_reporting(0);
+
$error_code = 0;
$result = db_query($link, "SELECT schema_version FROM ttrss_version");
$schema_version = db_fetch_result($result, 0, "schema_version");
$error_code = 5;
}
+ if (DB_TYPE == "mysql") {
+ $result = db_query($link, "SELECT true", false);
+ if (db_num_rows($result) != 1) {
+ $error_code = 10;
+ }
+ }
+
+ error_reporting (DEFAULT_ERROR_LEVEL);
+
if ($error_code != 0) {
- print_error_xml(5);
+ print_error_xml($error_code);
return false;
} else {
return true;