. defined('MOODLE_INTERNAL') || die('Direct access to this script is forbidden.'); require_once($CFG->dirroot . '/mod/customcert/element/element.class.php'); require_once($CFG->dirroot . '/mod/customcert/element/grade/lib.php'); /** * The customcert element gradeitemname's core interaction API. * * @package customcertelement_gradeitemname * @copyright 2013 Mark Nelson * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class customcert_element_gradeitemname extends customcert_element_base { /** * This function renders the form elements when adding a customcert element. * * @param mod_customcert_edit_element_form $mform the edit_form instance */ public function render_form_elements($mform) { $mform->addElement('select', 'gradeitem', get_string('gradeitem', 'customcertelement_gradeitemname'), customcert_element_grade::get_grade_items()); $mform->addHelpButton('gradeitem', 'gradeitem', 'customcertelement_gradeitemname'); parent::render_form_elements($mform); } /** * This will handle how form data will be saved into the data column in the * customcert_elements table. * * @param stdClass $data the form data * @return string the text */ public function save_unique_data($data) { return $data->gradeitem; } /** * 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; // Get the course module information. $cm = $DB->get_record('course_modules', array('id' => $this->element->data), '*', MUST_EXIST); $module = $DB->get_record('modules', array('id' => $cm->module), '*', MUST_EXIST); // Get the name of the item. $itemname = $DB->get_field($module->name, 'name', array('id' => $cm->instance), MUST_EXIST); parent::render_content($pdf, $itemname); } /** * Sets the data on the form when editing an element. * * @param mod_customcert_edit_element_form $mform the edit_form instance */ public function definition_after_data($mform) { $this->element->gradeitem = $this->element->data; parent::definition_after_data($mform); } }