From: rkingdon Date: Mon, 3 Nov 2003 18:45:05 +0000 (+0000) Subject: Minor fix in assessments.php. Revisions to backup and restore to always include teach... X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=3d24fbafb572592c5e1a98c49edf0ed0ac5af2a4;p=moodle.git Minor fix in assessments.php. Revisions to backup and restore to always include teacher's submissions. --- diff --git a/mod/exercise/assessments.php b/mod/exercise/assessments.php index d4b7d3ffef..8bbc778b66 100644 --- a/mod/exercise/assessments.php +++ b/mod/exercise/assessments.php @@ -785,7 +785,7 @@ // show grade if grading strategy is not zero if ($exercise->gradingstrategy) { - redirect($returnto, "

".get_string("thegradeis", "exercise").": ". number_format($grade * $exercise->grade / 100.0, 1)."% (".get_string("maximumgrade"). " ".number_format($exercise->grade)."%)

", 1); } diff --git a/mod/exercise/backuplib.php b/mod/exercise/backuplib.php index a1100c515c..0677ac92d3 100644 --- a/mod/exercise/backuplib.php +++ b/mod/exercise/backuplib.php @@ -67,18 +67,22 @@ 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; @@ -97,17 +101,17 @@ //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)); } @@ -133,12 +137,12 @@ //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)); } @@ -148,32 +152,71 @@ 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)); } @@ -259,9 +302,41 @@ } - //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; @@ -270,12 +345,16 @@ //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"); + } + } } } diff --git a/mod/exercise/restorelib.php b/mod/exercise/restorelib.php index f8d5df6d64..53654f454c 100644 --- a/mod/exercise/restorelib.php +++ b/mod/exercise/restorelib.php @@ -81,12 +81,9 @@ 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; } @@ -102,7 +99,7 @@ } //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; @@ -140,7 +137,7 @@ 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; } @@ -151,50 +148,52 @@ //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 "
"; + //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 "
"; + } + 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; @@ -223,105 +222,110 @@ $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 "
"; + //Do some output + if (($i+1) % 50 == 0) { + echo "."; + if (($i+1) % 1000 == 0) { + echo "
"; + } + 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 "
"; + //Do some output + if (($i+1) % 50 == 0) { + echo "."; + if (($i+1) % 1000 == 0) { + echo "
"; + } + 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; } } @@ -335,37 +339,39 @@ $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 "
"; + //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 "
"; + } + backup_flush(300); } - backup_flush(300); - } - if (!$newid) { - $status = false; + if (!$newid) { + $status = false; + } } }