diff --git a/mod/assignment/backuplib.php b/mod/assignment/backuplib.php index 8e8de5dedb1..747df2bb94a 100644 --- a/mod/assignment/backuplib.php +++ b/mod/assignment/backuplib.php @@ -73,13 +73,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); } @@ -97,7 +94,7 @@ $status = true; - $assignment_submissions = get_records("assignment_submissions","assignment",$assignment->id,"id"); + $assignment_submissions = get_records("assignment_submissions","assignment",$assignment,"id"); //If there is submissions if ($assignment_submissions) { //Write start tag @@ -120,9 +117,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)); } @@ -275,28 +269,4 @@ FROM {$CFG->prefix}assignment_submissions s WHERE s.assignment = $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; - static $course; - if (empty($course)) { - $course = get_record('course', '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 d2ed5d7d99a..7b011f78b17 100644 --- a/mod/assignment/lib.php +++ b/mod/assignment/lib.php @@ -1924,61 +1924,6 @@ class assignment_base { return $status; } - - /** - * 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 5ec5a0e11fb..19ef45cfe4f 100644 --- a/mod/assignment/restorelib.php +++ b/mod/assignment/restorelib.php @@ -105,22 +105,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 = get_record('course_modules', '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; @@ -133,7 +122,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; @@ -211,8 +200,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; }