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 | * Role witch matrix. |
---|
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 | */ |
---|
24 | |
---|
25 | defined('MOODLE_INTERNAL') || die(); |
---|
26 | |
---|
27 | /** |
---|
28 | * Subclass of role_allow_role_page for the Allow switches tab. |
---|
29 | */ |
---|
30 | class core_role_allow_switch_page extends core_role_allow_role_page { |
---|
31 | protected $allowedtargetroles; |
---|
32 | |
---|
33 | public function __construct() { |
---|
34 | parent::__construct('role_allow_switch', 'allowswitch'); |
---|
35 | } |
---|
36 | |
---|
37 | protected function load_required_roles() { |
---|
38 | global $DB; |
---|
39 | parent::load_required_roles(); |
---|
40 | $this->allowedtargetroles = $DB->get_records_menu('role', null, 'id'); |
---|
41 | } |
---|
42 | |
---|
43 | protected function set_allow($fromroleid, $targetroleid) { |
---|
44 | allow_switch($fromroleid, $targetroleid); |
---|
45 | } |
---|
46 | |
---|
47 | protected function is_allowed_target($targetroleid) { |
---|
48 | return isset($this->allowedtargetroles[$targetroleid]); |
---|
49 | } |
---|
50 | |
---|
51 | protected function get_cell_tooltip($fromrole, $targetrole) { |
---|
52 | $a = new stdClass; |
---|
53 | $a->fromrole = $fromrole->localname; |
---|
54 | $a->targetrole = $targetrole->localname; |
---|
55 | return get_string('allowroletoswitch', 'core_role', $a); |
---|
56 | } |
---|
57 | |
---|
58 | public function get_intro_text() { |
---|
59 | return get_string('configallowswitch', 'core_admin'); |
---|
60 | } |
---|
61 | } |
---|