. /** * This file contains the customcert element categoryname's core interaction API. * * @package customcertelement_categoryname * @copyright 2013 Mark Nelson * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace customcertelement_categoryname; defined('MOODLE_INTERNAL') || die(); /** * The customcert element categoryname's core interaction API. * * @package customcertelement_categoryname * @copyright 2013 Mark Nelson * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class element extends \mod_customcert\element { /** * Handles rendering the element on the pdf. * * @param \pdf $pdf the pdf object * @param bool $preview true if it is a preview, false otherwise * @param \stdClass $user the user we are rendering this for */ public function render($pdf, $preview, $user) { \mod_customcert\element_helper::render_content($pdf, $this, $this->get_category_name()); } /** * Render the element in html. * * This function is used to render the element when we are using the * drag and drop interface to position it. * * @return string the html */ public function render_html() { return \mod_customcert\element_helper::render_html_content($this, $this->get_category_name()); } /** * Helper function that returns the category name. * * @return string */ protected function get_category_name() : string { global $DB, $SITE; $courseid = \mod_customcert\element_helper::get_courseid($this->get_id()); $course = get_course($courseid); $context = \mod_customcert\element_helper::get_context($this->get_id()); // Check that there is a course category available. if (!empty($course->category)) { $categoryname = $DB->get_field('course_categories', 'name', array('id' => $course->category), MUST_EXIST); } else { // Must be in a site template. $categoryname = $SITE->fullname; } return format_string($categoryname, true, ['context' => $context]); } }