MDL-80768 output: stricter progress bar component percentage type.

Avoid mixing float/string types, where the decimal separator could
vary according to current locale.
This commit is contained in:
Paul Holden
2024-01-30 21:45:57 +00:00
parent 3958f68d9b
commit 5a1aef5a51
2 changed files with 7 additions and 2 deletions

View File

@@ -5191,7 +5191,7 @@ class progress_bar implements renderable, templatable {
$this->percent = $percent;
$this->lastupdate = microtime(true);
echo $OUTPUT->render_progress_bar_update($this->html_id, sprintf("%.1f", $this->percent), $msg, $estimatemsg);
echo $OUTPUT->render_progress_bar_update($this->html_id, $this->percent, $msg, $estimatemsg);
flush();
}

View File

@@ -5037,7 +5037,12 @@ EOD;
* @return string ascii fragment
*/
public function render_progress_bar_update(string $id, float $percent, string $msg, string $estimate) : string {
return html_writer::script(js_writer::function_call('updateProgressBar', [$id, $percent, $msg, $estimate]));
return html_writer::script(js_writer::function_call('updateProgressBar', [
$id,
round($percent, 1),
$msg,
$estimate,
]));
}
/**