/** * Prepares the form before data are set * * Additional wysiwyg editor are prepared here, the introeditor is prepared automatically by core. * Grade items are set here because the core modedit supports single grade item only. * * @param array $data to be set * @return void */ public function data_preprocessing(&$data) { global $CFG; require_once dirname(__FILE__) . '/locallib.php'; parent::data_preprocessing($data); if ($this->current->instance) { // editing an existing certificate - let us prepare the added editor elements (intro done automatically), and files //First Page //Get firstimage $imagedraftitemid = file_get_submitted_draft_itemid('certificateimage'); //Get firtsimage filearea information $imagefileinfo = simplecertificate::get_certificate_image_fileinfo($this->context); file_prepare_draft_area($imagedraftitemid, $imagefileinfo['contextid'], $imagefileinfo['component'], $imagefileinfo['filearea'], $imagefileinfo['itemid'], $this->get_filemanager_options_array()); $data['certificateimage'] = $imagedraftitemid; //Prepare certificate text $data['certificatetext'] = array('text' => $data['certificatetext'], 'format' => FORMAT_HTML); //Second page //Get Back image $secondimagedraftitemid = file_get_submitted_draft_itemid('secondimage'); //Get secondimage filearea info $secondimagefileinfo = simplecertificate::get_certificate_secondimage_fileinfo($this->context); file_prepare_draft_area($secondimagedraftitemid, $secondimagefileinfo['contextid'], $secondimagefileinfo['component'], $secondimagefileinfo['filearea'], $secondimagefileinfo['itemid'], $this->get_filemanager_options_array()); $data['secondimage'] = $secondimagedraftitemid; //Get backpage text if (!empty($data['secondpagetext'])) { $data['secondpagetext'] = array('text' => $data['secondpagetext'], 'format' => FORMAT_HTML); } else { $data['secondpagetext'] = array('text' => '', 'format' => FORMAT_HTML); } } else { //Load default $data['certificatetext'] = array('text' => '', 'format' => FORMAT_HTML); $data['secondpagetext'] = array('text' => '', 'format' => FORMAT_HTML); } //completion rules $data['completiontimeenabled'] = !empty($data['requiredtime']) ? 1 : 0; }