. /** * Contains class used to prepare verification results for display. * * @package mod_htmlcert * @copyright 2017 Mark Nelson , 2021 Klaus-Uwe Mitterer * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace mod_htmlcert\output; defined('MOODLE_INTERNAL') || die(); use renderable; use templatable; /** * Class to prepare verification results for display. * * @package mod_htmlcert * @copyright 2017 Mark Nelson , 2021 Klaus-Uwe Mitterer * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class verify_certificate_results implements templatable, renderable { /** * @var bool Was the code successfully verified? */ public $success; /** * @var string The message to display. */ public $message; /** * @var array The certificates issued with the matching code. */ public $issues; /** * Constructor. * * @param \stdClass $result */ public function __construct($result) { $this->success = $result->success; if ($this->success) { $this->message = get_string('verified', 'htmlcert'); } else { $this->message = get_string('notverified', 'htmlcert'); } $this->issues = $result->issues; } /** * Function to export the renderer data in a format that is suitable for a mustache template. * * @param \renderer_base $output Used to do a final render of any components that need to be rendered for export. * @return \stdClass|array */ public function export_for_template(\renderer_base $output) { $result = new \stdClass(); $result->success = $this->success; $result->message = $this->message; $result->issues = array(); foreach ($this->issues as $issue) { $resultissue = new verify_certificate_result($issue); $result->issues[] = $resultissue->export_for_template($output); } return $result; } }