. namespace core\output\progress_trace; use core\output\progress_trace; /** * Special type of trace that can be used for redirecting to multiple other traces. * * @copyright Petr Skoda {@link http://skodak.org} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @package core */ class combined_progress_trace extends progress_trace { /** * Constructs a new instance. * * @param array $traces multiple traces */ public function __construct( /** @var progress_trace[] The list of traces */ protected array $traces, ) { } #[\Override] public function output( string $message, int $depth = 0, ): void { foreach ($this->traces as $trace) { $trace->output($message, $depth); } } #[\Override] public function finished(): void { foreach ($this->traces as $trace) { $trace->finished(); } } } // Alias this class to the old name. // This file will be autoloaded by the legacyclasses autoload system. // In future all uses of this class will be corrected and the legacy references will be removed. class_alias(combined_progress_trace::class, \combined_progress_trace::class);