From d8781c912dc0476af3ac7b858aedf6f3089e604e Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 5 Feb 2009 21:59:23 +0300 Subject: offline: store cat_id in feeds table, backend: output category info --- modules/backend-rpc.php | 25 +++++++++++++++++++++---- offline.js | 15 +++++++++------ 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php index eac84afa5..edc167695 100644 --- a/modules/backend-rpc.php +++ b/modules/backend-rpc.php @@ -530,22 +530,39 @@ if ($stage == 0) { print ""; - $reply = array(); - - $result = db_query($link, "SELECT id, title FROM + $result = db_query($link, "SELECT id, title, cat_id FROM ttrss_feeds WHERE owner_uid = ".$_SESSION["uid"]); while ($line = db_fetch_assoc($result)) { $has_icon = (int) feed_has_icon($line["id"]); - print ""; } print ""; + print ""; + + $result = db_query($link, "SELECT id, title FROM + ttrss_feed_categories WHERE owner_uid = ".$_SESSION["uid"]); + + print ""; + + while ($line = db_fetch_assoc($result)) { + print ""; + } + + print ""; + + } if ($stage > 0) { diff --git a/offline.js b/offline.js index a6f830bb9..ff65a76d9 100644 --- a/offline.js +++ b/offline.js @@ -1,4 +1,4 @@ -var SCHEMA_VERSION = 3; +var SCHEMA_VERSION = 4; var offline_mode = false; var store = false; @@ -543,10 +543,11 @@ function offline_download_parse(stage, transport) { var id = feeds[i].getAttribute("id"); var has_icon = feeds[i].getAttribute("has_icon"); var title = feeds[i].firstChild.nodeValue; - - db.execute("INSERT INTO feeds (id,title,has_icon)"+ - "VALUES (?,?,?)", - [id, title, has_icon]); + var cat_id = feeds[i].getAttribute("cat_id"); + + db.execute("INSERT INTO feeds (id,title,has_icon,cat_id)"+ + "VALUES (?,?,?, ?)", + [id, title, has_icon, cat_id]); } 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 cache"); 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 version"); 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 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("DELETE FROM cache WHERE id LIKE 'F:%' OR id LIKE 'C:%'"); -- cgit v1.2.3