diff --git a/edit_element_form.php b/edit_element_form.php index 5924802..aa49626 100644 --- a/edit_element_form.php +++ b/edit_element_form.php @@ -62,10 +62,7 @@ class mod_customcert_edit_element_form extends moodleform { * Fill in the current page data for this customcert. */ public function definition_after_data() { - // We only want to call definition_after_data if we are editing an element. - if ($this->_customdata['action'] == 'edit') { - $this->element->definition_after_data($this->_form); - } + $this->element->definition_after_data($this->_form); } /** diff --git a/element/border/lib.php b/element/border/lib.php index 718413e..057035d 100644 --- a/element/border/lib.php +++ b/element/border/lib.php @@ -95,7 +95,9 @@ class customcert_element_border extends customcert_element_base { * @param mod_customcert_edit_element_form $mform the edit_form instance */ public function definition_after_data($mform) { - $this->element->width = $this->element->data; + if (!empty($this->element->data)) { + $this->element->width = $this->element->data; + } parent::definition_after_data($mform); } diff --git a/element/date/lib.php b/element/date/lib.php index 23b7523..046fa47 100644 --- a/element/date/lib.php +++ b/element/date/lib.php @@ -160,9 +160,11 @@ class customcert_element_date extends customcert_element_base { */ public function definition_after_data($mform) { // Set the item and format for this element. - $dateinfo = json_decode($this->element->data); - $this->element->dateitem = $dateinfo->dateitem; - $this->element->dateformat = $dateinfo->dateformat; + if (!empty($this->element->data)) { + $dateinfo = json_decode($this->element->data); + $this->element->dateitem = $dateinfo->dateitem; + $this->element->dateformat = $dateinfo->dateformat; + } parent::definition_after_data($mform); } diff --git a/element/grade/lib.php b/element/grade/lib.php index 2be5ec7..137b138 100644 --- a/element/grade/lib.php +++ b/element/grade/lib.php @@ -141,9 +141,11 @@ class customcert_element_grade extends customcert_element_base { */ public function definition_after_data($mform) { // Set the item and format for this element. - $gradeinfo = json_decode($this->element->data); - $this->element->gradeitem = $gradeinfo->gradeitem; - $this->element->gradeformat = $gradeinfo->gradeformat; + if (!empty($this->element->data)) { + $gradeinfo = json_decode($this->element->data); + $this->element->gradeitem = $gradeinfo->gradeitem; + $this->element->gradeformat = $gradeinfo->gradeformat; + } parent::definition_after_data($mform); } diff --git a/element/gradeitemname/lib.php b/element/gradeitemname/lib.php index 46dfe5b..d973950 100644 --- a/element/gradeitemname/lib.php +++ b/element/gradeitemname/lib.php @@ -106,7 +106,9 @@ class customcert_element_gradeitemname extends customcert_element_base { * @param mod_customcert_edit_element_form $mform the edit_form instance */ public function definition_after_data($mform) { - $this->element->gradeitem = $this->element->data; + if (!empty($this->element->data)) { + $this->element->gradeitem = $this->element->data; + } parent::definition_after_data($mform); } } diff --git a/element/image/lib.php b/element/image/lib.php index 111ff74..191883d 100644 --- a/element/image/lib.php +++ b/element/image/lib.php @@ -216,10 +216,12 @@ class customcert_element_image extends customcert_element_base { global $COURSE; // Set the image, width and height for this element. - $imageinfo = json_decode($this->element->data); - $this->element->image = $imageinfo->pathnamehash; - $this->element->width = $imageinfo->width; - $this->element->height = $imageinfo->height; + if (!empty($this->element->data)) { + $imageinfo = json_decode($this->element->data); + $this->element->image = $imageinfo->pathnamehash; + $this->element->width = $imageinfo->width; + $this->element->height = $imageinfo->height; + } // Editing existing instance - copy existing files into draft area. $draftitemid = file_get_submitted_draft_itemid('customcertimage'); diff --git a/element/teachername/lib.php b/element/teachername/lib.php index f16e770..ea6aa05 100644 --- a/element/teachername/lib.php +++ b/element/teachername/lib.php @@ -109,7 +109,9 @@ class customcert_element_teachername extends customcert_element_base { * @param mod_customcert_edit_element_form $mform the edit_form instance */ public function definition_after_data($mform) { - $this->element->teacher = $this->element->data; + if (!empty($this->element->data)) { + $this->element->teacher = $this->element->data; + } parent::definition_after_data($mform); } } diff --git a/element/text/lib.php b/element/text/lib.php index bc6c5ff..97767e6 100644 --- a/element/text/lib.php +++ b/element/text/lib.php @@ -77,7 +77,9 @@ class customcert_element_text extends customcert_element_base { * @param mod_customcert_edit_element_form $mform the edit_form instance */ public function definition_after_data($mform) { - $this->element->text = $this->element->data; + if (!empty($this->element->data)) { + $this->element->text = $this->element->data; + } parent::definition_after_data($mform); } } diff --git a/element/userfield/lib.php b/element/userfield/lib.php index b2b637c..3d3ca99 100644 --- a/element/userfield/lib.php +++ b/element/userfield/lib.php @@ -136,7 +136,9 @@ class customcert_element_userfield extends customcert_element_base { * @param mod_customcert_edit_element_form $mform the edit_form instance */ public function definition_after_data($mform) { - $this->element->userfield = $this->element->data; + if (!empty($this->element->data)) { + $this->element->userfield = $this->element->data; + } parent::definition_after_data($mform); } }