// show grade if grading strategy is not zero
if ($exercise->gradingstrategy) {
- redirect($returnto, "<p align=\"center\"><b.".get_string("thegradeis", "exercise").": ".
+ redirect($returnto, "<p align=\"center\"><b>".get_string("thegradeis", "exercise").": ".
number_format($grade * $exercise->grade / 100.0, 1)."% (".get_string("maximumgrade").
" ".number_format($exercise->grade)."%)</b></p>", 1);
}
fwrite ($bf,full_tag("SHOWLEAGUETABLE",4,false,$exercise->showleaguetable));
//Now we backup exercise elements
$status = backup_exercise_elements($bf,$preferences,$exercise->id);
+ //Now we backup any teacher submissions (these are an integral part of the exercise)
+ $status = backup_exercise_teacher_submissions($bf, $preferences, $exercise->id);
//if we've selected to backup users info, then execute backup_exercise_submisions
if ($preferences->mods["exercise"]->userinfo) {
- $status = backup_exercise_submissions($bf,$preferences,$exercise->id);
+ $status = backup_exercise_student_submissions($bf,$preferences,$exercise->id);
}
//End mod
$status =fwrite ($bf,end_tag("MOD",3,true));
- }
- }
- //if we've selected to backup users info, then backup files too
- if ($status) {
- if ($preferences->mods["exercise"]->userinfo) {
- $status = backup_exercise_files($bf,$preferences);
+ //we need to backup the teacher files (the exercise descriptions)
+ $status = backup_exercise_teacher_files($bf, $preferences, $exercise->id);
+ //if we've selected to backup users info, then backup files too
+ if ($status) {
+ if ($preferences->mods["exercise"]->userinfo) {
+ $status = backup_exercise_student_files($bf,$preferences, $exercise->id);
+ }
+ }
}
}
return $status;
//Write start tag
$status =fwrite ($bf,start_tag("ELEMENTS",4,true));
//Iterate over each element
- foreach ($exercise_elements as $wor_ele) {
+ foreach ($exercise_elements as $element) {
//Start element
$status =fwrite ($bf,start_tag("ELEMENT",5,true));
//Print element contents
- fwrite ($bf,full_tag("ELEMENTNO",6,false,$wor_ele->elementno));
- fwrite ($bf,full_tag("DESCRIPTION",6,false,$wor_ele->description));
- fwrite ($bf,full_tag("SCALE",6,false,$wor_ele->scale));
- fwrite ($bf,full_tag("MAXSCORE",6,false,$wor_ele->maxscore));
- fwrite ($bf,full_tag("WEIGHT",6,false,$wor_ele->weight));
+ fwrite ($bf,full_tag("ELEMENTNO",6,false,$element->elementno));
+ fwrite ($bf,full_tag("DESCRIPTION",6,false,$element->description));
+ fwrite ($bf,full_tag("SCALE",6,false,$element->scale));
+ fwrite ($bf,full_tag("MAXSCORE",6,false,$element->maxscore));
+ fwrite ($bf,full_tag("WEIGHT",6,false,$element->weight));
//Now we backup exercise rubrics
- $status = backup_exercise_rubrics($bf,$preferences,$exercise,$wor_ele->elementno);
+ $status = backup_exercise_rubrics($bf,$preferences,$exercise,$element->elementno);
//End element
$status =fwrite ($bf,end_tag("ELEMENT",5,true));
}
//Write start tag
$status =fwrite ($bf,start_tag("RUBRICS",6,true));
//Iterate over each element
- foreach ($exercise_rubrics as $wor_rub) {
+ foreach ($exercise_rubrics as $rubric) {
//Start rubric
$status =fwrite ($bf,start_tag("RUBRIC",7,true));
//Print rubric contents
- fwrite ($bf,full_tag("RUBRICNO",8,false,$wor_rub->rubricno));
- fwrite ($bf,full_tag("DESCRIPTION",8,false,$wor_rub->description));
+ fwrite ($bf,full_tag("RUBRICNO",8,false,$rubric->rubricno));
+ fwrite ($bf,full_tag("DESCRIPTION",8,false,$rubric->description));
//End rubric
$status =fwrite ($bf,end_tag("RUBRIC",7,true));
}
return $status;
}
- //Backup exercise_submissions contents (executed from exercise_backup_mods)
- function backup_exercise_submissions ($bf,$preferences,$exercise) {
+ //Backup exercise_teacher_submissions contents (executed from exercise_backup_mods)
+ function backup_exercise_teacher_submissions ($bf,$preferences,$exerciseid) {
+
+ global $CFG;
+
+ $status = true;
+
+ $exercise_submissions = get_records_select("exercise_submissions","exerciseid = $exerciseid
+ AND isexercise = 1");
+ //If there is submissions
+ if ($exercise_submissions) {
+ //Write start tag
+ $status =fwrite ($bf,start_tag("SUBMISSIONS",4,true));
+ //Iterate over each submission
+ foreach ($exercise_submissions as $submission) {
+ //Start submission
+ $status =fwrite ($bf,start_tag("SUBMISSION",5,true));
+ //Print submission contents
+ fwrite ($bf,full_tag("ID",6,false,$submission->id));
+ fwrite ($bf,full_tag("USERID",6,false,$submission->userid));
+ fwrite ($bf,full_tag("TITLE",6,false,$submission->title));
+ fwrite ($bf,full_tag("TIMECREATED",6,false,$submission->timecreated));
+ fwrite ($bf,full_tag("RESUBMIT",6,false,$submission->resubmit));
+ fwrite ($bf,full_tag("MAILED",6,false,$submission->mailed));
+ fwrite ($bf,full_tag("ISEXERCISE",6,false,$submission->isexercise));
+ //Now we backup any exercise assessments (if student data required)
+ if ($preferences->mods["exercise"]->userinfo) {
+ $status = backup_exercise_assessments($bf,$preferences,$exerciseid,$submission->id);
+ }
+ //End submission
+ $status =fwrite ($bf,end_tag("SUBMISSION",5,true));
+ }
+ //Write end tag
+ $status =fwrite ($bf,end_tag("SUBMISSIONS",4,true));
+ }
+ return $status;
+ }
+
+ //Backup exercise_student_submissions contents (executed from exercise_backup_mods)
+ function backup_exercise_student_submissions ($bf,$preferences,$exerciseid) {
global $CFG;
$status = true;
- $exercise_submissions = get_records("exercise_submissions","exerciseid",$exercise,"id");
+ $exercise_submissions = get_records_select("exercise_submissions","exerciseid = $exerciseid
+ AND isexercise = 0");
//If there is submissions
if ($exercise_submissions) {
//Write start tag
$status =fwrite ($bf,start_tag("SUBMISSIONS",4,true));
//Iterate over each submission
- foreach ($exercise_submissions as $wor_sub) {
+ foreach ($exercise_submissions as $submission) {
//Start submission
$status =fwrite ($bf,start_tag("SUBMISSION",5,true));
//Print submission contents
- fwrite ($bf,full_tag("ID",6,false,$wor_sub->id));
- fwrite ($bf,full_tag("USERID",6,false,$wor_sub->userid));
- fwrite ($bf,full_tag("TITLE",6,false,$wor_sub->title));
- fwrite ($bf,full_tag("TIMECREATED",6,false,$wor_sub->timecreated));
- fwrite ($bf,full_tag("RESUBMIT",6,false,$wor_sub->resubmit));
- fwrite ($bf,full_tag("MAILED",6,false,$wor_sub->mailed));
- fwrite ($bf,full_tag("ISEXERCISE",6,false,$wor_sub->isexercise));
- //Now we backup exercise assessments
- $status = backup_exercise_assessments($bf,$preferences,$exercise,$wor_sub->id);
+ fwrite ($bf,full_tag("ID",6,false,$submission->id));
+ fwrite ($bf,full_tag("USERID",6,false,$submission->userid));
+ fwrite ($bf,full_tag("TITLE",6,false,$submission->title));
+ fwrite ($bf,full_tag("TIMECREATED",6,false,$submission->timecreated));
+ fwrite ($bf,full_tag("RESUBMIT",6,false,$submission->resubmit));
+ fwrite ($bf,full_tag("MAILED",6,false,$submission->mailed));
+ fwrite ($bf,full_tag("ISEXERCISE",6,false,$submission->isexercise));
+ //Now we backup any exercise assessments
+ $status = backup_exercise_assessments($bf,$preferences,$exerciseid,$submission->id);
//End submission
$status =fwrite ($bf,end_tag("SUBMISSION",5,true));
}
}
- //Backup exercise files because we've selected to backup user info
+ //Backup the teacher's exercise files (they are an integral part of the exercise)
+ function backup_exercise_teacher_files($bf,$preferences, $exerciseid) {
+
+ global $CFG;
+
+ $status = true;
+
+ //First we check to moddata exists and create it as necessary
+ //in temp/backup/$backup_code dir
+ $status = check_and_create_moddata_dir($preferences->backup_unique_code);
+ //in temp/backup/$backup_code/moddate create the exercise diretory
+ $status = check_dir_exists("$CFG->dataroot/temp/backup/$preferences->backup_unique_code/moddata/exercise", true);
+ if ($status) {
+ //Now copy the submission dirs
+ if ($submissions = get_records_select("exercise_submissions", "exerciseid = $exerciseid
+ AND isexercise = 1")) {
+ foreach ($submissions as $submission) {
+ //Only if it exists !! Thanks to Daniel Miksik.
+ if (is_dir("{$CFG->dataroot}/$preferences->backup_course/{$CFG->moddata}/exercise/$submission->id")) {
+ // create directory
+ // $status = check_dir_exists("$CFG->dataroot/temp/backup/$preferences->backup_unique_code/moddata/exercise", true);
+ // copy all the files in the directory
+ $status = backup_copy_file("{$CFG->dataroot}/$preferences->backup_course/{$CFG->moddata}/exercise/$submission->id", "{$CFG->dataroot}/temp/backup/$preferences->backup_unique_code/moddata/exercise/$submission->id");
+ }
+ }
+ }
+ }
+
+ return $status;
+
+ }
+
+ //Backup students' exercise files because we've selected to backup user info
//and files are user info's level
- function backup_exercise_files($bf,$preferences) {
+ function backup_exercise_student_files($bf,$preferences, $exerciseid) {
global $CFG;
//First we check to moddata exists and create it as necessary
//in temp/backup/$backup_code dir
$status = check_and_create_moddata_dir($preferences->backup_unique_code);
- //Now copy the exercise dir
if ($status) {
- //Only if it exists !! Thanks to Daniel Miksik.
- if (is_dir($CFG->dataroot."/".$preferences->backup_course."/".$CFG->moddata."/exercise")) {
- $status = backup_copy_file($CFG->dataroot."/".$preferences->backup_course."/".$CFG->moddata."/exercise",
- $CFG->dataroot."/temp/backup/".$preferences->backup_unique_code."/moddata/exercise");
+ //Now copy the submission dirs
+ if ($submissions = get_records_select("exercise_submissions", "exerciseid = $exerciseid
+ AND isexercise = 0")) {
+ foreach ($submissions as $submission) {
+ //Only if it exists !! Thanks to Daniel Miksik.
+ if (is_dir("{$CFG->dataroot}/$preferences->backup_course/$CFG->moddata/exercise/$submission->id")) {
+ $status = backup_copy_file("{$CFG->dataroot}/$preferences->backup_course/{$CFG->moddata}/exercise/$submission->id", "{$CFG->dataroot}/temp/backup/$preferences->backup_unique_code/moddata/exercise/$submission->id");
+ }
+ }
}
}
backup_putid($restore->backup_unique_code,$mod->modtype,
$mod->id, $newid);
//We have to restore the exercise_elements table now (course level table)
- $status = exercise_elements_restore_mods($newid,$info,$restore);
- //Now check if want to restore user data and do it.
- if ($restore->mods['exercise']->userinfo) {
- //Restore exercise_submissions
- $status = exercise_submissions_restore_mods ($mod->id, $newid,$info,$restore);
- }
+ $status = exercise_elements_restore($newid,$info,$restore);
+ //restore the teacher submissions and optionally the student submissions
+ $status = exercise_submissions_restore($mod->id, $newid,$info,$restore);
} else {
$status = false;
}
}
//This function restores the exercise_elements
- function exercise_elements_restore_mods($exercise_id,$info,$restore) {
+ function exercise_elements_restore($exercise_id,$info,$restore) {
global $CFG;
if ($newid) {
//We have to restore the exercise_rubrics table now (course level table)
- $status = exercise_rubrics_restore_mods($exercise_id,$element->elementno,$ele_info,$restore);
+ $status = exercise_rubrics_restore($exercise_id,$element->elementno,$ele_info,$restore);
} else {
$status = false;
}
//This function restores the exercise_rubrics
- function exercise_rubrics_restore_mods($exercise_id,$elementno,$info,$restore) {
+ function exercise_rubrics_restore($exercise_id,$elementno,$info,$restore) {
global $CFG;
$status = true;
- //Get the exercise_rubrics array
- $rubrics = $info['#']['RUBRICS']['0']['#']['RUBRIC'];
-
- //Iterate over exercise_rubrics
- for($i = 0; $i < sizeof($rubrics); $i++) {
- $rub_info = $rubrics[$i];
- //traverse_xmlize($rub_info); //Debug
- //print_object ($GLOBALS['traverse_array']); //Debug
- //$GLOBALS['traverse_array']=""; //Debug
-
- //Now, build the exercise_RUBRICS record structure
- $rubric->exerciseid = $exercise_id;
- $rubric->elementno = $elementno;
- $rubric->rubricno = backup_todb($rub_info['#']['RUBRICNO']['0']['#']);
- $rubric->description = backup_todb($rub_info['#']['DESCRIPTION']['0']['#']);
-
- //The structure is equal to the db, so insert the exercise_rubrics
- $newid = insert_record ("exercise_rubrics",$rubric);
-
- //Do some output
- if (($i+1) % 10 == 0) {
- echo ".";
- if (($i+1) % 200 == 0) {
- echo "<br>";
+ //Get the exercise_rubrics array (optional)
+ if (isset($info['#']['RUBRICS']['0']['#']['RUBRIC'])) {
+ $rubrics = $info['#']['RUBRICS']['0']['#']['RUBRIC'];
+
+ //Iterate over exercise_rubrics
+ for($i = 0; $i < sizeof($rubrics); $i++) {
+ $rub_info = $rubrics[$i];
+ //traverse_xmlize($rub_info); //Debug
+ //print_object ($GLOBALS['traverse_array']); //Debug
+ //$GLOBALS['traverse_array']=""; //Debug
+
+ //Now, build the exercise_RUBRICS record structure
+ $rubric->exerciseid = $exercise_id;
+ $rubric->elementno = $elementno;
+ $rubric->rubricno = backup_todb($rub_info['#']['RUBRICNO']['0']['#']);
+ $rubric->description = backup_todb($rub_info['#']['DESCRIPTION']['0']['#']);
+
+ //The structure is equal to the db, so insert the exercise_rubrics
+ $newid = insert_record ("exercise_rubrics",$rubric);
+
+ //Do some output
+ if (($i+1) % 10 == 0) {
+ echo ".";
+ if (($i+1) % 200 == 0) {
+ echo "<br>";
+ }
+ backup_flush(300);
}
- backup_flush(300);
- }
- if (!$newid) {
- $status = false;
+ if (!$newid) {
+ $status = false;
+ }
}
}
return $status;
}
- //This function restores the exercise_submissions
- function exercise_submissions_restore_mods($old_exercise_id, $new_exercise_id,$info,$restore) {
+ //This function restores the submissions
+ function exercise_submissions_restore($old_exercise_id, $new_exercise_id,$info,$restore) {
global $CFG;
$submission->mailed = backup_todb($sub_info['#']['MAILED']['0']['#']);
$submission->isexercise = backup_todb($sub_info['#']['ISEXERCISE']['0']['#']);
- //We have to recode the userid field
- $user = backup_getid($restore->backup_unique_code,"user",$olduserid);
- if ($user) {
- $submission->userid = $user->new_id;
- }
+ //test if this is from teacher or we restoring student submissions
+ if ($submission->isexercise or $restore->mods['exercise']->userinfo) {
+ //We have to recode the userid field
+ $user = backup_getid($restore->backup_unique_code,"user",$olduserid);
+ if ($user) {
+ $submission->userid = $user->new_id;
+ }
- //The structure is equal to the db, so insert the exercise_submission
- $newid = insert_record ("exercise_submissions",$submission);
+ //The structure is equal to the db, so insert the exercise_submission
+ $newid = insert_record ("exercise_submissions",$submission);
- //Do some output
- if (($i+1) % 50 == 0) {
- echo ".";
- if (($i+1) % 1000 == 0) {
- echo "<br>";
+ //Do some output
+ if (($i+1) % 50 == 0) {
+ echo ".";
+ if (($i+1) % 1000 == 0) {
+ echo "<br>";
+ }
+ backup_flush(300);
}
- backup_flush(300);
- }
- if ($newid) {
- //We have the newid, update backup_ids
- backup_putid($restore->backup_unique_code,"exercise_submissions",$oldid,
- $newid);
-
- //Now copy moddata associated files
- $status = exercise_restore_files ($oldid, $newid,$restore);
- //Now we need to restore exercise_assessments (user level table)
- if ($status) {
- $status = exercise_assessments_restore_mods ($new_exercise_id, $newid,$sub_info,$restore);
+ if ($newid) {
+ //We have the newid, update backup_ids
+ backup_putid($restore->backup_unique_code,"exercise_submissions",$oldid,
+ $newid);
+
+ //Now copy moddata associated files
+ $status = exercise_restore_files($oldid, $newid,$restore);
+ //Now we need to restore exercise_assessments (user level table)
+ if ($status and $restore->mods['exercise']->userinfo) {
+ $status = exercise_assessments_restore($new_exercise_id, $newid,$sub_info,$restore);
+ }
+ } else {
+ $status = false;
}
- } else {
- $status = false;
}
}
- return $status;
+ return $status;
}
//This function restores the exercise_assessments
- function exercise_assessments_restore_mods($new_exercise_id, $new_submission_id,$info,$restore) {
+ function exercise_assessments_restore($new_exercise_id, $new_submission_id,$info,$restore) {
global $CFG;
$status = true;
- //Get the assessments array
- $assessments = $info['#']['ASSESSMENTS']['0']['#']['ASSESSMENT'];
-
- //Iterate over assessments
- for($i = 0; $i < sizeof($assessments); $i++) {
- $ass_info = $assessments[$i];
- //traverse_xmlize($ass_info); //Debug
- //print_object ($GLOBALS['traverse_array']); //Debug
- //$GLOBALS['traverse_array']=""; //Debug
-
- //We'll need this later!!
- $oldid = backup_todb($ass_info['#']['ID']['0']['#']);
- $olduserid = backup_todb($ass_info['#']['USERID']['0']['#']);
-
- //Now, build the exercise_ASSESSMENTS record structure
- $assessment->exerciseid = $new_exercise_id;
- $assessment->submissionid = $new_submission_id;
- $assessment->userid = backup_todb($ass_info['#']['USERID']['0']['#']);
- $assessment->timecreated = backup_todb($ass_info['#']['TIMECREATED']['0']['#']);
- $assessment->timegraded = backup_todb($ass_info['#']['TIMEGRADED']['0']['#']);
- $assessment->grade = backup_todb($ass_info['#']['GRADE']['0']['#']);
- $assessment->gradinggrade = backup_todb($ass_info['#']['GRADINGGRADE']['0']['#']);
- $assessment->mailed = backup_todb($ass_info['#']['MAILED']['0']['#']);
- $assessment->generalcomment = backup_todb($ass_info['#']['GENERALCOMMENT']['0']['#']);
- $assessment->teachercomment = backup_todb($ass_info['#']['TEACHERCOMMENT']['0']['#']);
-
- //We have to recode the userid field
- $user = backup_getid($restore->backup_unique_code,"user",$olduserid);
- if ($user) {
- $assessment->userid = $user->new_id;
- }
+ //Get the assessments array (optional)
+ if (isset($info['#']['ASSESSMENTS']['0']['#']['ASSESSMENT'])) {
+ $assessments = $info['#']['ASSESSMENTS']['0']['#']['ASSESSMENT'];
+
+ //Iterate over assessments
+ for($i = 0; $i < sizeof($assessments); $i++) {
+ $ass_info = $assessments[$i];
+ //traverse_xmlize($ass_info); //Debug
+ //print_object ($GLOBALS['traverse_array']); //Debug
+ //$GLOBALS['traverse_array']=""; //Debug
+
+ //We'll need this later!!
+ $oldid = backup_todb($ass_info['#']['ID']['0']['#']);
+ $olduserid = backup_todb($ass_info['#']['USERID']['0']['#']);
+
+ //Now, build the exercise_ASSESSMENTS record structure
+ $assessment->exerciseid = $new_exercise_id;
+ $assessment->submissionid = $new_submission_id;
+ $assessment->userid = backup_todb($ass_info['#']['USERID']['0']['#']);
+ $assessment->timecreated = backup_todb($ass_info['#']['TIMECREATED']['0']['#']);
+ $assessment->timegraded = backup_todb($ass_info['#']['TIMEGRADED']['0']['#']);
+ $assessment->grade = backup_todb($ass_info['#']['GRADE']['0']['#']);
+ $assessment->gradinggrade = backup_todb($ass_info['#']['GRADINGGRADE']['0']['#']);
+ $assessment->mailed = backup_todb($ass_info['#']['MAILED']['0']['#']);
+ $assessment->generalcomment = backup_todb($ass_info['#']['GENERALCOMMENT']['0']['#']);
+ $assessment->teachercomment = backup_todb($ass_info['#']['TEACHERCOMMENT']['0']['#']);
+
+ //We have to recode the userid field
+ $user = backup_getid($restore->backup_unique_code,"user",$olduserid);
+ if ($user) {
+ $assessment->userid = $user->new_id;
+ }
- //The structure is equal to the db, so insert the exercise_assessment
- $newid = insert_record ("exercise_assessments",$assessment);
+ //The structure is equal to the db, so insert the exercise_assessment
+ $newid = insert_record ("exercise_assessments",$assessment);
- //Do some output
- if (($i+1) % 50 == 0) {
- echo ".";
- if (($i+1) % 1000 == 0) {
- echo "<br>";
+ //Do some output
+ if (($i+1) % 50 == 0) {
+ echo ".";
+ if (($i+1) % 1000 == 0) {
+ echo "<br>";
+ }
+ backup_flush(300);
}
- backup_flush(300);
- }
-
- if ($newid) {
- //We have the newid, update backup_ids
- backup_putid($restore->backup_unique_code,"exercise_assessments",$oldid,
- $newid);
- //Now we need to restore exercise_grades (user level table)
- if ($status) {
- $status = exercise_grades_restore_mods ($new_exercise_id, $newid,$ass_info,$restore);
+ if ($newid) {
+ //We have the newid, update backup_ids
+ backup_putid($restore->backup_unique_code,"exercise_assessments",$oldid,
+ $newid);
+
+ //Now we need to restore exercise_grades (user level table)
+ if ($status) {
+ $status = exercise_grades_restore_mods ($new_exercise_id, $newid,$ass_info,$restore);
+ }
+ } else {
+ $status = false;
}
- } else {
- $status = false;
}
}
$status = true;
- //Get the grades array
- $grades = $info['#']['GRADES']['0']['#']['GRADE'];
-
- //Iterate over grades
- for($i = 0; $i < sizeof($grades); $i++) {
- $gra_info = $grades[$i];
- //traverse_xmlize($gra_info); //Debug
- //print_object ($GLOBALS['traverse_array']); //Debug
- //$GLOBALS['traverse_array']=""; //Debug
-
- //Now, build the exercise_GRADES record structure
- $grade->exerciseid = $new_exercise_id;
- $grade->assessmentid = $new_assessment_id;
- $grade->elementno = backup_todb($gra_info['#']['ELEMENTNO']['0']['#']);
- $grade->feedback = backup_todb($gra_info['#']['FEEDBACK']['0']['#']);
- $grade->grade = backup_todb($gra_info['#']['GRADE_VALUE']['0']['#']);
-
- //The structure is equal to the db, so insert the exercise_grade
- $newid = insert_record ("exercise_grades",$grade);
-
- //Do some output
- if (($i+1) % 50 == 0) {
- echo ".";
- if (($i+1) % 1000 == 0) {
- echo "<br>";
+ //Get the grades array (optional)
+ if (isset($info['#']['GRADES']['0']['#']['GRADE'])) {
+ $grades = $info['#']['GRADES']['0']['#']['GRADE'];
+
+ //Iterate over grades
+ for($i = 0; $i < sizeof($grades); $i++) {
+ $gra_info = $grades[$i];
+ //traverse_xmlize($gra_info); //Debug
+ //print_object ($GLOBALS['traverse_array']); //Debug
+ //$GLOBALS['traverse_array']=""; //Debug
+
+ //Now, build the exercise_GRADES record structure
+ $grade->exerciseid = $new_exercise_id;
+ $grade->assessmentid = $new_assessment_id;
+ $grade->elementno = backup_todb($gra_info['#']['ELEMENTNO']['0']['#']);
+ $grade->feedback = backup_todb($gra_info['#']['FEEDBACK']['0']['#']);
+ $grade->grade = backup_todb($gra_info['#']['GRADE_VALUE']['0']['#']);
+
+ //The structure is equal to the db, so insert the exercise_grade
+ $newid = insert_record ("exercise_grades",$grade);
+
+ //Do some output
+ if (($i+1) % 50 == 0) {
+ echo ".";
+ if (($i+1) % 1000 == 0) {
+ echo "<br>";
+ }
+ backup_flush(300);
}
- backup_flush(300);
- }
- if (!$newid) {
- $status = false;
+ if (!$newid) {
+ $status = false;
+ }
}
}