. namespace core\progress; use core\output\stored_progress_bar; /** * Progress handler which updates a stored progress bar. * * @package core * @copyright 2024 Catalyst IT Europe Ltd. * @author Mark Johnson * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class stored extends base { /** * Constructs the progress reporter. * * @param stored_progress_bar $bar The stored progress bar to update. */ public function __construct( /** * @var stored_progress_bar $bar The stored progress bar to update. */ protected stored_progress_bar $bar, ) { } /** * Updates the progress in the database. * Database update frequency is set by $interval. * * @see \core\progress\base::update_progress() */ public function update_progress() { // Get progress. [$min] = $this->get_progress_proportion_range(); $message = ''; if ($this->is_in_progress_section()) { $message = $this->get_current_description(); } // Update progress bar. $this->bar->update_full($min * 100, $message); } }