. defined('MOODLE_INTERNAL') || die('Direct access to this script is forbidden.'); require_once($CFG->dirroot . '/mod/customcert/element/element.class.php'); /** * The customcert element code's core interaction API. * * @package customcertelement_code * @copyright 2013 Mark Nelson * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class customcert_element_code extends customcert_element_base { /** * Handles rendering the element on the pdf. * * @param pdf $pdf the pdf object * @param bool $preview true if it is a preview, false otherwise */ public function render($pdf, $preview) { global $DB, $USER; if ($preview) { $code = customcert_generate_code(); } else { // Get the page. $page = $DB->get_record('customcert_pages', array('id' => $this->element->pageid), '*', MUST_EXIST); // Now we can get the issue for this user. $issue = $DB->get_record('customcert_issues', array('userid' => $USER->id, 'customcertid' => $page->customcertid), '*', MUST_EXIST); $code = $issue->code; } parent::render_content($pdf, $code); } /** * 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. */ public function render_html() { $code = customcert_generate_code(); return parent::render_html_content($code); } }