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 | * 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 | */ |
---|
24 | |
---|
25 | defined('MOODLE_INTERNAL') || die(); |
---|
26 | |
---|
27 | require_once($CFG->dirroot.'/user/selector/lib.php'); |
---|
28 | |
---|
29 | /** |
---|
30 | * Base class to avoid duplicating code. |
---|
31 | */ |
---|
32 | abstract class core_role_assign_user_selector_base extends user_selector_base { |
---|
33 | protected $roleid; |
---|
34 | protected $context; |
---|
35 | |
---|
36 | /** |
---|
37 | * @param string $name control name |
---|
38 | * @param array $options should have two elements with keys groupid and courseid. |
---|
39 | */ |
---|
40 | public function __construct($name, $options) { |
---|
41 | global $CFG; |
---|
42 | if (isset($options['context'])) { |
---|
43 | $this->context = $options['context']; |
---|
44 | } else { |
---|
45 | $this->context = context::instance_by_id($options['contextid']); |
---|
46 | } |
---|
47 | $options['accesscontext'] = $this->context; |
---|
48 | parent::__construct($name, $options); |
---|
49 | $this->roleid = $options['roleid']; |
---|
50 | require_once($CFG->dirroot . '/group/lib.php'); |
---|
51 | } |
---|
52 | |
---|
53 | protected function get_options() { |
---|
54 | global $CFG; |
---|
55 | $options = parent::get_options(); |
---|
56 | $options['file'] = $CFG->admin . '/roles/lib.php'; |
---|
57 | $options['roleid'] = $this->roleid; |
---|
58 | $options['contextid'] = $this->context->id; |
---|
59 | return $options; |
---|
60 | } |
---|
61 | } |
---|