Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 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
 * Contains class mod_h5pactivity\output\result\truefalse
19
 *
20
 * @package   mod_h5pactivity
21
 * @copyright 2020 Ferran Recio
22
 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23
 */
24
 
25
namespace mod_h5pactivity\output\result;
26
 
27
defined('MOODLE_INTERNAL') || die();
28
 
29
use mod_h5pactivity\output\result;
30
use renderer_base;
31
 
32
/**
33
 * Class to display H5P choice result.
34
 *
35
 * @copyright 2020 Ferran Recio
36
 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
37
 */
38
class truefalse extends result {
39
 
40
    /**
41
     * Return the options data structure.
42
     *
43
     * @return array of options
44
     */
45
    protected function export_options(): ?array {
46
 
47
        // This interaction type have only one entry which is the correct option.
48
        $correctpattern = reset($this->correctpattern);
49
        $correctpattern = filter_var(reset($correctpattern), FILTER_VALIDATE_BOOLEAN);
50
        $correctpattern = $correctpattern ? 'true' : 'false';
51
 
52
        $response = filter_var(reset($this->response), FILTER_VALIDATE_BOOLEAN);
53
        $response = $response ? 'true' : 'false';
54
 
55
        $options = [
56
            (object)[
57
                'id' => 'true',
58
                'description' => get_string('true', 'mod_h5pactivity'),
59
            ],
60
            (object)[
61
                'id' => 'false',
62
                'description' => get_string('false', 'mod_h5pactivity'),
63
            ],
64
        ];
65
        foreach ($options as $value) {
66
            $correctstate = ($value->id == $correctpattern) ? parent::CHECKED : parent::UNCHECKED;
67
 
68
            if ($value->id == $response) {
69
                $answerstate = ($correctstate == parent::CHECKED) ? parent::PASS : parent::FAIL;
70
                $value->useranswer = $this->get_answer($answerstate);
71
            }
72
 
73
            $value->correctanswer = $this->get_answer($correctstate);
74
        }
75
 
76
        return $options;
77
    }
78
}