From 015b2a0cd824aaf09535752c0d365b21b404d864 Mon Sep 17 00:00:00 2001 From: Pascal Hamar Date: Tue, 28 Nov 2023 18:41:33 +0100 Subject: [PATCH] MDL-36733 qtype_calculated: Wildcards in calculated question hints The placeholders for the hints are properly replaced by this change and any formulas present are replaced. The validation is performed by the existing function qtype_calculated_find_formula_errors(), which is called by the calculate() function, which in turn is called by the variable substituter "vs" using the replace_expressions_in_text() function. vs -> replace_expressions_in_text() -> calculate() -> qtype_calculated_find_formula_errors(). --- question/type/calculated/question.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/question/type/calculated/question.php b/question/type/calculated/question.php index 3857afb6a4c..66d989aa666 100644 --- a/question/type/calculated/question.php +++ b/question/type/calculated/question.php @@ -73,6 +73,12 @@ class qtype_calculated_question extends qtype_numerical_question $ans->feedback = $this->vs->replace_expressions_in_text($ans->feedback, $ans->correctanswerlength, $ans->correctanswerformat); } + // Replace expressions in hints referring MDL-36733. + // Calculation through calculation() function in replace_expressions_in_text() function. + // Validation through qtype_calculated_find_formula_errors() function in calculate() function. + foreach ($this->hints as $hint) { + $hint->hint = $this->vs->replace_expressions_in_text($hint->hint); + } } public function get_num_variants() {