### Eclipse Workspace Patch 1.0 #P moodle20 Index: mod/lesson/mod_form.php =================================================================== RCS file: /cvsroot/moodle/moodle/mod/lesson/mod_form.php,v retrieving revision 1.40 diff -u -r1.40 mod_form.php --- mod/lesson/mod_form.php 2 Sep 2010 18:29:40 -0000 1.40 +++ mod/lesson/mod_form.php 4 Dec 2010 17:21:00 -0000 @@ -258,13 +258,19 @@ //------------------------------------------------------------------------------- $mform->addElement('header', 'mediafileheader', get_string('mediafile', 'lesson')); - + // devjr + $mform->addElement('checkbox', 'deletepicture', get_string('delete')); + $mform->setDefault('deletepicture', 0); + $mform->disabledIf($elementName='deletepicture', $dependentOn='mediafile', $condition = 'eq', $value=''); + // end devjr $filepickeroptions = array(); $filepickeroptions['filetypes'] = '*'; $filepickeroptions['maxbytes'] = $this->course->maxbytes; $mform->addElement('filepicker', 'mediafilepicker', get_string('mediafile', 'lesson'), null, $filepickeroptions); $mform->addHelpButton('mediafilepicker', 'mediafile', 'lesson'); + + //------------------------------------------------------------------------------- $mform->addElement('header', 'dependencyon', get_string('dependencyon', 'lesson')); @@ -306,7 +312,7 @@ * @return void **/ function data_preprocessing(&$default_values) { - global $DB; + global $DB; global $module; if (isset($default_values['conditions'])) { $conditions = unserialize($default_values['conditions']); @@ -318,10 +324,9 @@ if (isset($default_values['password']) and ($module->version<2008112600)) { unset($default_values['password']); } - - if ($this->current->instance) { + if ($this->current->instance && $this->current->mediafile) { // editing existing instance - copy existing files into draft area - $draftitemid = file_get_submitted_draft_itemid('mediafilepicker'); + $draftitemid = file_get_submitted_draft_itemid('mediafilepicker'); file_prepare_draft_area($draftitemid, $this->context->id, 'mod_lesson', 'mediafile', 0, array('subdirs'=>0, 'maxbytes' => $this->course->maxbytes, 'maxfiles' => 1)); $default_values['mediafilepicker'] = $draftitemid; } Index: mod/lesson/lib.php =================================================================== RCS file: /cvsroot/moodle/moodle/mod/lesson/lib.php,v retrieving revision 1.107 diff -u -r1.107 lib.php --- mod/lesson/lib.php 21 Sep 2010 08:37:39 -0000 1.107 +++ mod/lesson/lib.php 4 Dec 2010 17:21:00 -0000 @@ -87,7 +87,7 @@ $DB->update_record("lesson", $data); $context = get_context_instance(CONTEXT_MODULE, $cmid); - if ($filename = $mform->get_new_filename('mediafilepicker')) { + if (!isset($data->deletepicture) && $filename = $mform->get_new_filename('mediafilepicker')) { if ($file = $mform->save_stored_file('mediafilepicker', $context->id, 'mod_lesson', 'mediafile', 0, '/', $filename, true)) { $DB->set_field('lesson', 'mediafile', '/'.$file->get_filename(), array('id'=>$data->id)); } else { @@ -96,7 +96,6 @@ } else { $DB->set_field('lesson', 'mediafile', '', array('id'=>$data->id)); } - lesson_process_post_save($data); // update grade item definition