Differences Between: [Versions 400 and 403] [Versions 401 and 403] [Versions 402 and 403]
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 */ 24 25 namespace core_question\local\bank; 26 27 use core\output\checkbox_toggleall; 28 29 /** 30 * A column with a checkbox for each question with name q{questionid}. 31 * 32 * @copyright 2009 Tim Hunt 33 * @author 2021 Safat Shahin <safatshahin@catalyst-au.net> 34 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 35 */ 36 class checkbox_column extends column_base { 37 38 public function get_name(): string { 39 return 'checkbox'; 40 } 41 42 public 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 public function get_title_tip() { 57 return get_string('selectquestionsforbulk', 'question'); 58 } 59 60 public function display_header(array $columnactions = [], string $width = ''): void { 61 global $PAGE; 62 $renderer = $PAGE->get_renderer('core_question', 'bank'); 63 64 $data = []; 65 $data['sortable'] = false; 66 $data['extraclasses'] = $this->get_classes(); 67 $name = get_class($this); 68 $data['sorttip'] = true; 69 $data['tiptitle'] = $this->get_title(); 70 $data['tip'] = $this->get_title_tip(); 71 72 $data['colname'] = $this->get_column_name(); 73 $data['columnid'] = $this->get_column_id(); 74 $data['name'] = get_string('selectall'); 75 $data['class'] = $name; 76 $data['width'] = $width; 77 78 echo $renderer->render_column_header($data); 79 } 80 81 protected function display_content($question, $rowclasses): void { 82 global $OUTPUT; 83 84 $checkbox = new checkbox_toggleall('qbank', false, [ 85 'id' => "checkq{$question->id}", 86 'name' => "q{$question->id}", 87 'value' => '1', 88 'label' => get_string('select'), 89 'labelclasses' => 'accesshide', 90 ]); 91 92 echo $OUTPUT->render($checkbox); 93 } 94 95 public function get_required_fields(): array { 96 return ['q.id']; 97 } 98 99 public function get_default_width(): int { 100 return 30; 101 } 102 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body