$fork->instructions = $fromform->instructions['text']; $fork->teaching = $fromform->teaching['text']; $fork->languageresources = $fromform->languageresources['text']; $fork->timemodified = time(); $fork->rubricid = $fromform->rubricid; $DB->update_record('emarking_activities', $fork); } $url = new moodle_url($CFG->wwwroot . '/mod/emarking/activities/fork.php', array('id' => $forkid)); redirect($url, 0); //In this case you process validated data. $mform->get_data() returns data posted in form. } else { $fork = $DB->get_record('emarking_activities', array('id' => $forkid)); $keyofgenre = array_search($fork->genre, $generos) + 1; $formData = new stdClass(); $formData->instructions['text'] = $fork->instructions; $formData->teaching['text'] = $fork->teaching; $formData->languageresources['text'] = $fork->languageresources; $formData->rubricid = $fork->rubricid; $formData->title = $fork->title; $formData->description = $fork->description; $formData->comunicativepurpose = $fork->comunicativepurpose; $formData->genre = $keyofgenre; $formData->audience = $fork->audience; $formData->estimatedtime = $fork->estimatedtime; $formData->id = $forkid; $mform->set_data($formData); $mform->display(); } } //Código para setear contexto, url, layout echo $OUTPUT->footer();