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