From 612c230709849c84e66384da45d3102b73a29629 Mon Sep 17 00:00:00 2001 From: Marina Glancy Date: Mon, 22 Feb 2021 16:36:17 +0100 Subject: [PATCH] MDL-70966 various: Under PHP8 empty string is no longer equals to 0 --- lib/form/datetimeselector.php | 2 +- mod/quiz/classes/structure.php | 2 +- question/format/gift/tests/giftformat_test.php | 2 +- question/format/xml/tests/xmlformat_test.php | 2 +- question/type/numerical/question.php | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/form/datetimeselector.php b/lib/form/datetimeselector.php index 084768d2294..a39b0814dad 100644 --- a/lib/form/datetimeselector.php +++ b/lib/form/datetimeselector.php @@ -193,7 +193,7 @@ class MoodleQuickForm_date_time_selector extends MoodleQuickForm_group { } } $requestvalue=$value; - if ($value == 0) { + if ($value == 0 || $value === '') { $value = $this->_options['defaulttime']; if (!$value) { $value = time(); diff --git a/mod/quiz/classes/structure.php b/mod/quiz/classes/structure.php index 1c93753559b..95b0fa223f1 100644 --- a/mod/quiz/classes/structure.php +++ b/mod/quiz/classes/structure.php @@ -745,7 +745,7 @@ class structure { } // Check the target page number is OK. - if ($page == 0) { + if ($page == 0 || $page === '') { $page = 1; } if (($moveafterslotnumber > 0 && $page < $this->get_page_number_for_slot($moveafterslotnumber)) || diff --git a/question/format/gift/tests/giftformat_test.php b/question/format/gift/tests/giftformat_test.php index 92251cccaf6..9af5a05268c 100644 --- a/question/format/gift/tests/giftformat_test.php +++ b/question/format/gift/tests/giftformat_test.php @@ -729,7 +729,7 @@ class qformat_gift_test extends question_testcase { 'files' => array(), ), ), - 'tolerance' => array(2, 0), + 'tolerance' => array(2, ''), ); // Repeated test for better failure messages. diff --git a/question/format/xml/tests/xmlformat_test.php b/question/format/xml/tests/xmlformat_test.php index 740db03d52b..bddd49f5a04 100644 --- a/question/format/xml/tests/xmlformat_test.php +++ b/question/format/xml/tests/xmlformat_test.php @@ -1126,7 +1126,7 @@ END; 'format' => FORMAT_HTML), array('text' => 'Completely wrong.', 'format' => FORMAT_HTML)); - $expectedq->tolerance = array(0.001, 1, 0); + $expectedq->tolerance = array(0.001, 1, ''); $this->assert(new question_check_specified_fields_expectation($expectedq), $q); } diff --git a/question/type/numerical/question.php b/question/type/numerical/question.php index 7137ed8d492..db69bdf503e 100644 --- a/question/type/numerical/question.php +++ b/question/type/numerical/question.php @@ -357,7 +357,7 @@ class qtype_numerical_answer extends question_answer { public function __construct($id, $answer, $fraction, $feedback, $feedbackformat, $tolerance) { parent::__construct($id, $answer, $fraction, $feedback, $feedbackformat); - $this->tolerance = abs($tolerance); + $this->tolerance = abs((float)$tolerance); } public function get_tolerance_interval() {