summaryrefslogtreecommitdiff
path: root/offline.js
diff options
context:
space:
mode:
Diffstat (limited to 'offline.js')
-rw-r--r--offline.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/offline.js b/offline.js
index a46702144..04262bfba 100644
--- a/offline.js
+++ b/offline.js
@@ -1,3 +1,8 @@
+var offline_mode = false;
+var store = false;
+var localServer = false;
+var db = false;
+
function view_offline(id, feed_id) {
try {
@@ -547,4 +552,48 @@ function get_local_feed_unread(id) {
}
}
+function init_gears() {
+ try {
+
+ if (window.google && google.gears) {
+ localServer = google.gears.factory.create("beta.localserver");
+ store = localServer.createManagedStore("tt-rss");
+ db = google.gears.factory.create('beta.database');
+ db.open('tt-rss');
+
+ db.execute("CREATE TABLE IF NOT EXISTS version (schema_version text)");
+
+ var rs = db.execute("SELECT schema_version FROM version");
+
+ var version = "";
+
+ if (rs.isValidRow()) {
+ version = rs.field(0);
+ }
+
+ if (version != SCHEMA_VERSION) {
+ db.execute("DROP TABLE cache");
+ db.execute("DROP TABLE feeds");
+ db.execute("DROP TABLE articles");
+ db.execute("INSERT INTO version (schema_version) VALUES (?)",
+ [SCHEMA_VERSION]);
+ }
+
+ 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 articles (id integer, feed_id integer, title text, link text, guid text, updated text, content text, tags text, unread text, marked text, added text)");
+
+ window.setTimeout("update_offline_data(0)", 100);
+
+ }
+
+ cache_expire();
+
+ } catch (e) {
+ exception_error("init_gears", e);
+ }
+}
+