diff --git a/lib/adminlib.php b/lib/adminlib.php index 659b55a2372..fa286d03661 100644 --- a/lib/adminlib.php +++ b/lib/adminlib.php @@ -486,6 +486,7 @@ function set_cron_lock($name, $until, $ignorecurrent=false) { } function print_progress($done, $total, $updatetime=5, $sleeptime=1, $donetext='') { + static $thisbarid; static $starttime; static $lasttime; @@ -493,14 +494,26 @@ function print_progress($done, $total, $updatetime=5, $sleeptime=1, $donetext='' return; } + // Are we done? + if ($done >= $total) { + $done = $total; + if (!empty($thisbarid)) { + $donetext .= ' ('.$done.'/'.$total.') '.get_string('success'); + print_progress_redraw($thisbarid, $done, $total, 500, $donetext); + $thisbarid = $starttime = $lasttime = NULL; + } + return; + } + if (empty($starttime)) { $starttime = $lasttime = time(); $lasttime = $starttime - $updatetime; + $thisbarid = uniqid(); echo '
| ';
- echo ' ';
- echo '';
+ echo ' ';
+ echo '';
echo ' ';
- echo '';
+ echo '';
echo ' |