diff --git a/question/type/calculatedmulti/classes/qtype_calculatedmulti_answer.php b/question/type/calculatedmulti/classes/qtype_calculatedmulti_answer.php new file mode 100644 index 00000000000..14d46e981c9 --- /dev/null +++ b/question/type/calculatedmulti/classes/qtype_calculatedmulti_answer.php @@ -0,0 +1,38 @@ +. + +declare(strict_types=1); + +namespace qtype_calculatedmulti; + +defined('MOODLE_INTERNAL') || die(); + +require_once($CFG->dirroot . '/question/type/questionbase.php'); + +/** + * Class to represent a calculated question answer. + * + * @package qtype_calculatedmulti + * @copyright 2023 Matt Porritt + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class qtype_calculatedmulti_answer extends \question_answer { + /** @var int The length of the correct answer. */ + public $correctanswerlength; + + /** @var int The format of the correct answer. */ + public $correctanswerformat; +} diff --git a/question/type/calculatedmulti/questiontype.php b/question/type/calculatedmulti/questiontype.php index 5715f3e2624..f831204c5ef 100644 --- a/question/type/calculatedmulti/questiontype.php +++ b/question/type/calculatedmulti/questiontype.php @@ -23,6 +23,7 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ +use qtype_calculatedmulti\qtype_calculatedmulti_answer; defined('MOODLE_INTERNAL') || die(); @@ -212,7 +213,8 @@ class qtype_calculatedmulti extends qtype_calculated { * @return question_answer */ public function make_answer($answer) { - return parent::make_answer($answer); + return new qtype_calculatedmulti_answer($answer->id, $answer->answer, + $answer->fraction, $answer->feedback, $answer->feedbackformat); } protected function make_hint($hint) {