perform backend sanity check on startup, update schema version in backend.php
This commit is contained in:
parent
1089b16bc2
commit
295f9b422a
19
backend.php
19
backend.php
|
@ -1,5 +1,5 @@
|
||||||
<?
|
<?
|
||||||
define(SCHEMA_VERSION, 1);
|
define(SCHEMA_VERSION, 2);
|
||||||
|
|
||||||
$op = $_GET["op"];
|
$op = $_GET["op"];
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@
|
||||||
pg_query("set client_encoding = 'utf-8'");
|
pg_query("set client_encoding = 'utf-8'");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
$result = db_query($link, "SELECT schema_version FROM ttrss_version");
|
$result = db_query($link, "SELECT schema_version FROM ttrss_version");
|
||||||
|
|
||||||
$schema_version = db_fetch_result($result, 0, "schema_version");
|
$schema_version = db_fetch_result($result, 0, "schema_version");
|
||||||
|
@ -37,6 +38,7 @@
|
||||||
(got version $schema_version; expected ".SCHEMA_VERSION.")";
|
(got version $schema_version; expected ".SCHEMA_VERSION.")";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
$fetch = $_GET["fetch"];
|
$fetch = $_GET["fetch"];
|
||||||
|
|
||||||
|
@ -360,6 +362,21 @@
|
||||||
|
|
||||||
print "Marked active page as read.";
|
print "Marked active page as read.";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($subop == "sanityCheck") {
|
||||||
|
|
||||||
|
$error_code = 0;
|
||||||
|
|
||||||
|
$result = db_query($link, "SELECT schema_version FROM ttrss_version");
|
||||||
|
|
||||||
|
$schema_version = db_fetch_result($result, 0, "schema_version");
|
||||||
|
|
||||||
|
if ($schema_version != SCHEMA_VERSION) {
|
||||||
|
$error_code = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
print "<error code='$error_code'/>";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($op == "feeds") {
|
if ($op == "feeds") {
|
||||||
|
|
|
@ -416,4 +416,7 @@ function hideOrShowFeeds(doc, hide) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function fatalError(code) {
|
||||||
|
window.location = "error.php?c=" + param_escape(code);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -497,3 +497,9 @@ ul.nomarks {
|
||||||
padding : 10px;
|
padding : 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div.bigErrorMsg {
|
||||||
|
border : 1px solid #c0c0c0;
|
||||||
|
background : #fff0f0;
|
||||||
|
padding : 30px;
|
||||||
|
margin : 20px;
|
||||||
|
}
|
||||||
|
|
55
tt-rss.js
55
tt-rss.js
|
@ -121,6 +121,32 @@ function refetch_callback() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function backend_sanity_check_callback() {
|
||||||
|
|
||||||
|
if (xmlhttp.readyState == 4) {
|
||||||
|
|
||||||
|
if (!xmlhttp.responseXML) {
|
||||||
|
fatalError(3);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var reply = xmlhttp.responseXML.firstChild;
|
||||||
|
|
||||||
|
if (!reply) {
|
||||||
|
fatalError(3);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var error_code = reply.getAttribute("code");
|
||||||
|
|
||||||
|
if (error_code && error_code != 0) {
|
||||||
|
return fatalError(error_code);
|
||||||
|
}
|
||||||
|
|
||||||
|
init_second_stage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function updateFeed(feed_id) {
|
function updateFeed(feed_id) {
|
||||||
|
|
||||||
var query_str = "backend.php?op=rpc&subop=updateFeed&feed=" + feed_id;
|
var query_str = "backend.php?op=rpc&subop=updateFeed&feed=" + feed_id;
|
||||||
|
@ -297,7 +323,15 @@ function updateTitle(s) {
|
||||||
|
|
||||||
function genericSanityCheck() {
|
function genericSanityCheck() {
|
||||||
|
|
||||||
if (!xmlhttp) {
|
if (!xmlhttp) fatalError(1);
|
||||||
|
|
||||||
|
setCookie("ttrss_vf_test", "TEST");
|
||||||
|
|
||||||
|
if (getCookie("ttrss_vf_test") != "TEST") {
|
||||||
|
fatalError(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* if (!xmlhttp) {
|
||||||
document.getElementById("headlines").innerHTML =
|
document.getElementById("headlines").innerHTML =
|
||||||
"<b>Fatal error:</b> This program requires XmlHttpRequest " +
|
"<b>Fatal error:</b> This program requires XmlHttpRequest " +
|
||||||
"to function properly. Your browser doesn't seem to support it.";
|
"to function properly. Your browser doesn't seem to support it.";
|
||||||
|
@ -312,7 +346,7 @@ function genericSanityCheck() {
|
||||||
"to function properly. Your browser doesn't seem to support them.";
|
"to function properly. Your browser doesn't seem to support them.";
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
} */
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -324,14 +358,19 @@ function init() {
|
||||||
if (!genericSanityCheck())
|
if (!genericSanityCheck())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
xmlhttp.open("GET", "backend.php?op=rpc&subop=sanityCheck", true);
|
||||||
|
xmlhttp.onreadystatechange=backend_sanity_check_callback;
|
||||||
|
xmlhttp.send(null);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function init_second_stage() {
|
||||||
|
|
||||||
setCookie("ttrss_vf_actfeed", "");
|
setCookie("ttrss_vf_actfeed", "");
|
||||||
|
|
||||||
updateFeedList(false, false);
|
updateFeedList(false, false);
|
||||||
document.onkeydown = hotkey_handler;
|
document.onkeydown = hotkey_handler;
|
||||||
|
|
||||||
setTimeout("timeout()", 1800*1000);
|
|
||||||
scheduleFeedUpdate(true);
|
|
||||||
|
|
||||||
var content = document.getElementById("content");
|
var content = document.getElementById("content");
|
||||||
|
|
||||||
if (getCookie("ttrss_vf_vmode")) {
|
if (getCookie("ttrss_vf_vmode")) {
|
||||||
|
@ -348,6 +387,10 @@ function init() {
|
||||||
// viewfeed(getCookie("ttrss_vf_actfeed"), 0, '');
|
// viewfeed(getCookie("ttrss_vf_actfeed"), 0, '');
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
setTimeout("timeout()", 2*1000);
|
||||||
|
// scheduleFeedUpdate(true);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function quickMenuGo() {
|
function quickMenuGo() {
|
||||||
|
@ -493,3 +536,5 @@ function toggleDispRead() {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue