From: mjollnir_ Date: Tue, 11 Aug 2009 13:54:40 +0000 (+0000) Subject: MDL-19142 assignment/backup: reverting earlier patch while I figure out a better... X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=69547cc5ae4b8913d47c208687e064bfb16b604c;p=moodle.git MDL-19142 assignment/backup: reverting earlier patch while I figure out a better way to deal with course_modules during restore Merged from MOODLE_19_STABLE --- diff --git a/mod/assignment/backuplib.php b/mod/assignment/backuplib.php index a7445e186e..06f24a94f5 100644 --- a/mod/assignment/backuplib.php +++ b/mod/assignment/backuplib.php @@ -71,13 +71,10 @@ fwrite ($bf,full_tag("TIMEAVAILABLE",4,false,$assignment->timeavailable)); fwrite ($bf,full_tag("GRADE",4,false,$assignment->grade)); fwrite ($bf,full_tag("TIMEMODIFIED",4,false,$assignment->timemodified)); - - assignment_ensure_backup_subtype($assignment, $preferences->backup_course); - $assignment->atypeobj->backup_one_mod($bf, $preferences); //if we've selected to backup users info, then execute backup_assignment_submisions and //backup_assignment_files_instance if (backup_userdata_selected($preferences,'assignment',$assignment->id)) { - $status = backup_assignment_submissions($bf,$preferences,$assignment); + $status = backup_assignment_submissions($bf,$preferences,$assignment->id); if ($status) { $status = backup_assignment_files_instance($bf,$preferences,$assignment->id); } @@ -94,7 +91,7 @@ $status = true; - $assignment_submissions = $DB->get_records("assignment_submissions", array("assignment"=>$assignment->id),"id"); + $assignment_submissions = $DB->get_records("assignment_submissions", array("assignment"=>$assignment),"id"); //If there is submissions if ($assignment_submissions) { //Write start tag @@ -117,9 +114,6 @@ fwrite ($bf,full_tag("TEACHER",6,false,$ass_sub->teacher)); fwrite ($bf,full_tag("TIMEMARKED",6,false,$ass_sub->timemarked)); fwrite ($bf,full_tag("MAILED",6,false,$ass_sub->mailed)); - - assignment_ensure_backup_subtype($assignment, $preferences->backup_course); - $assignment->atypeobj->backup_one_submission($bf, $preferences, $ass_sub); //End submission $status =fwrite ($bf,end_tag("SUBMISSION",5,true)); } @@ -266,28 +260,4 @@ FROM {assignment_submissions} s WHERE s.assignment = ?", array($instanceid)); } - - /** - * small helper function to take the current assignment record - * and create the appropriate subtype object and store it - * - * @param $assignment the assignment db record (passed by reference and modified) - * @param $courseid the courseid - * - * @return void - */ - function assignment_ensure_backup_subtype(&$assignment, $courseid) { - global $CFG, $DB; - static $course; - if (empty($course)) { - $course = $DB->get_record('course', array('id' => $courseid)); - } - if (empty($assignment->atypeobj)) { - $class = 'assignment_' . $assignment->assignmenttype; - require_once($CFG->dirroot . '/mod/assignment/lib.php'); - require_once($CFG->dirroot . '/mod/assignment/type/' . $assignment->assignmenttype . '/assignment.class.php'); - $cm = get_coursemodule_from_instance('assignment', $assignment->id, $courseid); - $assignment->atypeobj = new $class($cm->id, $assignment, $cm, $course); - } - } ?> diff --git a/mod/assignment/lib.php b/mod/assignment/lib.php index 30a9b5700c..d75545c496 100644 --- a/mod/assignment/lib.php +++ b/mod/assignment/lib.php @@ -2012,61 +2012,6 @@ class assignment_base { function portfolio_exportable() { return false; } - - /** - * base implementation for backing up subtype specific information - * for one single module - * - * @param filehandle $bf file handle for xml file to write to - * @param mixed $preferences the complete backup preference object - * - * @return boolean - */ - function backup_one_mod($bf, $preferences) { - return true; - } - - /** - * base implementation for backing up subtype specific information - * for one single submission - * - * @param filehandle $bf file handle for xml file to write to - * @param mixed $preferences the complete backup preference object - * @param object $submission the assignment submission db record - * - * @return boolean - */ - function backup_one_submission($bf, $preferences, $submission) { - return true; - } - - /** - * base implementation for restoring subtype specific information - * for one single module - * - * @param array $info the array representing the xml - * @param object $restore the restore preferences - * - * @return boolean - */ - function restore_one_mod($info, $restore) { - return true; - } - - /** - * base implementation for restoring subtype specific information - * for one single submission - * - * @param object $submission the newly created submission - * @param array $info the array representing the xml - * @param object $restore the restore preferences - * - * @return boolean - */ - function restore_one_submission($submission, $info, $restore) { - return true; - } - } ////// End of the assignment_base class /** diff --git a/mod/assignment/restorelib.php b/mod/assignment/restorelib.php index 1764d2a67b..7d6a78b7f2 100644 --- a/mod/assignment/restorelib.php +++ b/mod/assignment/restorelib.php @@ -104,22 +104,11 @@ //We have the newid, update backup_ids backup_putid($restore->backup_unique_code,$mod->modtype, $mod->id, $newid); - // load up the subtype and see if it wants anything further restored. - $class = 'assignment_' . $assignment->assignmenttype; - require_once($CFG->dirroot . '/mod/assignment/lib.php'); - require_once($CFG->dirroot . '/mod/assignment/type/' . $assignment->assignmenttype . '/assignment.class.php'); - $cmid = backup_getid($restore->backup_unique_code, 'course_modules', $mod->id); - $cm = $DB->get_record('course_modules', array('id' => $cmid->new_id)); - $cm->instance = $newid; - $subtype = new $class($cmid->id, $assignment, $cm); - $assignment->id = $newid; - - $subtype->restore_one_mod($info, $restore); //Now check if want to restore user data and do it. if (restore_userdata_selected($restore,'assignment',$mod->id)) { //Restore assignmet_submissions - $status = assignment_submissions_restore_mods($mod->id, $newid,$info,$restore, $subtype) && $status; + $status = assignment_submissions_restore_mods($mod->id, $newid,$info,$restore) && $status; } } else { $status = false; @@ -132,7 +121,7 @@ } //This function restores the assignment_submissions - function assignment_submissions_restore_mods($old_assignment_id, $new_assignment_id,$info,$restore, $subtype) { + function assignment_submissions_restore_mods($old_assignment_id, $new_assignment_id,$info,$restore) { global $CFG, $DB; $status = true; @@ -209,8 +198,6 @@ $status = assignment_restore_files ($old_assignment_id, $new_assignment_id, $olduserid, $submission->userid, $restore); - $submission->id = $newid; - $status = $subtype->restore_one_submission($submission, $info, $restore); } else { $status = false; }