MDL-51357 roles: fix table layout after MDL-38763
[moodle.git] / admin / roles / classes / define_role_table_basic.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  * Library code used by the roles administration interfaces.
19  *
20  * @package    core_role
21  * @copyright  1999 onwards Martin Dougiamas (http://dougiamas.com)
22  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23  */
25 defined('MOODLE_INTERNAL') || die();
27 class core_role_define_role_table_basic extends core_role_define_role_table_advanced {
28     protected $stradvmessage;
29     protected $strallow;
31     public function __construct($context, $roleid) {
32         parent::__construct($context, $roleid);
33         $this->displaypermissions = array(CAP_ALLOW => $this->allpermissions[CAP_ALLOW]);
34         $this->stradvmessage = get_string('useshowadvancedtochange', 'core_role');
35         $this->strallow = $this->strperms[$this->allpermissions[CAP_ALLOW]];
36     }
38     protected function print_show_hide_advanced_button() {
39         echo '<div class="advancedbutton">';
40         echo '<input type="submit" name="toggleadvanced" value="' . get_string('showadvanced', 'form') . '" />';
41         echo '</div>';
42     }
44     protected function add_permission_cells($capability) {
45         $perm = $this->permissions[$capability->name];
46         $permname = $this->allpermissions[$perm];
47         $defaultperm = $this->allpermissions[$this->parentpermissions[$capability->name]];
48         $content = '<td class="' . $permname . '">';
49         if ($perm == CAP_ALLOW || $perm == CAP_INHERIT) {
50             $checked = '';
51             if ($perm == CAP_ALLOW) {
52                 $checked = 'checked="checked" ';
53             }
54             $content .= '<input type="hidden" name="' . $capability->name . '" value="' . CAP_INHERIT . '" />';
55             $content .= '<label><input type="checkbox" name="' . $capability->name .
56                 '" value="' . CAP_ALLOW . '" ' . $checked . '/> ' . $this->strallow . '</label>';
57         } else {
58             $content .= '<input type="hidden" name="' . $capability->name . '" value="' . $perm . '" />';
59             $content .= $this->strperms[$permname] . '<span class="note">' . $this->stradvmessage . '</span>';
60         }
61         $content .= '</td>';
62         return $content;
63     }
64 }