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 * A column with a checkbox for each question with name q{questionid}.
19 *
20 * @package   core_question
21 * @copyright 2009 Tim Hunt
22 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23 */
24namespace core_question\bank;
25defined('MOODLE_INTERNAL') || die();
26
27use core\output\checkbox_toggleall;
28
29
30/**
31 * A column with a checkbox for each question with name q{questionid}.
32 *
33 * @copyright 2009 Tim Hunt
34 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
35 */
36class checkbox_column extends column_base {
37
38    public function get_name() {
39        return 'checkbox';
40    }
41
42    protected function get_title() {
43        global $OUTPUT;
44
45        $mastercheckbox = new checkbox_toggleall('qbank', true, [
46            'id' => 'qbheadercheckbox',
47            'name' => 'qbheadercheckbox',
48            'value' => '1',
49            'label' => get_string('selectall'),
50            'labelclasses' => 'accesshide',
51        ]);
52
53        return $OUTPUT->render($mastercheckbox);
54    }
55
56    protected function get_title_tip() {
57        return get_string('selectquestionsforbulk', 'question');
58    }
59
60    protected function display_content($question, $rowclasses) {
61        global $OUTPUT;
62
63        $checkbox = new checkbox_toggleall('qbank', false, [
64            'id' => "checkq{$question->id}",
65            'name' => "q{$question->id}",
66            'value' => '1',
67            'label' => get_string('select'),
68            'labelclasses' => 'accesshide',
69        ]);
70
71        echo $OUTPUT->render($checkbox);
72    }
73
74    public function get_required_fields() {
75        return array('q.id');
76    }
77}
78