/** * Update ubikc instance. * @param object $data * @param object $mform * @return bool true */ function ubikc_update_instance($data, $mform) { global $CFG, $DB; $cmid = $data->coursemodule; $draftitemid = $data->files; $data->timemodified = time(); $data->id = $data->instance; $data->kcrevision++; $DB->update_record('ubikc', $data); $context = get_context_instance(CONTEXT_MODULE, $cmid); if ($draftitemid = file_get_submitted_draft_itemid('files')) { file_save_draft_area_files($draftitemid, $context->id, 'mod_ubikc', 'content', 0, array('subdirs' => true)); } ubikc_delete_original_data($data->id); ubikc_parse_file($cmid, $data->id); return true; }
require_capability('mod/ubikc:managefiles', $context); add_to_log($course->id, 'ubikc', 'edit', 'edit.php?id=' . $cm->id, $ubikc->id, $cm->id); $PAGE->set_url('/mod/ubikc/edit.php', array('id' => $cm->id)); $PAGE->set_title($course->shortname . ': ' . $ubikc->name); $PAGE->set_heading($course->fullname); $PAGE->set_activity_record($ubikc); //prepare the elements so that they can correctly display existing attached files $data = new stdClass(); $data->id = $cm->id; $options = array('mainfile' => true, 'subdirs' => 1, 'maxbytes' => $CFG->maxbytes, 'maxfiles' => -1, 'accepted_types' => '*', 'return_types' => FILE_INTERNAL); file_prepare_standard_filemanager($data, 'files', $options, $context, 'mod_ubikc', 'content', 0); //define an array of options for each file-handling form element $mform = new mod_ubikc_edit_form(null, array('data' => $data, 'options' => $options)); //form definition code is in edit_form.php if ($mform->is_cancelled()) { redirect(new moodle_url('/mod/ubikc/view.php', array('id' => $cm->id))); } else { if ($formdata = $mform->get_data()) { //Handling submitted data $formdata = file_postupdate_standard_filemanager($formdata, 'files', $options, $context, 'mod_ubikc', 'content', 0); $DB->set_field('ubikc', 'kcrevision', $ubikc->kcrevision + 1, array('id' => $ubikc->id)); ubikc_delete_original_data($ubikc->id); ubikc_parse_file($data->id, $ubikc->id); redirect(new moodle_url('/mod/ubikc/view.php', array('id' => $cm->id))); } } echo $OUTPUT->header(); echo $OUTPUT->box_start('generalbox ubikctree'); $mform->display(); echo $OUTPUT->box_end(); echo $OUTPUT->footer();