See Release Notes
Long Term Support Release
<?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\output\tag * * @package core_tag * @copyright 2015 Marina Glancy * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace core_tag\output; use renderable; use templatable; use renderer_base; use stdClass; use moodle_url; use core_tag_tag; /** * Class to help display tag * * @package core_tag * @copyright 2015 Marina Glancy * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class tag implements renderable, templatable { /** @var core_tag_tag|stdClass */ protected $record; /** * Constructor * * @param core_tag_tag|stdClass $tag */ public function __construct($tag) { if ($tag instanceof core_tag_tag) { $this->record = $tag; return; } $tag = (array)$tag + array( 'name' => '', 'rawname' => '', 'description' => '', 'descriptionformat' => FORMAT_HTML, 'flag' => 0, 'isstandard' => 0, 'id' => 0, 'tagcollid' => 0, ); $this->record = (object)$tag; } /** * Export this data so it can be used as the context for a mustache template. * * @param renderer_base $output * @return stdClass */ public function export_for_template(renderer_base $output) {< global $CFG; < require_once($CFG->libdir . '/externallib.php'); <$r = new stdClass(); $r->id = (int)$this->record->id; $r->tagcollid = clean_param($this->record->tagcollid, PARAM_INT); $r->rawname = clean_param($this->record->rawname, PARAM_TAG); $r->name = clean_param($this->record->name, PARAM_TAG); $format = clean_param($this->record->descriptionformat, PARAM_INT);< list($r->description, $r->descriptionformat) = external_format_text($this->record->description, < $format, \context_system::instance()->id, 'core', 'tag', $r->id);> list($r->description, $r->descriptionformat) = \core_external\util::format_text($this->record->description, > $format, \context_system::instance(), 'core', 'tag', $r->id);$r->flag = clean_param($this->record->flag, PARAM_INT); if (isset($this->record->isstandard)) { $r->isstandard = clean_param($this->record->isstandard, PARAM_INT) ? 1 : 0; } $r->official = $r->isstandard; // For backwards compatibility. $url = core_tag_tag::make_url($r->tagcollid, $r->rawname); $r->viewurl = $url->out(false); return $r; } }