]> git.wh0rd.org - tt-rss.git/commitdiff
offline: store cat_id in feeds table, backend: output category info
authorAndrew Dolgov <fox@bah.org.ru>
Thu, 5 Feb 2009 18:59:23 +0000 (21:59 +0300)
committerAndrew Dolgov <fox@bah.org.ru>
Thu, 5 Feb 2009 18:59:23 +0000 (21:59 +0300)
modules/backend-rpc.php
offline.js

index eac84afa510814666241092f9c435f0bc4d423a3..edc167695c51367d3ef804a4fc205acde40fbe78 100644 (file)
                        if ($stage == 0) {
                                print "<feeds>";
 
-                               $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 "<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 "]]></feed>";
                                }
 
                                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) {
index a6f830bb9a394f9b857859c82a0ddf0590b4005e..ff65a76d9e1a24b349e2c9688155ae1205639f1c 100644 (file)
@@ -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:%'");