1<?php 2// This file is part of Moodle - http://moodle.org/ 3// 4// Moodle is free software: you can redistribute it and/or modify 5// it under the terms of the GNU General Public License as published by 6// the Free Software Foundation, either version 3 of the License, or 7// (at your option) any later version. 8// 9// Moodle is distributed in the hope that it will be useful, 10// but WITHOUT ANY WARRANTY; without even the implied warranty of 11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12// GNU General Public License for more details. 13// 14// You should have received a copy of the GNU General Public License 15// along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17/** 18 * Calculated question renderer class. 19 * 20 * @package qtype 21 * @subpackage calculated 22 * @copyright 2011 The Open University 23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 */ 25 26 27defined('MOODLE_INTERNAL') || die(); 28 29require_once($CFG->dirroot . '/question/type/numerical/renderer.php'); 30 31 32/** 33 * Generates the output for calculated questions. 34 * 35 * @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com} 36 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 37 */ 38class qtype_calculated_renderer extends qtype_numerical_renderer { 39 public function correct_response(question_attempt $qa) { 40 $question = $qa->get_question(); 41 $answer = $question->get_correct_response(); 42 if (!$answer) { 43 return ''; 44 } 45 46 $response = $answer['answer']; 47 if ($question->unitdisplay != qtype_numerical::UNITNONE && $question->unitdisplay != qtype_numerical::UNITINPUT) { 48 $response = $question->ap->add_unit($response); 49 } 50 51 return get_string('correctansweris', 'qtype_shortanswer', $response); 52 } 53 54} 55