1
0
mirror of https://git.tt-rss.org/git/tt-rss.git synced 2025-12-13 17:15:55 +00:00

implement web-based self updater (closes #395)

This commit is contained in:
Andrew Dolgov
2012-08-23 22:53:32 +04:00
parent 1280612515
commit 808dd053c6
4 changed files with 254 additions and 164 deletions

View File

@@ -2142,15 +2142,37 @@ function updateSelf() {
title: __("Update Tiny Tiny RSS"),
style: "width: 600px",
closable: false,
performUpdate: function() {
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=pref-prefs&method=performUpdate",
parameters: "?op=pref-prefs&method=performUpdate&step=" + step +
"&params=" + param_escape(JSON.stringify(dialog.attr("update-params"))),
onComplete: function(transport) {
try {
notify('');
$("self_update_log").innerHTML = transport.responseText;
rv = JSON.parse(transport.responseText);
if (rv) {
notify('');
rv['log'].each(function(line) {
$("self_update_log").innerHTML += "<li>" + line + "</li>";
});
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);
@@ -2166,7 +2188,7 @@ function updateSelf() {
},
start: function() {
if (prompt(__("Live updating is considered experimental. Backup your tt-rss directory before continuing. Please type 'yes' to continue.")) == 'yes') {
dialog.performUpdate();
dialog.performUpdate(0);
}
},
href: query});