Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1441 ariadna 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
 * Generator for mod_qbank.
19
 * Required by the module generator but intentionally blank until we need to extend
20
 *
21
 * @package    mod_qbank
22
 * @copyright  2024 onwards Catalyst IT EU {@link https://catalyst-eu.net}
23
 * @author     Simon Adams <simon.adams@catalyst-eu.net>
24
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
25
 */
26
class mod_qbank_generator extends testing_module_generator {
27
 
28
    #[\Override]
29
    public function create_instance($record = null, ?array $options = null) {
30
        $record = (object)(array)$record;
31
 
32
        if (empty($record->type)) {
33
            $record->type = core_question\local\bank\question_bank_helper::TYPE_STANDARD;
34
        }
35
        if (isset($options['section']) && (int) $options['section'] !== 0) {
36
            throw new \core\exception\coding_exception(
37
                "Attempted to create a mod_qbank instance in section {$options['section']}. " .
38
                    "Question banks can only be created in section 0.",
39
            );
40
        }
41
        return parent::create_instance($record, $options);
42
    }
43
}