MDL-65788 tool_policy: Prevent two modals rendering for guests.
[moodle.git] / blocks / participants / block_participants.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  * Participants block
19  *
20  * @package    block_participants
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 require_once($CFG->dirroot . '/course/lib.php');
29 /**
30  * Participants block
31  *
32  * @package    block_participants
33  * @copyright  1999 onwards Martin Dougiamas (http://dougiamas.com)
34  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
35  */
36 class block_participants extends block_list {
37     function init() {
38         $this->title = get_string('pluginname', 'block_participants');
39     }
41     function get_content() {
43         global $CFG, $OUTPUT;
45         if (empty($this->instance)) {
46             $this->content = '';
47             return $this->content;
48         }
50         $this->content = new stdClass();
51         $this->content->items = array();
52         $this->content->icons = array();
53         $this->content->footer = '';
55         // user/index.php expect course context, so get one if page has module context.
56         $currentcontext = $this->page->context->get_course_context(false);
58         if (empty($currentcontext)) {
59             $this->content = '';
60             return $this->content;
61         } else if ($this->page->course->id == SITEID) {
62             if (!course_can_view_participants(context_system::instance())) {
63                 $this->content = '';
64                 return $this->content;
65             }
66         } else {
67             if (!course_can_view_participants($currentcontext)) {
68                 $this->content = '';
69                 return $this->content;
70             }
71         }
73         $icon = $OUTPUT->pix_icon('i/users', '');
74         $this->content->items[] = '<a title="'.get_string('listofallpeople').'" href="'.
75                                   $CFG->wwwroot.'/user/index.php?contextid='.$currentcontext->id.'">'.$icon.get_string('participants').'</a>';
77         return $this->content;
78     }
80     // my moodle can only have SITEID and it's redundant here, so take it away
81     function applicable_formats() {
82         return array('all' => true, 'my' => false, 'tag' => false);
83     }
85 }