Permalink
Browse files

MDL-19142 assignment/backup: reverting earlier patch while I figure o…

…ut a better way to deal with course_modules during restore
  • Loading branch information...
1 parent c1816fe commit 894909f8bc81e42fb20d652ee35fd2ac635eaf9c mjollnir_ committed Aug 11, 2009
Showing with 4 additions and 102 deletions.
  1. +2 −32 mod/assignment/backuplib.php
  2. +0 −55 mod/assignment/lib.php
  3. +2 −15 mod/assignment/restorelib.php
@@ -73,13 +73,10 @@ function assignment_backup_one_mod($bf,$preferences,$assignment) {
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 @@ function backup_assignment_submissions ($bf,$preferences,$assignment) {
$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 @@ function backup_assignment_submissions ($bf,$preferences,$assignment) {
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 @@ function assignment_submission_ids_by_instance ($instanceid) {
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);
- }
- }
?>
View
@@ -1924,61 +1924,6 @@ function reset_userdata($data) {
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
@@ -105,22 +105,11 @@ function assignment_restore_mods($mod,$restore) {
//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 @@ function assignment_restore_mods($mod,$restore) {
}
//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 @@ function assignment_submissions_restore_mods($old_assignment_id, $new_assignment
$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;
}

0 comments on commit 894909f

Please sign in to comment.