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/>./*** Contains class core_tag_collections_table** @package core_tag* @copyright 2015 Marina Glancy* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later*/defined('MOODLE_INTERNAL') || die();/*** Table with the list of tag collections for "Manage tags" page.** @package core_tag* @copyright 2015 Marina Glancy* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later*/class core_tag_collections_table extends html_table {/*** Constructor* @param string|moodle_url $pageurl*/public function __construct($pageurl) {global $OUTPUT;parent::__construct();$this->attributes['class'] = 'generaltable tag-collections-table';$this->head = array(get_string('name'),get_string('component', 'tag'),get_string('tagareas', 'tag'),get_string('searchable', 'tag') . $OUTPUT->help_icon('searchable', 'tag'),'');$this->data = array();$tagcolls = core_tag_collection::get_collections();$idx = 0;foreach ($tagcolls as $tagcoll) {$actions = '';$name = core_tag_collection::display_name($tagcoll);$url = new moodle_url($pageurl, array('sesskey' => sesskey(), 'tc' => $tagcoll->id));if (!$tagcoll->isdefault) {// Move up.if ($idx > 1) {$url->param('action', 'collmoveup');$actions .= $OUTPUT->action_icon($url, new pix_icon('t/up', get_string('moveup')), null,array('class' => 'action-icon action_moveup'));}// Move down.if ($idx < count($tagcolls) - 1) {$url->param('action', 'collmovedown');$actions .= $OUTPUT->action_icon($url, new pix_icon('t/down', get_string('movedown')), null,array('class' => 'action-icon action_movedown'));}}if (!$tagcoll->isdefault && empty($tagcoll->component)) {// Delete.$url->param('action', 'colldelete');$actions .= $OUTPUT->action_icon('#', new pix_icon('t/delete', get_string('delete')), null,array('data-url' => $url->out(false), 'data-collname' => $name,'class' => 'action-icon action_delete'));}$component = '';if ($tagcoll->component) {$component = ($tagcoll->component === 'core' || preg_match('/^core_/', $tagcoll->component)) ?get_string('coresystem') : get_string('pluginname', $tagcoll->component);}$allareas = core_tag_collection::get_areas_names(null, false);$validareas = core_tag_collection::get_areas_names($tagcoll->id);$areaslist = array_map(function($key) use ($allareas, $validareas) {return "<li data-areaid=\"{$key}\" " .(array_key_exists($key, $validareas) ? "" : "style=\"display:none;\"") .">{$allareas[$key]}</li>";}, array_keys($allareas));$displayname = new \core_tag\output\tagcollname($tagcoll);$searchable = new \core_tag\output\tagcollsearchable($tagcoll);$this->data[] = array($displayname->render($OUTPUT),$component,"<ul data-collectionid=\"{$tagcoll->id}\">" . join('', $areaslist) . '</ul>',$searchable->render($OUTPUT),$actions);$idx++;}}}