AutorÃa | Ultima modificación | Ver Log |
<?php// This file is part of Moodle - http://moodle.org///// Moodle is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.//// Moodle is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with Moodle. If not, see <http://www.gnu.org/licenses/>./*** Library code used by the roles administration interfaces.** @package core_role* @copyright 1999 onwards Martin Dougiamas (http://dougiamas.com)* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later*/defined('MOODLE_INTERNAL') || die();/*** Subclass of core_role_capability_table_base for use on the Check permissions page.** We have one additional column, Allowed, which contains yes/no.*/class core_role_check_capability_table extends core_role_capability_table_base {protected $user;protected $fullname;protected $contextname;protected $stryes;protected $strno;private $hascap;/*** Constructor* @param object $context the context this table relates to.* @param object $user the user we are generating the results for.* @param string $contextname $context->get_context_name() - to save recomputing.*/public function __construct($context, $user, $contextname) {parent::__construct($context, 'explaincaps');$this->user = $user;$this->fullname = fullname($user);$this->contextname = $contextname;$this->stryes = get_string('yes');$this->strno = get_string('no');$this->add_classes(['table-striped']);}protected function add_header_cells() {echo '<th>' . get_string('allowed', 'core_role') . '</th>';}protected function num_extra_columns() {return 1;}protected function get_row_classes($capability) {$this->hascap = has_capability($capability->name, $this->context, $this->user->id);if ($this->hascap) {return array('yes');} else {return array('no');}}protected function add_row_cells($capability) {if ($this->hascap) {$result = $this->stryes;} else {$result = $this->strno;}$a = new stdClass;$a->fullname = $this->fullname;$a->capability = $capability->name;$a->context = $this->contextname;return '<td>' . $result . '</td>';}}