offline: store cat_id in feeds table, backend: output category info

master
Andrew Dolgov 16 years ago
parent 3ab1826661
commit d8781c912d

@ -530,22 +530,39 @@
if ($stage == 0) { if ($stage == 0) {
print "<feeds>"; print "<feeds>";
$reply = array(); $result = db_query($link, "SELECT id, title, cat_id FROM
$result = db_query($link, "SELECT id, title FROM
ttrss_feeds WHERE owner_uid = ".$_SESSION["uid"]); ttrss_feeds WHERE owner_uid = ".$_SESSION["uid"]);
while ($line = db_fetch_assoc($result)) { while ($line = db_fetch_assoc($result)) {
$has_icon = (int) feed_has_icon($line["id"]); $has_icon = (int) feed_has_icon($line["id"]);
print "<feed has_icon=\"$has_icon\" id=\"".$line["id"]."\"><![CDATA["; print "<feed has_icon=\"$has_icon\"
cat_id=\"".(int)$line["cat_id"]."\" id=\"".$line["id"]."\"><![CDATA[";
print $line["title"]; print $line["title"];
print "]]></feed>"; print "]]></feed>";
} }
print "</feeds>"; print "</feeds>";
print "<feed-categories>";
$result = db_query($link, "SELECT id, title FROM
ttrss_feed_categories WHERE owner_uid = ".$_SESSION["uid"]);
print "<category id=\"0\"><![CDATA[";
print __("Uncategorized");
print "]]></category>";
while ($line = db_fetch_assoc($result)) {
print "<category id=\"".$line["id"]."\"><![CDATA[";
print $line["title"];
print "]]></category>";
}
print "</feed-categories>";
} }
if ($stage > 0) { if ($stage > 0) {

@ -1,4 +1,4 @@
var SCHEMA_VERSION = 3; var SCHEMA_VERSION = 4;
var offline_mode = false; var offline_mode = false;
var store = false; var store = false;
@ -543,10 +543,11 @@ function offline_download_parse(stage, transport) {
var id = feeds[i].getAttribute("id"); var id = feeds[i].getAttribute("id");
var has_icon = feeds[i].getAttribute("has_icon"); var has_icon = feeds[i].getAttribute("has_icon");
var title = feeds[i].firstChild.nodeValue; var title = feeds[i].firstChild.nodeValue;
var cat_id = feeds[i].getAttribute("cat_id");
db.execute("INSERT INTO feeds (id,title,has_icon)"+ db.execute("INSERT INTO feeds (id,title,has_icon,cat_id)"+
"VALUES (?,?,?)", "VALUES (?,?,?, ?)",
[id, title, has_icon]); [id, title, has_icon, cat_id]);
} }
window.setTimeout("update_offline_data("+(stage+1)+")", 10*1000); window.setTimeout("update_offline_data("+(stage+1)+")", 10*1000);
@ -777,6 +778,7 @@ function init_gears() {
db.execute("DROP TABLE IF EXISTS init_params"); db.execute("DROP TABLE IF EXISTS init_params");
db.execute("DROP TABLE IF EXISTS cache"); db.execute("DROP TABLE IF EXISTS cache");
db.execute("DROP TABLE IF EXISTS feeds"); db.execute("DROP TABLE IF EXISTS feeds");
db.execute("DROP TABLE IF EXISTS categories");
db.execute("DROP TABLE IF EXISTS articles"); db.execute("DROP TABLE IF EXISTS articles");
db.execute("DROP TABLE IF EXISTS version"); db.execute("DROP TABLE IF EXISTS version");
db.execute("CREATE TABLE IF NOT EXISTS version (schema_version text)"); db.execute("CREATE TABLE IF NOT EXISTS version (schema_version text)");
@ -787,7 +789,8 @@ function init_gears() {
db.execute("CREATE TABLE IF NOT EXISTS init_params (key text, value text)"); db.execute("CREATE TABLE IF NOT EXISTS init_params (key text, value text)");
db.execute("CREATE TABLE IF NOT EXISTS cache (id text, article text, param text, added text)"); db.execute("CREATE TABLE IF NOT EXISTS cache (id text, article text, param text, added text)");
db.execute("CREATE TABLE IF NOT EXISTS feeds (id integer, title text, has_icon integer)"); db.execute("CREATE TABLE IF NOT EXISTS feeds (id integer, title text, has_icon integer, cat_id integer)");
db.execute("CREATE TABLE IF NOT EXISTS categories (id integer, title text)");
db.execute("CREATE TABLE IF NOT EXISTS articles (id integer, feed_id integer, title text, link text, guid text, updated text, content text, tags text, unread text, marked text, added text, comments text)"); db.execute("CREATE TABLE IF NOT EXISTS articles (id integer, feed_id integer, title text, link text, guid text, updated text, content text, tags text, unread text, marked text, added text, comments text)");
db.execute("DELETE FROM cache WHERE id LIKE 'F:%' OR id LIKE 'C:%'"); db.execute("DELETE FROM cache WHERE id LIKE 'F:%' OR id LIKE 'C:%'");

Loading…
Cancel
Save