- JS Updater: stop monitoring progress when 100% is reached (can lead to infinite refresh loops in Safari)

4.7.x
Steven Wittens 2005-12-21 23:44:08 +00:00
parent c60e7acdd4
commit 69bcdef531
2 changed files with 8 additions and 7 deletions

View File

@ -42,7 +42,7 @@ progressBar.prototype.setProgress = function (percentage, status) {
}
}
if (this.callback) {
this.callback(percentage, status);
this.callback(percentage, status, this);
}
}
@ -82,8 +82,8 @@ progressBar.prototype.receivePing = function (string, xmlhttp, pb) {
}
// Split into values
var matches = string.length > 0 ? string.split('|') : [];
pb.timer = setTimeout(function() { pb.sendPing(); }, pb.delay);
if (matches.length >= 2) {
pb.setProgress(matches[0], matches[1]);
}
pb.timer = setTimeout(function() { pb.sendPing(); }, pb.delay);
}

View File

@ -5,16 +5,17 @@ if (isJsEnabled()) {
}
if ($('progress')) {
updateCallback = function (progress, status) {
updateCallback = function (progress, status, pb) {
if (progress == 100) {
pb.stopMonitoring();
window.location = window.location.href.split('op=')[0] +'op=finished';
}
}
this.progress = new progressBar('updateprogress', updateCallback, HTTPPost);
this.progress.setProgress(-1, 'Starting updates...');
$('progress').appendChild(this.progress.element);
this.progress.startMonitoring('update.php?op=do_update', 0);
var progress = new progressBar('updateprogress', updateCallback, HTTPPost);
progress.setProgress(-1, 'Starting updates...');
$('progress').appendChild(progress.element);
progress.startMonitoring('update.php?op=do_update', 0);
}
});
}