diff options
author | Andrew Dolgov <[email protected]> | 2009-02-04 13:36:06 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2009-02-04 13:36:06 +0300 |
commit | 25d993538216482ac4e043c5f2857e2b0748b1f6 (patch) | |
tree | 5368c65838221b16d8a63f2ac880a1d7708c15da /offline.js | |
parent | 1b27261c8452a80f3cf54fd78c01e61c42757fcb (diff) |
move more stuff to offline.js
Diffstat (limited to 'offline.js')
-rw-r--r-- | offline.js | 49 |
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); + } +} + |