From 5cedb389d24861a94c1183d1562900dbe59ee3fb Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 23 Dec 2012 18:07:41 +0400 Subject: split self-updater gui to updater/ plugin --- plugins/updater/updater.js | 69 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 plugins/updater/updater.js (limited to 'plugins/updater/updater.js') diff --git a/plugins/updater/updater.js b/plugins/updater/updater.js new file mode 100644 index 000000000..17452d734 --- /dev/null +++ b/plugins/updater/updater.js @@ -0,0 +1,69 @@ +function updateSelf() { + try { + var query = "backend.php?op=pluginhandler&plugin=updater&method=updateSelf"; + + if (dijit.byId("updateSelfDlg")) + dijit.byId("updateSelfDlg").destroyRecursive(); + + var dialog = new dijit.Dialog({ + id: "updateSelfDlg", + title: __("Update Tiny Tiny RSS"), + style: "width: 600px", + closable: false, + performUpdate: function(step) { + dijit.byId("self_update_start_btn").attr("disabled", true); + dijit.byId("self_update_stop_btn").attr("disabled", true); + + notify_progress("Loading, please wait...", true); + new Ajax.Request("backend.php", { + parameters: "?op=pluginhandler&plugin=updater&method=performUpdate&step=" + step + + "¶ms=" + param_escape(JSON.stringify(dialog.attr("update-params"))), + onComplete: function(transport) { + try { + rv = JSON.parse(transport.responseText); + if (rv) { + notify(''); + + rv['log'].each(function(line) { + $("self_update_log").innerHTML += "
  • " + line + "
  • "; + }); + + dialog.attr("update-params", rv['params']); + + if (!rv['stop']) { + window.setTimeout("dijit.byId('updateSelfDlg').performUpdate("+(step+1)+")", 500); + } else { + dijit.byId("self_update_stop_btn").attr("disabled", false); + } + + } else { + console.log(transport.responseText); + notify_error("Received invalid data from server."); + } + + dialog.attr("updated", true); + } catch (e) { + exception_error("updateSelf/inner", e); + } + } }); + }, + close: function() { + if (dialog.attr("updated")) { + window.location.reload(); + } else { + dialog.hide(); + } + }, + start: function() { + if (prompt(__("Live updating is considered experimental. Backup your tt-rss directory before continuing. Please type 'yes' to continue.")) == 'yes') { + dialog.performUpdate(0); + } + }, + href: query}); + + dialog.show(); + } catch (e) { + exception_error("batchSubscribe", e); + } +} + -- cgit v1.2.3