/** * Column tag type * * @param stdClass $tag * @return string */ public function col_tagtype($tag) { global $OUTPUT; $tagoutput = new core_tag\output\tag($tag); return $OUTPUT->render_from_template('core_tag/tagtype', $tagoutput->export_for_template($OUTPUT)); }
/** * Get tags by their ids * * @param array $tags */ public static function get_tags($tags) { global $CFG, $PAGE, $DB; require_once($CFG->dirroot.'/tag/lib.php'); // Validate and normalize parameters. $tags = self::validate_parameters(self::get_tags_parameters(), array('tags' => $tags)); require_login(null, false, null, false, true); $systemcontext = context_system::instance(); $canmanage = has_capability('moodle/tag:manage', $systemcontext); $canedit = has_capability('moodle/tag:edit', $systemcontext); $return = array(); $warnings = array(); if (empty($CFG->usetags)) { throw new moodle_exception('tagsaredisabled', 'tag'); } $renderer = $PAGE->get_renderer('core'); foreach ($tags['tags'] as $tag) { $tag = (array)$tag; if (!$tagobject = $DB->get_record('tag', array('id' => $tag['id']))) { $warnings[] = array( 'item' => $tag['id'], 'warningcode' => 'tagnotfound', 'message' => get_string('tagnotfound', 'error') ); continue; } $tagoutput = new \core_tag\output\tag($tagobject); // Do not return some information to users without permissions. $rv = $tagoutput->export_for_template($renderer); if (!$canmanage) { if (!$canedit) { unset($rv->official); } unset($rv->flag); unset($rv->changetypeurl); unset($rv->changeflagurl); } $return[] = $rv; } return array('tags' => $return, 'warnings' => $warnings); }