From 38ac75d674bc4c101f18ccd7052214ef4cb7f515 Mon Sep 17 00:00:00 2001 From: Pascal Hamar Date: Tue, 28 Nov 2023 19:02:27 +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() {