}
// there can be an assessment record (for teacher submissions), if there isn't...
- if (!$assessment = workshop_get_submission_assessment($submission, $USER)) {
+ if (!get_record("workshop_assessments", "submissionid", $submission->id, "userid", $USER->id)) {
$yearfromnow = time() + 365 * 86400;
// ...create one and set timecreated way in the future, this is reset when record is updated
$assessment->workshopid = $workshop->id;
<?PHP
// now show the comment
- echo "<TR valign=top>\n";\r
- echo " <TD align=right><P><B>". get_string("comment", "workshop").":</B></P></TD>\n";\r
- echo " <TD>\n";\r
+ echo "<TR valign=top>\n";
+ echo " <TD align=right><P><B>". get_string("comment", "workshop").":</B></P></TD>\n";
+ echo " <TD>\n";
echo " <textarea name=\"comments\" rows=5 cols=75 wrap=\"virtual\">\n";
if (isset($comment->comments)) {
echo $comment->comments;
}
- echo " </textarea>\n";\r
+ echo " </textarea>\n";
echo " </TD></TR></TABLE>\n";
echo "<INPUT TYPE=submit VALUE=\"".get_string("savemycomment", "workshop")."\">\n";
echo "</CENTER></FORM>\n";
workshop_print_assessment($workshop, $assessment);
- }\r
+ }
/*********************** edit assessment elements (for teachers) ***********************/
$elements[$i]->weight = 11;
}
}
+
switch ($workshop->gradingstrategy) {
case 0: // no grading
for ($i=0; $i<$workshop->nelements; $i++) {
$iplus1 = $i+1;
- echo "<TR valign=top>\n";\r
- echo " <TD ALIGN=RIGHT><P><B>". get_string("element","workshop")." $iplus1:</B></TD>\n";\r
- echo "<TD><textarea name=\"description[]\" rows=3 cols=75 wrap=\"virtual\">".$elements[$i]->description."</textarea>\n";\r
+ echo "<TR valign=top>\n";
+ echo " <TD ALIGN=RIGHT><P><B>". get_string("element","workshop")." $iplus1:</B></TD>\n";
+ echo "<TD><textarea name=\"description[]\" rows=3 cols=75 wrap=\"virtual\">".$elements[$i]->description."</textarea>\n";
echo " </TD></TR>\n";
- echo "<TR valign=top>\n";\r
- echo " <TD colspan=2 BGCOLOR=\"$THEME->cellheading2\"> </TD>\n";\r
+ echo "<TR valign=top>\n";
+ echo " <TD colspan=2 BGCOLOR=\"$THEME->cellheading2\"> </TD>\n";
echo "</TR>\n";
}
break;
}
for ($i=0; $i<$workshop->nelements; $i++) {
$iplus1 = $i+1;
- echo "<TR valign=top>\n";\r
- echo " <TD ALIGN=RIGHT><P><B>". get_string("element","workshop")." $iplus1:</B></TD>\n";\r
- echo "<TD><textarea name=\"description[]\" rows=3 cols=75 wrap=\"virtual\">".$elements[$i]->description."</textarea>\n";\r
+ echo "<TR valign=top>\n";
+ echo " <TD ALIGN=RIGHT><P><B>". get_string("element","workshop")." $iplus1:</B></TD>\n";
+ echo "<TD><textarea name=\"description[]\" rows=3 cols=75 wrap=\"virtual\">".$elements[$i]->description."</textarea>\n";
echo " </TD></TR>\n";
echo "<TR valign=top>\n";
echo " <TD align=right><P><B>". get_string("typeofscale", "workshop"). ":</B></P></TD>\n";
workshop_choose_from_menu($WORKSHOP_EWEIGHTS, "weight[]", $elements[$i]->weight, "");
echo " </TD>\n";
echo "</TR>\n";
- echo "<TR valign=top>\n";\r
- echo " <TD colspan=2 BGCOLOR=\"$THEME->cellheading2\"> </TD>\n";\r
+ echo "<TR valign=top>\n";
+ echo " <TD colspan=2 BGCOLOR=\"$THEME->cellheading2\"> </TD>\n";
echo "</TR>\n";
}
break;
case 2: // error banded grading
for ($i=0; $i<$workshop->nelements; $i++) {
$iplus1 = $i+1;
- echo "<TR valign=top>\n";\r
- echo " <TD ALIGN=RIGHT><P><B>". get_string("element","workshop")." $iplus1:</B></TD>\n";\r
- echo "<TD><textarea name=\"description[$i]\" rows=3 cols=75 wrap=\"virtual\">".$elements[$i]->description."</textarea>\n";\r
+ echo "<TR valign=top>\n";
+ echo " <TD ALIGN=RIGHT><P><B>". get_string("element","workshop")." $iplus1:</B></TD>\n";
+ echo "<TD><textarea name=\"description[$i]\" rows=3 cols=75 wrap=\"virtual\">".$elements[$i]->description."</textarea>\n";
echo " </TD></TR>\n";
if ($elements[$i]->weight == '') { // not set
$elements[$i]->weight = 11; // unity
workshop_choose_from_menu($WORKSHOP_EWEIGHTS, "weight[]", $elements[$i]->weight, "");
echo " </TD>\n";
echo "</TR>\n";
- echo "<TR valign=top>\n";\r
- echo " <TD colspan=2 BGCOLOR=\"$THEME->cellheading2\"> </TD>\n";\r
+ echo "<TR valign=top>\n";
+ echo " <TD colspan=2 BGCOLOR=\"$THEME->cellheading2\"> </TD>\n";
echo "</TR>\n";
}
echo "</CENTER></TABLE><BR>\n";
echo "<CENTER><TABLE cellpadding=5 border=1><TR><TD ALIGN=\"CENTER\">".
get_string("numberofnegativeresponses", "workshop");
echo "</TD><TD>". get_string("suggestedgrade", "workshop")."</TD></TR>\n";
- for ($j = 100; $j >= 0; $j--) {
+ for ($j = $workshop->grade; $j >= 0; $j--) {
$numbers[$j] = $j;
}
for ($i=0; $i<=$workshop->nelements; $i++) {
}
for ($i=0; $i<$workshop->nelements; $i++) {
$iplus1 = $i+1;
- echo "<TR valign=top>\n";\r
- echo " <TD ALIGN=RIGHT><P><B>". get_string("criterion","workshop")." $iplus1:</B></TD>\n";\r
- echo "<TD><textarea name=\"description[$i]\" rows=3 cols=75 wrap=\"virtual\">".$elements[$i]->description."</textarea>\n";\r
+ echo "<TR valign=top>\n";
+ echo " <TD ALIGN=RIGHT><P><B>". get_string("criterion","workshop")." $iplus1:</B></TD>\n";
+ echo "<TD><textarea name=\"description[$i]\" rows=3 cols=75 wrap=\"virtual\">".$elements[$i]->description."</textarea>\n";
echo " </TD></TR>\n";
echo "<TR><TD><B>". get_string("suggestedgrade", "workshop").":</B></TD><TD>\n";
choose_from_menu($numbers, "maxscore[$i]", $elements[$i]->maxscore, "");
echo "</TD></TR>\n";
- echo "<TR valign=top>\n";\r
- echo " <TD colspan=2 BGCOLOR=\"$THEME->cellheading2\"> </TD>\n";\r
+ echo "<TR valign=top>\n";
+ echo " <TD colspan=2 BGCOLOR=\"$THEME->cellheading2\"> </TD>\n";
echo "</TR>\n";
}
break;
}
for ($i=0; $i<$workshop->nelements; $i++) {
$iplus1 = $i+1;
- echo "<TR valign=top>\n";\r
+ echo "<TR valign=top>\n";
echo " <TD ALIGN=RIGHT><P><B>". get_string("element","workshop")." $iplus1:</B></TD>\n";\r
echo "<TD><textarea name=\"description[$i]\" rows=3 cols=75 wrap=\"virtual\">".$elements[$i]->description."</textarea>\n";\r
echo " </TD></TR>\n";
<?PHP
// now get the teacher's comment
- echo "<TR valign=top>\n";\r
+ echo "<TR valign=top>\n";
echo " <TD align=right><P><B>". get_string("teacherscomment", "workshop").":</B></P></TD>\n";\r
echo " <TD>\n";\r
echo " <textarea name=\"teachercomment\" rows=5 cols=75 wrap=\"virtual\">\n";
if (!isteacher($course->id)) {
error("Only teachers can look at this page");
- }
+ }
$form = (object)$HTTP_POST_VARS;
$element->elementno = $key;
if (!$element->id = insert_record("workshop_elements", $element)) {
error("Could not insert workshop element!");
- }
}
}
+ }
break;
case 1: // accumulative grading
break;
case 'selection' : $element->maxscore = $WORKSHOP_SCALES[$form->scale[$key]]['size'];
break;
- }
}
+ }
if (isset($form->weight[$key])) {
$element->weight = $form->weight[$key];
- }
+ }
if (!$element->id = insert_record("workshop_elements", $element)) {
error("Could not insert workshop element!");
- }
}
}
+ }
break;
case 2: // error banded grading...
$element->maxscore = $themaxscore;
if (isset($form->description[$key])) {
$element->description = $form->description[$key];
- }
+ }
if (isset($form->weight[$key])) {
$element->weight = $form->weight[$key];
- }
+ }
if (!$element->id = insert_record("workshop_elements", $element)) {
error("Could not insert workshop element!");
- }
}
+ }
break;
case 4: // ...and criteria grading
for ($j=0;$j<5;$j++) {
if (empty($form->rubric[$key][$j]))
break;
- }
+ }
$element->maxscore = $j - 1;
if (!$element->id = insert_record("workshop_elements", $element)) {
error("Could not insert workshop element!");
- }
}
+ }
// let's not fool around here, dump the junk!
delete_records("workshop_rubrics", "workshopid", $workshop->id);
for ($i=0;$i<$workshop->nelements;$i++) {
unset($element);
if (empty($form->rubric[$i][$j])) { // OK to have an element with fewer than 5 items
break;
- }
+ }
$element->workshopid = $workshop->id;
$element->elementno = $i;
$element->rubricno = $j;
$element->description = $form->rubric[$i][$j];
if (!$element->id = insert_record("workshop_rubrics", $element)) {
error("Could not insert workshop element!");
- }
}
}
+ }
break;
- } // end of switch
+ } // end of switch
- echo "<P>\n";
- notice_yesno(get_string("amendassessmentelements","workshop")." ".get_string("again"),
- "assessments.php?id=$cm->id&action=editelements", "view.php?id=$cm->id");
- }
+ redirect("view.php?id=$cm->id", get_string("savedok","workshop"));
+ }
/*********************** list assessments for grading (Student submissions)(by teachers)***********************/
if (!$element->id = insert_record("workshop_grades", $element)) {
error("Could not insert workshop element!");
}
- $grade = ($elements[intval($error + 0.5)]->maxscore + $form->grade[$i]) *
- $workshop->grade / 100;
+ $grade = ($elements[intval($error + 0.5)]->maxscore + $form->grade[$i]);
echo "<P><B>".get_string("weightederrorcount", "workshop", intval($error + 0.5))."</B>\n";
break;
// show grade if grading strategy is not zero
if ($workshop->gradingstrategy) {
redirect($returnto, get_string("thegradeis", "workshop").": ".number_format($grade, 2).
- "% (".get_string("maximumgrade")." ".number_format($workshop->grade)."%)");
+ " (".get_string("maximumgrade")." ".number_format($workshop->grade).")");
}
else {
redirect($returnto);
foreach ($assessments as $assessment) {
echo "Processing workshop assessment $assessment->id\n";
- if (! $submission = get_record("workshop_submissions", "id", "$assessment->submissionid")) {
+
+ // only process the entry once
+ if (! set_field("workshop_assessments", "mailed", "1", "id", "$assessment->id")) {
+ echo "Could not update the mailed field for id $assessment->id\n";
+ }
+
+ if (! $submission = get_record("workshop_submissions", "id", "$assessment->submissionid")) {
echo "Could not find submission $assessment->submissionid\n";
continue;
}
$assessmentowner->id)) {
continue; // Not an active participant
}
-
+ // don't sent self assessment
+ if ($submissionowner->id == $assessmentowner->id) {
+ continue;
+ }
$strworkshops = get_string("modulenameplural", "workshop");
$strworkshop = get_string("modulename", "workshop");
// "Your assignment \"$submission->title\" has been assessed by"
if (isstudent($course->id, $assessmentowner->id)) {
$msg = get_string("mail1", "workshop", $submission->title)." a $course->student.\n";
- }
+ }
else {
$msg = get_string("mail1", "workshop", $submission->title).
" $assessmentowner->firstname $assessmentowner->lastname.\n";
- }
+ }
// "The comments and grade can be seen in the workshop assignment '$workshop->name'
$msg .= get_string("mail2", "workshop", $workshop->name)."\n\n";
$posttext .= " $CFG->wwwroot/mod/workshop/view.php?id=$cm->id\n";
$posttext .= "---------------------------------------------------------------------\n";
if ($sendto->mailformat == 1) { // HTML
- $posthtml = "<P><FONT FACE=sans-serif>".
- "<A HREF=\"$CFG->wwwroot/course/view.php?id=$course->id\">$course->shortname</A> ->".
- "<A HREF=\"$CFG->wwwroot/mod/workshop/index.php?id=$course->id\">$strworkshops</A> ->".
- "<A HREF=\"$CFG->wwwroot/mod/workshop/view.php?id=$cm->id\">$workshop->name</A></FONT></P>";
- $posthtml .= "<HR><FONT FACE=sans-serif>";
- $posthtml .= "<P>$msg</P>";
- $posthtml .= "<P>".get_string("mail3", "workshop").
- " <A HREF=\"$CFG->wwwroot/mod/workshop/view.php?id=$cm->id\">$workshop->name</A>.</P></FONT><HR>";
+ $posthtml = "<P><FONT FACE=sans-serif>".
+ "<A HREF=\"$CFG->wwwroot/course/view.php?id=$course->id\">$course->shortname</A> ->".
+ "<A HREF=\"$CFG->wwwroot/mod/workshop/index.php?id=$course->id\">$strworkshops</A> ->".
+ "<A HREF=\"$CFG->wwwroot/mod/workshop/view.php?id=$cm->id\">$workshop->name</A></FONT></P>";
+ $posthtml .= "<HR><FONT FACE=sans-serif>";
+ $posthtml .= "<P>$msg</P>";
+ $posthtml .= "<P>".get_string("mail3", "workshop").
+ " <A HREF=\"$CFG->wwwroot/mod/workshop/view.php?id=$cm->id\">$workshop->name</A>.</P></FONT><HR>";
} else {
- $posthtml = "";
+ $posthtml = "";
}
if (!$teacher = get_teacher($course->id)) {
echo "Error: can not find teacher for course $course->id!\n";
- }
+ }
if (! email_to_user($sendto, $teacher, $postsubject, $posttext, $posthtml)) {
echo "Error: workshop cron: Could not send out mail for id $submission->id to
user $sendto->id ($sendto->email)\n";
- }
- if (! set_field("workshop_assessments", "mailed", "1", "id", "$assessment->id")) {
- echo "Could not update the mailed field for id $assessment->id\n";
- }
}
}
+ }
// look for new assessments of resubmissions
if ($assessments = workshop_get_unmailed_resubmissions($cutofftime)) {
foreach ($assessments as $assessment) {
echo "Processing workshop assessment $assessment->id\n";
- if (! $submission = get_record("workshop_submissions", "id", "$assessment->submissionid")) {
+
+ // only process the entry once
+ if (! set_field("workshop_assessments", "mailed", "1", "id", "$assessment->id")) {
+ echo "Could not update the mailed field for id $assessment->id\n";
+ }
+
+ if (! $submission = get_record("workshop_submissions", "id", "$assessment->submissionid")) {
echo "Could not find submission $assessment->submissionid\n";
continue;
}
echo "Error: workshop cron: Could not send out mail for id $submission->id to
user $sendto->id ($sendto->email)\n";
}
- if (! set_field("workshop_assessments", "mailed", "1", "id", "$assessment->id")) {
- echo "Could not update the mailed field for id $assessment->id\n";
- }
}
}
foreach ($comments as $comment) {
echo "Processing workshop comment $comment->id\n";
- if (! $assessment = get_record("workshop_assessments", "id", "$comment->assessmentid")) {
+
+ // only process the entry once
+ if (! set_field("workshop_comments", "mailed", "1", "id", "$comment->id")) {
+ echo "Could not update the mailed field for comment id $comment->id\n";
+ }
+
+ if (! $assessment = get_record("workshop_assessments", "id", "$comment->assessmentid")) {
echo "Could not find assessment $comment->assessmentid\n";
continue;
}
echo "Error: workshop cron: Could not send out mail for id $submission->id to user
$sendto->id ($sendto->email)\n";
}
- if (! set_field("workshop_comments", "mailed", "1", "id", "$comment->id")) {
- echo "Could not update the mailed field for comment id $comment->id\n";
- }
}
// see if the assessor needs to to told
if ($comment->userid != $assessment->userid) {
foreach ($assessments as $assessment) {
echo "Processing workshop assessment $assessment->id (graded)\n";
+
+ // only process the entry once
+ if (! set_field("workshop_assessments", "mailed", "1", "id", "$assessment->id")) {
+ echo "Could not update the mailed field for id $assessment->id\n";
+ }
if (! $submission = get_record("workshop_submissions", "id", "$assessment->submissionid")) {
echo "Could not find submission $assessment->submissionid\n";
echo "Error: workshop cron: Could not send out mail for id $submission->id to user
$sendto->id ($sendto->email)\n";
}
- if (! set_field("workshop_assessments", "mailed", "1", "id", "$assessment->id")) {
- echo "Could not update the mailed field for id $assessment->id\n";
- }
}
}
//////////////////////////////////////////////////////////////////////////////////////
function workshop_get_submission_assessment($submission, $user) {
- // Return the user's assessment for this submission
- return get_record("workshop_assessments", "submissionid", $submission->id, "userid", $user->id);
+ // Return the user's assessment for this submission (cold or warm, not hot)
+
+ $timenow = time();
+ return get_record_select("workshop_assessments", "submissionid = $submission->id AND
+ userid = $user->id AND timecreated < $timenow");
}
// of assessments are show first
global $CFG;
+ $timenow = time();
if (! $course = get_record("course", "id", $workshop->course)) {
error("Course is misconfigured");
}
if ($nassessed < $workshop->nsassessments) {
// count the number of assessments for each student submission
if ($submissions = workshop_get_student_submissions($workshop)) {
- srand ((float)microtime()*1000000); // initialise random number generator
+ // srand ((float)microtime()*1000000); // now done automatically in PHP 4.2.0->
foreach ($submissions as $submission) {
+ // process only cold submissions
+ if (($submission->timecreated + $CFG->maxeditingtime) > $timenow) {
+ continue;
+ }
$n = count_records("workshop_assessments", "submissionid", $submission->id);
// ...OK to have zero, we add a small random number to randomise things
$nassessments[$submission->id] = $n + rand(0, 98) / 100;
// skip submission if it belongs to this user
if ($submission->userid != $user->id) {
// add a "hot" assessment record if user has NOT already assessed this submission
- if (!$assessment = workshop_get_submission_assessment($submission, $user)) {
+ if (!get_record("workshop_assessments", "submissionid", $submission->id, "userid",
+ $user->id)) {
$yearfromnow = time() + 365 * 86400;
// ...create one and set timecreated way in the future, this is reset when record is updated
$assessment->workshopid = $workshop->id;
$title .= $submission->title;
// test for allocated assesments which have not been done
if ($assessment->timecreated < $timenow) {
- $title .= " {".number_format($assessment->grade, 0)."%";
+ $title .= " {".number_format($assessment->grade, 0);
}
else { // assessment record created but user has not yet assessed this submission
$title .= " {-";
foreach ($nassessments as $submissionid => $n) { // break out of loop when we allocated enough assessments...
$submission = get_record("workshop_submissions", "id", $submissionid);
// ... provided the user has NOT already assessed that submission...
- if (!$assessment = workshop_get_submission_assessment($submission, $user)) {
+ if (!get_record("workshop_assessments", "submissionid", $submission->id, "userid",
+ $user->id)) {
$yearfromnow = time() + 365 * 86400;
// ...create one and set timecreated way in the future, this is reset when record is updated
$assessment->workshopid = $workshop->id;
// only show the grade if grading strategy > 0 and the grade is positive
if ($showgrades and $assessment->grade >= 0) {
- echo "<CENTER><B>".get_string("thegradeis", "workshop").": ".number_format($assessment->grade, 2)."% (".
- get_string("maximumgrade")." ".number_format($workshop->grade, 0)."%)</B></CENTER><BR CLEAR=ALL>\n";
+ echo "<CENTER><B>".get_string("thegradeis", "workshop").": ".number_format($assessment->grade, 2)." (".
+ get_string("maximumgrade")." ".number_format($workshop->grade, 0).")</B></CENTER><BR CLEAR=ALL>\n";
}
}
}
}
echo "</TABLE></CENTER>\n";
- echo "<P><CENTER><TABLE cellpadding=5 border=1><TR><TD>".get_string("adjustment", "workshop")."</TD><TD>\n";
+ echo "<P><CENTER><TABLE cellpadding=5 border=1><TR><TD><b>".get_string("optionaladjustment",
+ "workshop")."</b></TD><TD>\n";
unset($numbers);
for ($j = 20; $j >= -20; $j--) {
$numbers[$j] = $j;
echo "<TD align=center>{$elements[$i]->maxscore}</TD></TR>\n";
}
echo "</TABLE></CENTER>\n";
- echo "<P><CENTER><TABLE cellpadding=5 border=1><TR><TD>".get_string("adjustment", "workshop")."</TD><TD>\n";
+ echo "<P><CENTER><TABLE cellpadding=5 border=1><TR><TD><b>".get_string("optionaladjustment",
+ "workshop")."</b></TD><TD>\n";
unset($numbers);
for ($j = 20; $j >= -20; $j--) {
$numbers[$j] = $j;
// now get the general comment (present in all types)
echo "<tr valign=\"top\">\n";
- echo " <td align=\"right\"><P><B>". get_string("generalcomment", "workshop").":</B></P></TD>\n";
+ switch ($workshop->gradingstrategy) {
+ case 0:
+ case 1:
+ case 4 : // no grading, accumulative and rubic
+ echo " <td align=\"right\"><P><B>". get_string("generalcomment", "workshop").":</B></P></TD>\n";
+ break;
+ default :
+ echo " <td align=\"right\"><P><B>". get_string("reasonforadjustment", "workshop").":</B></P></TD>\n";
+ }
echo " <td>\n";
if ($allowchanges) {
echo " <textarea name=\"generalcomment\" rows=5 cols=75 wrap=\"virtual\">\n";
foreach ($assessments as $assessment) {
if (isteacher($workshop->course, $assessment->userid)) {
$str .= "<A HREF=\"assessments.php?action=viewassessment&a=$workshop->id&aid=$assessment->id\">[";
- $str .= number_format($assessment->grade, 0)."%";
+ $str .= number_format($assessment->grade, 0);
if ($assessment->gradinggrade) { // funny, teacher is grading self!
$str .= "/".number_format($assessment->gradinggrade*100/COMMENTSCALE, 0)."%";
}
foreach ($assessments as $assessment) {
if (isstudent($workshop->course, $assessment->userid)) {
$str .= "<A HREF=\"assessments.php?action=viewassessment&a=$workshop->id&aid=$assessment->id\">{";
- $str .= number_format($assessment->grade, 0)."%";
+ $str .= number_format($assessment->grade, 0);
if ($assessment->gradinggrade) {
$str .= "/".number_format($assessment->gradinggrade*100/COMMENTSCALE, 0)."%";
}
$status = true;
- //Get the workshop_rubrics array
- $rubrics = $info['#']['RUBRICS']['0']['#']['RUBRIC'];
-
- //Iterate over workshop_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 WORKSHOP_RUBRICS record structure
- $rubric->workshopid = $workshop_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 workshop_rubrics
- $newid = insert_record ("workshop_rubrics",$rubric);
-
- //Do some output
- if (($i+1) % 10 == 0) {
- echo ".";
- if (($i+1) % 200 == 0) {
- echo "<br>";
+ //Get the workshop_rubrics array (optional)
+ if (isset($info['#']['RUBRICS']['0']['#']['RUBRIC'])) {
+ $rubrics = $info['#']['RUBRICS']['0']['#']['RUBRIC'];
+
+ //Iterate over workshop_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 WORKSHOP_RUBRICS record structure
+ $rubric->workshopid = $workshop_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 workshop_rubrics
+ $newid = insert_record ("workshop_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;
//Iterate over submissions
for($i = 0; $i < sizeof($submissions); $i++) {
$sub_info = $submissions[$i];
- //traverse_xmlize($sub_info); //Debug
- //print_object ($GLOBALS['traverse_array']); //Debug
- //$GLOBALS['traverse_array']=""; //Debug
+ //traverse_xmlize($sub_info); //Debug
+ //print_object ($GLOBALS['traverse_array']); //Debug
+ //$GLOBALS['traverse_array']=""; //Debug
//We'll need this later!!
$oldid = backup_todb($sub_info['#']['ID']['0']['#']);
$status = true;
- //Get the comments array
- $comments = $info['#']['COMMENTS']['0']['#']['COMMENT'];
-
- //Iterate over comments
- for($i = 0; $i < sizeof($comments); $i++) {
- $com_info = $comments[$i];
- //traverse_xmlize($com_info); //Debug
- //print_object ($GLOBALS['traverse_array']); //Debug
- //$GLOBALS['traverse_array']=""; //Debug
-
- //We'll need this later!!
- $olduserid = backup_todb($com_info['#']['USERID']['0']['#']);
-
- //Now, build the WORKSHOP_COMMENTS record structure
- $comment->workshopid = $new_workshop_id;
- $comment->assessmentid = $new_assessment_id;
- $comment->userid = backup_todb($com_info['#']['USERID']['0']['#']);
- $comment->timecreated = backup_todb($com_info['#']['TIMECREATED']['0']['#']);
- $comment->mailed = backup_todb($com_info['#']['MAILED']['0']['#']);
- $comment->comments = backup_todb($com_info['#']['COMMENT_TEXT']['0']['#']);
-
- //We have to recode the userid field
- $user = backup_getid($restore->backup_unique_code,"user",$olduserid);
- if ($user) {
- $comment->userid = $user->new_id;
- }
+ //Get the comments array (optional)
+ if (isset($info['#']['COMMENTS']['0']['#']['COMMENT'])) {
+ $comments = $info['#']['COMMENTS']['0']['#']['COMMENT'];
+
+ //Iterate over comments
+ for($i = 0; $i < sizeof($comments); $i++) {
+ $com_info = $comments[$i];
+ //traverse_xmlize($com_info); //Debug
+ //print_object ($GLOBALS['traverse_array']); //Debug
+ //$GLOBALS['traverse_array']=""; //Debug
+
+ //We'll need this later!!
+ $olduserid = backup_todb($com_info['#']['USERID']['0']['#']);
+
+ //Now, build the WORKSHOP_COMMENTS record structure
+ $comment->workshopid = $new_workshop_id;
+ $comment->assessmentid = $new_assessment_id;
+ $comment->userid = backup_todb($com_info['#']['USERID']['0']['#']);
+ $comment->timecreated = backup_todb($com_info['#']['TIMECREATED']['0']['#']);
+ $comment->mailed = backup_todb($com_info['#']['MAILED']['0']['#']);
+ $comment->comments = backup_todb($com_info['#']['COMMENT_TEXT']['0']['#']);
+
+ //We have to recode the userid field
+ $user = backup_getid($restore->backup_unique_code,"user",$olduserid);
+ if ($user) {
+ $comment->userid = $user->new_id;
+ }
- //The structure is equal to the db, so insert the workshop_comment
- $newid = insert_record ("workshop_comments",$comment);
+ //The structure is equal to the db, so insert the workshop_comment
+ $newid = insert_record ("workshop_comments",$comment);
- //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) {
- $status = false;
+ if (!$newid) {
+ $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 WORKSHOP_GRADES record structure
- $grade->workshopid = $new_workshop_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 workshop_grade
- $newid = insert_record ("workshop_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 WORKSHOP_GRADES record structure
+ $grade->workshopid = $new_workshop_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 workshop_grade
+ $newid = insert_record ("workshop_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;
+ }
}
}