From 6f4accc6fb6f9a1a7a1da03c8a9b2d8551ecf3aa Mon Sep 17 00:00:00 2001 From: pichetp Date: Wed, 20 Aug 2008 18:17:27 +0000 Subject: [PATCH] putting negative data from datasets between () to eliminate maths problem MDL-15358 --- question/type/calculated/questiontype.php | 7 ++++--- question/type/datasetdependent/abstractqtype.php | 6 +++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/question/type/calculated/questiontype.php b/question/type/calculated/questiontype.php index 2e310c3386..11250055a5 100644 --- a/question/type/calculated/questiontype.php +++ b/question/type/calculated/questiontype.php @@ -763,10 +763,11 @@ class question_calculated_qtype extends question_dataset_dependent_questiontype $delimiter = ': '; $virtualqtype = $this->get_virtual_qtype(); foreach ($answers as $answer) { - $formula = $answer->answer; - foreach ($data as $name => $value) { + // $formula = $answer->answer; + $formula = parent::substitute_variables($answer->answer,$data); + /* foreach ($data as $name => $value) { $formula = str_replace('{'.$name.'}', $value, $formula); - } + }*/ $formattedanswer = qtype_calculated_calculate_answer( $answer->answer, $data, $answer->tolerance, $answer->tolerancetype, $answer->correctanswerlength, diff --git a/question/type/datasetdependent/abstractqtype.php b/question/type/datasetdependent/abstractqtype.php index cb2767107f..0642b41ef6 100644 --- a/question/type/datasetdependent/abstractqtype.php +++ b/question/type/datasetdependent/abstractqtype.php @@ -82,7 +82,11 @@ class question_dataset_dependent_questiontype extends default_questiontype { function substitute_variables($str, $dataset) { foreach ($dataset as $name => $value) { - $str = str_replace('{'.$name.'}', $value, $str); + if($value < 0 ){ + $str = str_replace('{'.$name.'}', '('.$value.')', $str); + } else { + $str = str_replace('{'.$name.'}', $value, $str); + } } return $str; } -- 2.39.5