Merge branch 'MDL-70041-310' of git://github.com/mihailges/moodle into MOODLE_310_STABLE
[moodle.git] / question / type / ddwtos / question.php
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/>.
17 /**
18  * Drag-and-drop words into sentences question definition class.
19  *
20  * @package   qtype_ddwtos
21  * @copyright 2009 The Open University
22  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23  */
26 defined('MOODLE_INTERNAL') || die();
28 require_once($CFG->dirroot . '/question/type/gapselect/questionbase.php');
31 /**
32  * Represents a drag-and-drop words into sentences question.
33  *
34  * @copyright  2009 The Open University
35  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
36  */
37 class qtype_ddwtos_question extends qtype_gapselect_question_base {
39     public function summarise_choice($choice) {
40         return $this->html_to_text($choice->text, FORMAT_HTML);
41     }
42 }
45 /**
46  * Represents one of the choices (draggable boxes).
47  *
48  * @copyright  2009 The Open University
49  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
50  */
51 class qtype_ddwtos_choice {
52     /** @var string Text for the choice */
53     public $text;
55     /** @var int Group of the choice */
56     public $draggroup;
58     /** @var bool If the choice can be used an unlimited number of times */
59     public $infinite;
61     /**
62      * Initialize a choice object.
63      *
64      * @param string $text The text of the choice
65      * @param int $draggroup Group of the drop choice
66      * @param bool $infinite True if the item can be used an unlimited number of times
67      */
68     public function __construct($text, $draggroup = 1, $infinite = false) {
69         $this->text = $text;
70         $this->draggroup = $draggroup;
71         $this->infinite = $infinite;
72     }
74     /**
75      * Returns the group of this item.
76      *
77      * @return int
78      */
79     public function choice_group() {
80         return $this->draggroup;
81     }
82 }