}
- /*********************** list teacher submissions ***********************/
+ /****************** list teacher submissions ***********************/
elseif ($action == 'listteachersubmissions') {
workshop_list_teacher_submissions($workshop, $USER);
print_continue("view.php?a=$workshop->id");
- }
+ }
/*************** update assessment (by teacher or student) ***************************/
require_variable($aid);
if (! $assessment = get_record("workshop_assessments", "id", $aid)) {
error("workshop assessment is misconfigured");
- }
+ }
// first get the assignment elements for maxscores and weights...
if (!$elementsraw = get_records("workshop_elements", "workshopid", $workshop->id, "elementno ASC")) {
print_string("noteonassignmentelements", "workshop");
- }
+ }
else {
foreach ($elementsraw as $element) {
$elements[] = $element; // to renumber index 0,1,2...
- }
}
+ }
$timenow = time();
// don't fiddle about, delete all the old and add the new!
$element->feedback = $thefeedback;
if (!$element->id = insert_record("workshop_grades", $element)) {
error("Could not insert workshop element!");
- }
}
+ }
$grade = 0; // set to satisfy save to db
break;
$weight = $WORKSHOP_EWEIGHTS[$elements[$key]->weight];
if ($weight > 0) {
$totalweight += $weight;
- }
+ }
$rawgrade += ($grade / $maxscore) * $weight;
// echo "\$key, \$maxscore, \$weight, \$totalweight, \$grade, \$rawgrade : $key, $maxscore, $weight, $totalweight, $grade, $rawgrade<BR>";
- }
+ }
$grade = $workshop->grade * ($rawgrade / $totalweight);
break;
$element->grade = $form->grade[$i];
if (!$element->id = insert_record("workshop_grades", $element)) {
error("Could not insert workshop element!");
- }
- if (empty($form->grade[$i])){
+ }
+ if (empty($form->grade[$i])){
$error += $WORKSHOP_EWEIGHTS[$elements[$i]->weight];
- }
}
+ }
// now save the adjustment
unset($element);
$i = $workshop->nelements;
$element->grade = $form->grade[$i];
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]) *
+ $workshop->grade / 100;
echo "<P><B>".get_string("weightederrorcount", "workshop", intval($error + 0.5))."</B>\n";
break;
$element->grade = $form->grade[0];
if (!$element->id = insert_record("workshop_grades", $element)) {
error("Could not insert workshop element!");
- }
+ }
// now save the adjustment in element one
unset($element);
$element->workshopid = $workshop->id;
$element->grade = $form->grade[1];
if (!$element->id = insert_record("workshop_grades", $element)) {
error("Could not insert workshop element!");
- }
+ }
$grade = ($elements[$form->grade[0]]->maxscore + $form->grade[1]) * $workshop->grade / 100;
break;
$element->grade = $thegrade;
if (!$element->id = insert_record("workshop_grades", $element)) {
error("Could not insert workshop element!");
- }
}
+ }
// now work out the grade...
$rawgrade=0;
$totalweight=0;
$weight = $WORKSHOP_EWEIGHTS[$elements[$key]->weight];
if ($weight > 0) {
$totalweight += $weight;
- }
- $rawgrade += ($grade / $maxscore) * $weight;
}
+ $rawgrade += ($grade / $maxscore) * $weight;
+ }
$grade = $workshop->grade * ($rawgrade / $totalweight);
break;
- } // end of switch
+ } // end of switch
// update the time of the assessment record (may be re-edited)...
set_field("workshop_assessments", "timecreated", $timenow, "id", $assessment->id);
if (!$submission = get_record("workshop_submissions", "id", $assessment->submissionid)) {
error ("Updateassessment: submission record not found");
- }
+ }
// if the workshop does need peer agreement AND it's self assessment then set timeagreed
if ($workshop->agreeassessments and ($submission->userid == $assessment->userid)) {
set_field("workshop_assessments", "timeagreed", $timenow, "id", $assessment->id);
- }
+ }
set_field("workshop_assessments", "grade", $grade, "id", $assessment->id);
- // ...and clear any grading of this assessment
+ // ...and clear any grading of this assessment...
set_field("workshop_assessments", "timegraded", 0, "id", $assessment->id);
set_field("workshop_assessments", "gradinggrade", 0, "id", $assessment->id);
+ // ...and the resubmission flag
+ set_field("workshop_assessments", "resubmission", 0, "id", $assessment->id);
- // any comment?
+ // any comment?
if (!empty($form->generalcomment)) {
set_field("workshop_assessments", "generalcomment", $form->generalcomment, "id", $assessment->id);
- }
+ }
- add_to_log($course->id, "workshop", "assess", "assessments.php?action=viewassessment&id=$cm->id&aid=$assessment->id", "$assessment->id");
+ add_to_log($course->id, "workshop", "assess",
+ "assessments.php?action=viewassessment&id=$cm->id&aid=$assessment->id", "$assessment->id");
// set up return address
if (!$returnto = $form->returnto) {
$returnto = "view.php?id=$cm->id";
- }
+ }
// 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)."%)");
- }
+ redirect($returnto, get_string("thegradeis", "workshop").": ".number_format($grade, 2).
+ "% (".get_string("maximumgrade")." ".number_format($workshop->grade)."%)");
+ }
else {
redirect($returnto);
- }
}
+ }
- /*************** update comment (by author, assessor or teacher) ***************************/
+ /****************** update comment (by author, assessor or teacher) ********************/
elseif ($action == 'updatecomment') {
$timenow = time();
// get the comment record...
if (!$comment = get_record("workshop_comments", "id", $_POST['cid'])) {
error("Update to Comment failed");
- }
+ }
if (!$assessment = get_record("workshop_assessments", "id", $comment->assessmentid)) {
error("Update Comment: Assessment not found");
- }
+ }
//save the comment for the assessment...
if (isset($form->comments)) {
set_field("workshop_comments", "comments", $form->comments, "id", $comment->id);
set_field("workshop_comments", "mailed", 0, "id", $comment->id);
echo "<CENTRE><B>".get_string("savedok", "workshop")."</B></CENTER><BR>\n";
- add_to_log($course->id, "workshop", "comment", "assessments.php?action=viewassessment&id=$cm->id&aid=$assessment->id", "$comment->id");
- }
+ add_to_log($course->id, "workshop", "comment",
+ "assessments.php?action=viewassessment&id=$cm->id&aid=$assessment->id", "$comment->id");
+ }
print_continue("assessments.php?action=viewassessment&id=$cm->id&aid=$assessment->id");
- }\r
+ }
- /*************** update grading (by teacher) ***************************/
+ /****************** update grading (by teacher) ***************************/
elseif ($action == 'updategrading') {
$timenow = time();
if (!isteacher($course->id)) {
error("Only teachers can look at this page");
- }
+ }
$form = (object)$_POST;
if (!$assessment = get_record("workshop_assessments", "id", $_POST['aid'])) {
error("Update Grading failed");
- }
+ }
//save the comment and grade for the assessment
if (isset($form->teachercomment)) {
set_field("workshop_assessments", "teachercomment", $form->teachercomment, "id", $assessment->id);
set_field("workshop_assessments", "mailed", 0, "id", $assessment->id);
echo "<CENTRE><B>".get_string("savedok", "workshop")."</B></CENTRE><BR>\n";
- add_to_log($course->id, "workshop", "grade", "assessments.php?action=viewassessment&id=$cm->id&aid=$assessment->id", "$assessment->id");
- }
+ add_to_log($course->id, "workshop", "grade",
+ "assessments.php?action=viewassessment&id=$cm->id&aid=$assessment->id", "$assessment->id");
+ }
switch ($form->stype) {
case "student" :
redirect("assessments.php?action=listungradedstudentsubmissions&id=$cm->id");
case "teacher" :
redirect("assessments.php?action=listungradedteachersubmissions&id=$cm->id");
break;
- }
- }\r
+ }
+ }
- /******************* user confirm delete ************************************/
+ /****************** user confirm delete ************************************/
elseif ($action == 'userconfirmdelete' ) {
if (empty($_GET['aid'])) {
error("User confirm delete: assessment id missing");
- }
-
- notice_yesno(get_string("confirmdeletionofthisitem","workshop", get_string("assessment", "workshop")),
- "assessments.php?action=userdelete&id=$cm->id&aid=$_GET[aid]", "view.php?id=$cm->id");
}
+
+ notice_yesno(get_string("confirmdeletionofthisitem","workshop",
+ get_string("assessment", "workshop")),
+ "assessments.php?action=userdelete&id=$cm->id&aid=$_GET[aid]", "view.php?id=$cm->id");
+ }
- /******************* user delete ************************************/
+ /****************** user delete ************************************/
elseif ($action == 'userdelete' ) {
if (empty($_GET['aid'])) {
error("User delete: assessment id missing");
- }
+ }
print_string("deleting", "workshop");
// first delete all the associated records...
delete_records("workshop_assessments", "id", $_GET['aid']);
print_continue("view.php?id=$cm->id");
- }
+ }
- /*********************** view all assessments ***********************/
+ /****************** view all assessments ***********************/
elseif ($action == 'viewallassessments') {
if (!$submission = get_record("workshop_submissions", "id", $_GET['sid'])) {
error("View All Assessments: submission record not found");
- }
+ }
if ($assessments = workshop_get_assessments($submission)) {
foreach ($assessments as $assessment) {
workshop_print_assessment($workshop, $assessment);
- }
}
+ }
// only called from list all submissions
print_continue("submissions.php?action=listallsubmissions&id=$cm->id");
- }
+ }
- /*********************** view assessment ***********************/
+ /****************** view assessment *****************************/
elseif ($action == 'viewassessment') {
optional_variable($allowcomments);
if (!isset($allowcomments)) {
$allowcomments = false;
- }
+ }
// get the assessment record
if (!$assessment = get_record("workshop_assessments", "id", $_GET['aid'])) {
error("Assessment record not found");
- }
+ }
// show assessment but don't allow changes
workshop_print_assessment($workshop, $assessment, false, $allowcomments);
print_continue("view.php?a=$workshop->id");
- }
+ }
- /*************** no man's land **************************************/\r
- else {\r
- error("Fatal Error: Unknown Action: ".$action."\n");\r
- }\r
+ /*************** no man's land **************************************/
+ else {
+ error("Fatal Error: Unknown Action: ".$action."\n");
+ }
print_footer($course);
1 => get_string("showgrades", "workshop") );
$WORKSHOP_SCALES = array(
- 0 => array( 'name' => get_string("scaleyes", "workshop"), 'type' => 'radio', 'size' => 2, 'start' => get_string("yes"), 'end' => get_string("no")),
- 1 => array( 'name' => get_string("scalepresent", "workshop"), 'type' => 'radio', 'size' => 2, 'start' => get_string("present", "workshop"), 'end' => get_string("absent", "workshop")),
- 2 => array( 'name' => get_string("scalecorrect", "workshop"), 'type' => 'radio', 'size' => 2, 'start' => get_string("correct", "workshop"), 'end' => get_string("incorrect", "workshop")),
- 3 => array( 'name' => get_string("scalegood3", "workshop"), 'type' => 'radio', 'size' => 3, 'start' => get_string("good", "workshop"), 'end' => get_string("poor", "workshop")),
- 4 => array( 'name' => get_string("scaleexcellent4", "workshop"), 'type' => 'radio', 'size' => 4, 'start' => get_string("excellent", "workshop"), 'end' => get_string("verypoor", "workshop")),
- 5 => array( 'name' => get_string("scaleexcellent5", "workshop"), 'type' => 'radio', 'size' => 5, 'start' => get_string("excellent", "workshop"), 'end' => get_string("verypoor", "workshop")),
- 6 => array( 'name' => get_string("scaleexcellent7", "workshop"), 'type' => 'radio', 'size' => 7, 'start' => get_string("excellent", "workshop"), 'end' => get_string("verypoor", "workshop")),
- 7 => array( 'name' => get_string("scale10", "workshop"), 'type' => 'selection', 'size' => 10),
- 8 => array( 'name' => get_string("scale20", "workshop"), 'type' => 'selection', 'size' => 20),
- 9 => array( 'name' => get_string("scale100", "workshop"), 'type' => 'selection', 'size' => 100));
+ 0 => array( 'name' => get_string("scaleyes", "workshop"), 'type' => 'radio',
+ 'size' => 2, 'start' => get_string("yes"), 'end' => get_string("no")),
+ 1 => array( 'name' => get_string("scalepresent", "workshop"), 'type' => 'radio',
+ 'size' => 2, 'start' => get_string("present", "workshop"),
+ 'end' => get_string("absent", "workshop")),
+ 2 => array( 'name' => get_string("scalecorrect", "workshop"), 'type' => 'radio',
+ 'size' => 2, 'start' => get_string("correct", "workshop"),
+ 'end' => get_string("incorrect", "workshop")),
+ 3 => array( 'name' => get_string("scalegood3", "workshop"), 'type' => 'radio',
+ 'size' => 3, 'start' => get_string("good", "workshop"),
+ 'end' => get_string("poor", "workshop")),
+ 4 => array( 'name' => get_string("scaleexcellent4", "workshop"), 'type' => 'radio',
+ 'size' => 4, 'start' => get_string("excellent", "workshop"),
+ 'end' => get_string("verypoor", "workshop")),
+ 5 => array( 'name' => get_string("scaleexcellent5", "workshop"), 'type' => 'radio',
+ 'size' => 5, 'start' => get_string("excellent", "workshop"),
+ 'end' => get_string("verypoor", "workshop")),
+ 6 => array( 'name' => get_string("scaleexcellent7", "workshop"), 'type' => 'radio',
+ 'size' => 7, 'start' => get_string("excellent", "workshop"),
+ 'end' => get_string("verypoor", "workshop")),
+ 7 => array( 'name' => get_string("scale10", "workshop"), 'type' => 'selection',
+ 'size' => 10),
+ 8 => array( 'name' => get_string("scale20", "workshop"), 'type' => 'selection',
+ 'size' => 20),
+ 9 => array( 'name' => get_string("scale100", "workshop"), 'type' => 'selection',
+ 'size' => 100));
$WORKSHOP_EWEIGHTS = array( 0 => -4.0, 1 => -2.0, 2 => -1.5, 3 => -1.0, 4 => -0.75, 5 => -0.5, 6 => -0.25,
- 7 => 0.0, 8 => 0.25, 9 => 0.5, 10 => 0.75, 11=> 1.0, 12 => 1.5, 13=> 2.0, 14 => 4.0);
+ 7 => 0.0, 8 => 0.25, 9 => 0.5, 10 => 0.75, 11=> 1.0, 12 => 1.5, 13=> 2.0,
+ 14 => 4.0);
$WORKSHOP_FWEIGHTS = array( 0 => 0, 1 => 0.1, 2 => 0.25, 3 => 0.5, 4 => 0.75, 5 => 1.0, 6 => 1.5,
- 7 => 2.0, 8 => 3.0, 9 => 5.0, 10 => 7.5, 11=> 10.0);
+ 7 => 2.0, 8 => 3.0, 9 => 5.0, 10 => 7.5, 11=> 10.0);
if (!defined("COMMENTSCALE")) {
define("COMMENTSCALE", 20);
/*** Standard Moodle functions ******************
-function workshop_add_instance($workshop)
-function workshop_cron ()
-function workshop_delete_instance($id)
-function workshop_grades($workshopid)
-function workshop_print_recent_activity(&$logs, $isteacher=false)
-function workshop_update_instance($workshop)
-function workshop_user_complete($course, $user, $mod, $workshop)
-function workshop_user_outline($course, $user, $mod, $workshop)
+workshop_add_instance($workshop)
+workshop_cron ()
+workshop_delete_instance($id)
+workshop_grades($workshopid)
+workshop_print_recent_activity(&$logs, $isteacher=false)
+workshop_update_instance($workshop)
+workshop_user_complete($course, $user, $mod, $workshop)
+workshop_user_outline($course, $user, $mod, $workshop)
**********************************************/
///////////////////////////////////////////////////////////////////////////////
echo "Could not find course $assessment->course\n";
continue;
}
- if (! isstudent($course->id, $submissionowner->id) and !isteacher($course->id, $submissionowner->id)) {
+ if (! isstudent($course->id, $submissionowner->id) and !isteacher($course->id,
+ $submissionowner->id)) {
continue; // Not an active participant
}
- if (! isstudent($course->id, $assessmentowner->id) and !isteacher($course->id, $assessmentowner->id)) {
+ if (! isstudent($course->id, $assessmentowner->id) and !isteacher($course->id,
+ $assessmentowner->id)) {
continue; // Not an active participant
}
- if (! $workshop = get_coursemodule_from_instance("workshop", $assessment->workshopid, $course->id)) {
+ if (! $workshop = get_coursemodule_from_instance("workshop", $assessment->workshopid,
+ $course->id)) {
echo "Could not find course module for workshop id $submission->workshop\n";
continue;
}
$msg = get_string("mail1", "workshop", $submission->title)." a $course->student.\n";
}
else {
- $msg = get_string("mail1", "workshop", $submission->title)." $assessmentowner->firstname $assessmentowner->lastname.\n";
+ $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";
}
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";
+ 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 comments
+ // look for new assessments of resubmissions
+ if ($assessments = workshop_get_unmailed_resubmissions($cutofftime)) {
+ $timenow = time();
+
+ foreach ($assessments as $assessment) {
+
+ echo "Processing workshop assessment $assessment->id\n";
+ if (! $submission = get_record("workshop_submissions", "id", "$assessment->submissionid")) {
+ echo "Could not find submission $assessment->submissionid\n";
+ continue;
+ }
+ if (! $submissionowner = get_record("user", "id", "$submission->userid")) {
+ echo "Could not find user $submission->userid\n";
+ continue;
+ }
+ if (! $assessmentowner = get_record("user", "id", "$assessment->userid")) {
+ echo "Could not find user $assessment->userid\n";
+ continue;
+ }
+ if (! $course = get_record("course", "id", "$assessment->course")) {
+ echo "Could not find course $assessment->course\n";
+ continue;
+ }
+ if (! isstudent($course->id, $submissionowner->id) and !isteacher($course->id,
+ $submissionowner->id)) {
+ continue; // Not an active participant
+ }
+ if (! isstudent($course->id, $assessmentowner->id) and !isteacher($course->id,
+ $assessmentowner->id)) {
+ continue; // Not an active participant
+ }
+ if (! $workshop = get_coursemodule_from_instance("workshop", $assessment->workshopid,
+ $course->id)) {
+ echo "Could not find course module for workshop id $submission->workshop\n";
+ continue;
+ }
+
+ $strworkshops = get_string("modulenameplural", "workshop");
+ $strworkshop = get_string("modulename", "workshop");
+
+ // it's a resubission assessment, tell the assessment owner to (re)assess
+ $USER->lang = $assessmentownerowner->lang;
+ $sendto = $assessmentowner;
+ // "The assignment \"$submission->title\" is a revised piece of work. "
+ $msg = get_string("mail8", "workshop", $submission->title)."\n";
+ // "Please assess it in the workshop assignment '$workshop->name'
+ $msg .= get_string("mail9", "workshop", $workshop->name)."\n\n";
+
+ $postsubject = "$course->shortname: $strworkshops: $workshop->name";
+ $posttext = "$course->shortname -> $strworkshops -> $workshop->name\n";
+ $posttext .= "---------------------------------------------------------------------\n";
+ $posttext .= $msg;
+ // "You can assess it in your workshop assignment"
+ $posttext .= get_string("mail10", "workshop").":\n";
+ $posttext .= " $CFG->wwwroot/mod/workshop/view.php?a=$workshop->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?a=$workshop->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?a=$workshop->id\">$workshop->name</A>.</P></FONT><HR>";
+ }
+ else {
+ $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 comments
if ($comments = workshop_get_unmailed_comments($cutofftime)) {
$timenow = time();
echo "Could not find course $comment->course\n";
continue;
}
- if (! isstudent($course->id, $submissionowner->id) and !isteacher($course->id, $submissionowner->id)) {
+ if (! isstudent($course->id, $submissionowner->id) and !isteacher($course->id,
+ $submissionowner->id)) {
continue; // Not an active participant
}
- if (! isstudent($course->id, $assessmentowner->id) and !isteacher($course->id, $assessmentowner->id)) {
+ if (! isstudent($course->id, $assessmentowner->id) and !isteacher($course->id,
+ $assessmentowner->id)) {
continue; // Not an active participant
}
if (! $workshop = get_coursemodule_from_instance("workshop", $assessment->workshopid, $course->id)) {
$posthtml .= "<HR><FONT FACE=sans-serif>";
$posthtml .= "<P>$msg</P>";
$posthtml .= "<P>".get_string("mail3", "workshop").
- " <A HREF=\"$CFG->wwwroot/mod/workshop/view.php?a=$workshop->id\">$workshop->name</A>.</P></FONT><HR>";
+ " <A HREF=\"$CFG->wwwroot/mod/workshop/view.php?a=$workshop->id\">$workshop->name</A>
+ .</P></FONT><HR>";
}
else {
$posthtml = "";
}
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";
+ 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";
$msg = get_string("mail4", "workshop", $submission->title)." a $course->student.\n";
}
else {
- $msg = get_string("mail4", "workshop", $submission->title)." $submissionowner->firstname $submissionowner->lastname.\n";
+ $msg = get_string("mail4", "workshop", $submission->title).
+ " $submissionowner->firstname $submissionowner->lastname.\n";
}
// "The new comment can be seen in the workshop assignment '$workshop->name'
$msg .= get_string("mail5", "workshop", $workshop->name)."\n\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";
+ 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";
continue;
}
- if (! isstudent($course->id, $submissionowner->id) and !isteacher($course->id, $submissionowner->id)) {
+ if (! isstudent($course->id, $submissionowner->id) and !isteacher($course->id,
+ $submissionowner->id)) {
continue; // Not an active participant
}
- if (! isstudent($course->id, $assessmentowner->id) and !isteacher($course->id, $assessmentowner->id)) {
+ if (! isstudent($course->id, $assessmentowner->id) and !isteacher($course->id,
+ $assessmentowner->id)) {
continue; // Not an active participant
}
- if (! $workshop = get_coursemodule_from_instance("workshop", $assessment->workshopid, $course->id)) {
+ if (! $workshop = get_coursemodule_from_instance("workshop", $assessment->workshopid,
+ $course->id)) {
echo "Could not find course module for workshop id $submission->workshop\n";
continue;
}
}
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";
+ 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";
/*** Functions for the workshop module ******
-function workshop_choose_from_menu ($options, $name, $selected="", $nothing="choose", $script="", $nothingvalue="0", $return=false) {
-
-function workshop_count_all_submissions_for_assessment($workshop, $user) {
-function workshop_count_assessments($submission) {
-function workshop_count_comments($assessment) {
-function workshop_count_peer_assessments($workshop, $user) {
-function workshop_count_self_assessments($workshop, $user) {
-function workshop_count_student_submissions($workshop) {
-function workshop_count_student_submissions_for_assessment($workshop, $user) {
-function workshop_count_teacher_assessments($workshop, $user) {
-function workshop_count_teacher_submissions($workshop) {
-function workshop_count_teacher_submissions_for_assessment($workshop, $user) {
-function workshop_count_ungraded_assessments_student($workshop) {
-function workshop_count_ungraded_assessments_teacher($workshop) {
-function workshop_count_user_assessments($worshop, $user, $type = "all") { $type is all, student or teacher
-function workshop_count_user_submissions($workshop, $user) {
-
-function workshop_delete_submitted_files($workshop, $submission) {
-function workshop_delete_user_files($workshop, $user, $exception) {
-
-function workshop_file_area($workshop, $submission) {
-function workshop_file_area_name($workshop, $submission) {
-
-function workshop_get_assessments($submission) {
-function workshop_get_comments($assessment) {
-function workshop_get_participants($workshopid) {
-function workshop_get_student_assessments($workshop, $user) {
-function workshop_get_student_submission($workshop, $user) {
-function workshop_get_student_submission_assessments($workshop) {
-function workshop_get_student_submissions($workshop) {
-function workshop_get_submission_assessment($submission, $user) {
-function workshop_get_teacher_submission_assessments($workshop) {
-function workshop_get_teacher_submissions($workshop) {
-function workshop_get_ungraded_assessments($workshop) {
-function workshop_get_unmailed_assessments($cutofftime) {
-function workshop_get_unmailed_marked_assessments($cutofftime) {
-function workshop_get_user_assessments($workshop, $user) {
-function workshop_get_user_submissions($workshop, $user) {
-function workshop_get_users_done($workshop) {
-
-function workshop_list_all_submissions($workshop) {
-function workshop_list_all_ungraded_assessments($workshop) {
-function workshop_list_assessed_submissions($workshop, $user) {
-function workshop_list_peer_assessments($workshop, $user) {
-function workshop_list_student_submissions($workshop, $user) {
-function workshop_list_submissions_for_admin($workshop, $order) {
-function workshop_list_teacher_assessments($workshop, $user) {
-function workshop_list_teacher_submissions($workshop) {
-function workshop_list_unassessed_student_submissions($workshop, $user) {
-function workshop_list_unassessed_teacher_submissions($workshop, $user) {
-function workshop_list_ungraded_assessments($workshop, $stype) {
-function workshop_list_user_submissions($workshop, $user) {
-
-
-function workshop_print_assessment($workshop, $assessment, $allowchanges, $showcommentlinks, $returnto)
-function workshop_print_assessments_by_user_for_admin($workshop, $user) {
-function workshop_print_assessments_for_admin($workshop, $submission) {
-function workshop_print_assignment_info($cm, $workshop) {
-function workshop_print_difference($time) {
-function workshop_print_feedback($course, $submission) {
-function workshop_print_league_table($workshop) {
-function workshop_print_submission_assessments($workshop, $submission, $type) {
-function workshop_print_submission_title($workshop, $user) {
-function workshop_print_tabbed_table($table) {
-function workshop_print_time_to_deadline($time) {
-function workshop_print_upload_form($workshop) {
-function workshop_print_user_assessments($workshop, $user) {
-
-function workshop_test_user_assessments($workshop, $user) {
+workshop_choose_from_menu ($options, $name, $selected="", $nothing="choose", $script="",
+ $nothingvalue="0", $return=false) {
+
+workshop_count_all_submissions_for_assessment($workshop, $user) {
+workshop_count_assessments($submission) {
+workshop_count_comments($assessment) {
+workshop_count_peer_assessments($workshop, $user) {
+workshop_count_self_assessments($workshop, $user) {
+workshop_count_student_submissions($workshop) {
+workshop_count_student_submissions_for_assessment($workshop, $user) {
+workshop_count_teacher_assessments($workshop, $user) {
+workshop_count_teacher_submissions($workshop) {
+workshop_count_teacher_submissions_for_assessment($workshop, $user) {
+workshop_count_ungraded_assessments_student($workshop) {
+workshop_count_ungraded_assessments_teacher($workshop) {
+workshop_count_user_assessments($worshop, $user, $type = "all") { $type is all, student or teacher
+workshop_count_user_submissions($workshop, $user) {
+
+workshop_delete_submitted_files($workshop, $submission) {
+workshop_delete_user_files($workshop, $user, $exception) {
+
+workshop_file_area($workshop, $submission) {
+workshop_file_area_name($workshop, $submission) {
+
+workshop_get_assessments($submission) {
+workshop_get_comments($assessment) {
+workshop_get_participants($workshopid) {
+workshop_get_student_assessments($workshop, $user) {
+workshop_get_student_submission($workshop, $user) {
+workshop_get_student_submission_assessments($workshop) {
+workshop_get_student_submissions($workshop) {
+workshop_get_submission_assessment($submission, $user) {
+workshop_get_teacher_submission_assessments($workshop) {
+workshop_get_teacher_submissions($workshop) {
+workshop_get_ungraded_assessments($workshop) {
+workshop_get_unmailed_assessments($cutofftime) {
+workshop_get_unmailed_marked_assessments($cutofftime) {
+workshop_get_user_assessments($workshop, $user) {
+workshop_get_user_submissions($workshop, $user) {
+workshop_get_users_done($workshop) {
+
+workshop_list_all_submissions($workshop) {
+workshop_list_all_ungraded_assessments($workshop) {
+workshop_list_assessed_submissions($workshop, $user) {
+workshop_list_peer_assessments($workshop, $user) {
+workshop_list_student_submissions($workshop, $user) {
+workshop_list_submissions_for_admin($workshop, $order) {
+workshop_list_teacher_assessments($workshop, $user) {
+workshop_list_teacher_submissions($workshop) {
+workshop_list_unassessed_student_submissions($workshop, $user) {
+workshop_list_unassessed_teacher_submissions($workshop, $user) {
+workshop_list_ungraded_assessments($workshop, $stype) {
+workshop_list_user_submissions($workshop, $user) {
+
+
+workshop_print_assessment($workshop, $assessment, $allowchanges, $showcommentlinks, $returnto)
+workshop_print_assessments_by_user_for_admin($workshop, $user) {
+workshop_print_assessments_for_admin($workshop, $submission) {
+workshop_print_assignment_info($cm, $workshop) {
+workshop_print_difference($time) {
+workshop_print_feedback($course, $submission) {
+workshop_print_league_table($workshop) {
+workshop_print_submission_assessments($workshop, $submission, $type) {
+workshop_print_submission_title($workshop, $user) {
+workshop_print_tabbed_table($table) {
+workshop_print_time_to_deadline($time) {
+workshop_print_upload_form($workshop) {
+workshop_print_user_assessments($workshop, $user) {
+
+workshop_test_user_assessments($workshop, $user) {
***************************************/
+
///////////////////////////////////////////////////////////////////////////////
-function workshop_choose_from_menu ($options, $name, $selected="", $nothing="choose", $script="", $nothingvalue="0", $return=false) {
+function workshop_choose_from_menu ($options, $name, $selected="", $nothing="choose", $script="",
+ $nothingvalue="0", $return=false) {
/// Given an array of value, creates a popup menu to be part of a form
/// $options["value"]["label"]
}
+///////////////////////////////////////////////////////////////////////////////////////////////
+function workshop_copy_assessment($assessment, $submission, $withfeedback = false) {
+ // adds a copy of the given assessment for the submission specified to the workshop_assessments table.
+ // The grades and optionally the comments are added to the workshop_grades table. Returns the new
+ // assessment object. The owner of the assessment is not changed.
+
+ $yearfromnow = time() + 365 * 86400;
+ $newassessment->workshopid = $assessment->workshopid;
+ $newassessment->submissionid = $submission->id;
+ $newassessment->userid = $assessment->userid;
+ $newassessment->timecreated = $yearfromnow;
+ $newassessment->grade = $assessment->grade;
+ if ($withfeedback) {
+ $newassessment->generalcomment = addslashes($assessment->generalcomment);
+ $newassessment->teachercomment = addslashes($assessment->teachercomment);
+ }
+ if (!$newassessment->id = insert_record("workshop_assessments", $newassessment)) {
+ error("Copy Assessment: Could not insert workshop assessment!");
+ }
+
+ if ($grades = get_records("workshop_grades", "assessmentid", $assessment->id)) {
+ foreach ($grades as $grade) {
+ if (!$withfeedback) {
+ $grade->feedback = '';
+ }
+ else {
+ $grade->feedback = addslashes($grade->feedback);
+ }
+ $grade->assessmentid = $newassessment->id;
+ if (!$grade->id = insert_record("workshop_grades", $grade)) {
+ error("Copy Assessment: Could not insert workshop grade!");
+ }
+ }
+ }
+ if ($withfeedback) {
+ // remove the slashes from comments as the new assessment record might be used,
+ // currently this function is only called in upload which does not!
+ $newassessment->generalcomment = stripslashes($assessment->generalcomment);
+ $newassessment->teachercomment = stripslashes($assessment->teachercomment);
+ }
+ return $newassessment;
+}
+
+
+
//////////////////////////////////////////////////////////////////////////////////////
function workshop_count_all_submissions_for_assessment($workshop, $user) {
// looks at all submissions and deducts the number which has been assessed by this user
$n = 0;
- if ($submissions = get_records_select("workshop_submissions", "workshopid = $workshop->id AND timecreated > 0")) {
+ if ($submissions = get_records_select("workshop_submissions", "workshopid = $workshop->id AND
+ timecreated > 0")) {
$n =count($submissions);
foreach ($submissions as $submission) {
$n -= count_records("workshop_assessments", "submissionid", $submission->id, "userid", $user->id);
function workshop_count_assessments($submission) {
// Return the (real) assessments for this submission,
$timenow = time();
- return count_records_select("workshop_assessments", "submissionid = $submission->id AND timecreated < $timenow");
+ return count_records_select("workshop_assessments",
+ "submissionid = $submission->id AND timecreated < $timenow");
}
function workshop_count_student_submissions($workshop) {
global $CFG;
- return count_records_sql("SELECT count(*) FROM {$CFG->prefix}workshop_submissions s, {$CFG->prefix}user_students u
+ return count_records_sql("SELECT count(*) FROM {$CFG->prefix}workshop_submissions s,
+ {$CFG->prefix}user_students u
WHERE u.course = $workshop->course
AND s.userid = u.userid
AND s.workshopid = $workshop->id
//////////////////////////////////////////////////////////////////////////////////////
function workshop_count_user_assessments($workshop, $user, $stype = "all") {
- // returns the number of assessments allocated/made by a user, all of them, or just those for the student or teacher submissions
- // the student's self assessments are included in the count
- // the maxeditingtime is NOT taken into account here also allocated assessments which have not yet
+ // returns the number of assessments allocated/made by a user, all of them, or just those
+ // for the student or teacher submissions. The student's self assessments are included in the count.
+ // The maxeditingtime is NOT taken into account here also, allocated assessments which have not yet
// been done are counted as well
$n = 0;
///////////////////////////////////////////////////////////////////////////////////////////////
function workshop_get_agree_logs($course, $timestart) {
- // get the "agree" entries for this user (the assessment owner and add the first and last names (probably wont be used)...
+ // get the "agree" entries for this user (the assessment owner and add the first and last names
+ // the last two probably wont be used...
global $CFG, $USER;
$timethen = time() - $CFG->maxeditingtime;
{$CFG->prefix}workshop_assessments a,
{$CFG->prefix}user u
WHERE l.time > $timestart AND l.time < $timethen
- AND l.course = $course->id AND l.module = 'workshop' AND l.action = 'agree'
+ AND l.course = $course->id AND l.module = 'workshop' AND l.action = 'agree'
AND a.id = l.info AND s.id = a.submissionid AND a.userid = $USER->id
AND u.id = s.userid AND e.id = a.workshopid");
}
{$CFG->prefix}workshop_assessments a,
{$CFG->prefix}user u
WHERE l.time > $timestart AND l.time < $timethen
- AND l.course = $course->id AND l.module = 'workshop' AND l.action = 'assess'
+ AND l.course = $course->id AND l.module = 'workshop' AND l.action = 'assess'
AND a.id = l.info AND s.id = a.submissionid AND s.userid = $USER->id
AND u.id = a.userid AND e.id = a.workshopid");
}
//////////////////////////////////////////////////////////////////////////////////////
function workshop_get_assessments($submission, $all = '') {
// Return assessments for this submission ordered oldest first, newest last
- // new assessments made withinthe editing time are NOT return unless the
+ // new assessments made within the editing time are NOT return unless the
// second argument is set to ALL
global $CFG;
return get_records_select("workshop_assessments", "(submissionid = $submission->id) AND
(timecreated < $timenow - $CFG->maxeditingtime)", "timecreated DESC");
} else {
- return get_records_select("workshop_assessments", "submissionid = $submission->id", "timecreated DESC");
+ return get_records_select("workshop_assessments", "submissionid = $submission->id",
+ "timecreated DESC");
}
}
{$CFG->prefix}workshop_comments c,
{$CFG->prefix}user u
WHERE l.time > $timestart AND l.time < $timethen
- AND l.course = $course->id AND l.module = 'workshop' AND l.action = 'comment'
+ AND l.course = $course->id AND l.module = 'workshop' AND l.action = 'comment'
AND c.id = l.info AND c.userid != $USER->id AND a.id = c.assessmentid
AND s.id = a.submissionid AND (s.userid = $USER->id OR a.userid = $USER->id)
AND u.id = a.userid AND e.id = a.workshopid");
///////////////////////////////////////////////////////////////////////////////////////////////
function workshop_get_grade_logs($course, $timestart) {
- // get the "grade" entries for this user and add the first and last names (of submission owner, better to get name of teacher...
+ // get the "grade" entries for this user and add the first and last names (of submission owner,
+ // better to get name of teacher...
// ...but not available in assessment record...)
global $CFG, $USER;
// Return all assessments on the student submissions by a user, order by youngest first, oldest last
global $CFG;
- return get_records_sql("SELECT a.* FROM {$CFG->prefix}workshop_submissions s, {$CFG->prefix}user_students u,
+ return get_records_sql("SELECT a.* FROM {$CFG->prefix}workshop_submissions s,
+ {$CFG->prefix}user_students u,
{$CFG->prefix}workshop_assessments a
WHERE u.course = $workshop->course
AND s.userid = u.userid
// Return all assessments on the student submissions, order by youngest first, oldest last
global $CFG;
- return get_records_sql("SELECT a.* FROM {$CFG->prefix}workshop_submissions s, {$CFG->prefix}user_students u,
- {$CFG->prefix}workshop_assessments a
+ return get_records_sql("SELECT a.* FROM {$CFG->prefix}workshop_submissions s,
+ {$CFG->prefix}user_students u, {$CFG->prefix}workshop_assessments a
WHERE u.course = $workshop->course
AND s.userid = u.userid
AND s.workshopid = $workshop->id
if ($order == "grade") {
$order = "$workshop->teacherweight * s.teachergrade + $workshop->peerweight * s.peergrade DESC";
}
- return get_records_sql("SELECT s.* FROM {$CFG->prefix}workshop_submissions s, {$CFG->prefix}user_students u,
- {$CFG->prefix}user a
+ return get_records_sql("SELECT s.* FROM {$CFG->prefix}workshop_submissions s,
+ {$CFG->prefix}user_students u, {$CFG->prefix}user a
WHERE u.course = $workshop->course
AND s.userid = u.userid
AND a.id = u.userid
// Return all assessments on the teacher submissions, order by youngest first, oldest last
global $CFG;
- return get_records_sql("SELECT a.* FROM {$CFG->prefix}workshop_submissions s, {$CFG->prefix}user_teachers u,
- {$CFG->prefix}workshop_assessments a
+ return get_records_sql("SELECT a.* FROM {$CFG->prefix}workshop_submissions s,
+ {$CFG->prefix}user_teachers u, {$CFG->prefix}workshop_assessments a
WHERE u.course = $workshop->course
AND s.userid = u.userid
AND s.workshopid = $workshop->id
// Return all teacher submissions, ordered by title
global $CFG;
- return get_records_sql("SELECT s.* FROM {$CFG->prefix}workshop_submissions s, {$CFG->prefix}user_teachers u
+ return get_records_sql("SELECT s.* FROM {$CFG->prefix}workshop_submissions s,
+ {$CFG->prefix}user_teachers u
WHERE u.course = $workshop->course
AND s.userid = u.userid
AND s.workshopid = $workshop->id
global $CFG;
// Return all assessments which have not been graded or just graded of student's submissions
- $cutofftime =time() - $CFG->maxeditingtime;
- return get_records_sql("SELECT a.* FROM {$CFG->prefix}workshop_submissions s, {$CFG->prefix}user_students u,
- {$CFG->prefix}workshop_assessments a
+ $cutofftime = time() - $CFG->maxeditingtime;
+ return get_records_sql("SELECT a.* FROM {$CFG->prefix}workshop_submissions s,
+ {$CFG->prefix}user_students u, {$CFG->prefix}workshop_assessments a
WHERE u.course = $workshop->course
AND s.userid = u.userid
AND s.workshopid = $workshop->id
// Return all assessments which have not been graded or just graded of teacher's submissions
$cutofftime =time() - $CFG->maxeditingtime;
- return get_records_sql("SELECT a.* FROM {$CFG->prefix}workshop_submissions s, {$CFG->prefix}user_teachers u,
- {$CFG->prefix}workshop_assessments a
+ return get_records_sql("SELECT a.* FROM {$CFG->prefix}workshop_submissions s,
+ {$CFG->prefix}user_teachers u, {$CFG->prefix}workshop_assessments a
WHERE u.course = $workshop->course
AND s.userid = u.userid
AND s.workshopid = $workshop->id
}
+//////////////////////////////////////////////////////////////////////////////////////
+function workshop_get_unmailed_resubmissions($cutofftime) {
+ /// Return list of assessments of resubmissions that have not been mailed out
+ global $CFG;
+ return get_records_sql("SELECT a.*, w.course, w.name
+ FROM {$CFG->prefix}workshop_assessments a, {$CFG->prefix}workshop w
+ WHERE a.mailed = 0
+ AND a.resubmission = 1
+ AND w.id = a.workshopid");
+}
+
+
//////////////////////////////////////////////////////////////////////////////////////
function workshop_get_user_assessments($workshop, $user) {
// Return all the user's assessments, newest first, oldest last
function workshop_get_users_done($workshop) {
global $CFG;
return get_records_sql("SELECT u.*
- FROM {$CFG->prefix}user u, {$CFG->prefix}user_students s, {$CFG->prefix}workshop_submissions a
+ FROM {$CFG->prefix}user u, {$CFG->prefix}user_students s,
+ {$CFG->prefix}workshop_submissions a
WHERE s.course = '$workshop->course' AND s.user = u.id
AND u.id = a.user AND a.workshop = '$workshop->id'
ORDER BY a.timemodified DESC");
if (! $course = get_record("course", "id", $workshop->course)) {
error("Course is misconfigured");
}
- $table->head = array (get_string("title", "workshop"), get_string("action", "workshop"), get_string("comment", "workshop"));
+ $table->head = array (get_string("title", "workshop"), get_string("action", "workshop"),
+ get_string("comment", "workshop"));
$table->align = array ("left", "left", "left");
$table->size = array ("*", "*", "*");
$table->cellpadding = 2;
$action = "<A HREF=\"assessments.php?action=assesssubmission&a=$workshop->id&sid=$submission->id\">".
get_string("assess", "workshop")."</A>";
}
- $table->data[] = array(workshop_print_submission_title($workshop, $submission), $action, $comment);
+ $table->data[] = array(workshop_print_submission_title($workshop, $submission), $action,
+ $comment);
}
print_table($table);
}
- echo "<CENTER><P><B>".get_string("studentsubmissions", "workshop", $course->student)."</B></CENTER><BR>\n";
+ echo "<CENTER><P><B>".get_string("studentsubmissions", "workshop", $course->student).
+ "</B></CENTER><BR>\n";
unset($table);
- $table->head = array (get_string("title", "workshop"), get_string("action", "workshop"), get_string("comment", "workshop"));
+ $table->head = array (get_string("title", "workshop"), get_string("action", "workshop"),
+ get_string("comment", "workshop"));
$table->align = array ("LEFT", "LEFT", "LEFT");
$table->size = array ("*", "*", "*");
$table->cellpadding = 2;
$action = "<A HREF=\"assessments.php?action=assesssubmission&a=$workshop->id&sid=$submission->id\">".
get_string("assess", "workshop")."</A>";
}
- $table->data[] = array(workshop_print_submission_title($workshop, $submission), $action, $comment);
+ $table->data[] = array(workshop_print_submission_title($workshop, $submission), $action,
+ $comment);
}
print_table($table);
}
if (! $course = get_record("course", "id", $workshop->course)) {
error("Course is misconfigured");
}
- $table->head = array (get_string("title","workshop"), get_string("action","workshop"), get_string("comment","workshop"));
+ $table->head = array (get_string("title","workshop"), get_string("action","workshop"),
+ get_string("comment","workshop"));
$table->align = array ("LEFT", "LEFT", "LEFT");
$table->size = array ("*", "*", "*");
$table->cellpadding = 2;
foreach ($assessments as $assessment) {
$comment = "";
$submission = get_record("workshop_submissions", "id", $assessment->submissionid);
- // the assessment may be in three states: 1. "hanging", created but not completed (timecreated is in the future)
- // 2. just created and still capable of being edited, and 3. fixed (after the editing time)
+ // the assessment may be in three states:
+ // 1. "hot", just created but not completed (timecreated is in the future)
+ // 2. "warm" just created and still capable of being edited, and
+ // 3. "cold" after the editing time
if ($assessment->timecreated < ($timenow - $CFG->maxeditingtime)) { // it's cold
$action = "<A HREF=\"assessments.php?action=viewassessment&a=$workshop->id&aid=$assessment->id&".
"allowcomments=$workshop->agreeassessments\">".
// if peer agrrements show whether agreement has been reached
if ($workshop->agreeassessments) {
if ($assessment->timeagreed) {
- $comment .= "; ".get_string("assessmentwasagreedon", "workshop", userdate($assessment->timeagreed));
+ $comment .= "; ".get_string("assessmentwasagreedon", "workshop",
+ userdate($assessment->timeagreed));
}
else {
$comment .= "; ".get_string("assessmentnotyetagreed", "workshop");
}
}
- $table->data[] = array(workshop_print_submission_title($workshop, $submission), $action, $comment);
+ $table->data[] = array(workshop_print_submission_title($workshop, $submission), $action,
+ $comment);
}
}
}
if (! $course = get_record("course", "id", $workshop->course)) {
error("Course is misconfigured");
}
- $table->head = array (get_string("title", "workshop"), get_string("action", "workshop"), get_string("comment", "workshop"));
+ $table->head = array (get_string("title", "workshop"), get_string("action", "workshop"),
+ get_string("comment", "workshop"));
$table->align = array ("LEFT", "LEFT", "LEFT");
$table->size = array ("*", "*", "*");
$table->cellpadding = 2;
if ($assessments = workshop_get_assessments($submission)) {
foreach ($assessments as $assessment) {
// assessments by students only and exclude any self assessments
- if (isstudent($workshop->course, $assessment->userid) and ($assessment->userid != $user->id)) {
+ if (isstudent($workshop->course, $assessment->userid) and
+ ($assessment->userid != $user->id)) {
$timenow = time();
if (($timenow - $assessment->timecreated) > $CFG->maxeditingtime) {
$action = "<A HREF=\"assessments.php?action=viewassessment&a=$workshop->id&aid=$assessment->id&".
"allowcomments=$workshop->agreeassessments\">".
get_string("view", "workshop")."</A>";
- $comment = get_string("assessedon", "workshop", userdate($assessment->timecreated));
+ $comment = get_string("assessedon", "workshop",
+ userdate($assessment->timecreated));
// has teacher commented on user's assessment?
- if ($assessment->timegraded and ($timenow - $assessment->timegraded > $CFG->maxeditingtime)) {
+ if ($assessment->timegraded and
+ ($timenow - $assessment->timegraded > $CFG->maxeditingtime)) {
$comment .= "; ".get_string("gradedbyteacher", "workshop", $course->teacher);
}
// if peer agrrements show whether agreement has been reached
if ($workshop->agreeassessments) {
if ($assessment->timeagreed) {
- $comment .= "; ".get_string("assessmentwasagreedon", "workshop", userdate($assessment->timeagreed));
+ $comment .= "; ".get_string("assessmentwasagreedon", "workshop",
+ userdate($assessment->timeagreed));
}
else {
$comment .= "; ".get_string("assessmentnotyetagreed", "workshop");
}
}
- $table->data[] = array(workshop_print_submission_title($workshop, $submission), $action, $comment);
+ $table->data[] = array(workshop_print_submission_title($workshop, $submission),
+ $action, $comment);
}
}
}
if (! $course = get_record("course", "id", $workshop->course)) {
error("Course is misconfigured");
}
- $table->head = array (get_string("title", "workshop"), get_string("action", "workshop"), get_string("comment", "workshop"));
+ $table->head = array (get_string("title", "workshop"), get_string("action", "workshop"),
+ get_string("comment", "workshop"));
$table->align = array ("LEFT", "LEFT", "LEFT");
$table->size = array ("*", "*", "*");
$table->cellpadding = 2;
workshop_print_assignment_info($workshop);
// if peer assessments allow teacher to change overallocation option
- print_heading_with_help(get_string("setoverallocation", "workshop"), "overallocation", "workshop");
- echo "<form name=\"overform\" method=\"post\" action=\"submissions.php\">\n";
- echo "<input type=\"hidden\" name=\"id\" value=\"$cm->id\">\n";
- echo "<input type=\"hidden\" name=\"action\" value=\"updateoverallocation\">\n";
- echo "<center><table width=\"30%\" border=\"1\"><tr valign=\"top\">\n";
- echo "<td align=\"right\"><p><b>".get_string("overallocation", "workshop")."</b></p></td>\n";
- echo "<td valign=\"middle\">\n";
- for ($i=2; $i>=0; $i--) {
- $numbers[$i] = $i;
- }
- choose_from_menu($numbers, "overallocation", "$workshop->overallocation", "");
- echo "</td></tr></table><br />\n";
- echo "<INPUT TYPE=submit VALUE=\"".get_string("saveoverallocation", "workshop")."\">\n";
- echo "</form></center>\n";
+ if ($workshop->nsassessments) {
+ print_simple_box_start("center");
+ print_heading_with_help(get_string("setoverallocation", "workshop"), "overallocation", "workshop");
+ echo "<form name=\"overform\" method=\"post\" action=\"submissions.php\">\n";
+ echo "<input type=\"hidden\" name=\"id\" value=\"$cm->id\">\n";
+ echo "<input type=\"hidden\" name=\"action\" value=\"updateoverallocation\">\n";
+ echo "<center><table width=\"90%\" border=\"1\"><tr valign=\"top\">\n";
+ echo "<td align=\"right\"><p><b>".get_string("overallocation", "workshop").": </b></p></td>\n";
+ echo "<td valign=\"middle\">\n";
+ for ($i=2; $i>=0; $i--) {
+ $numbers[$i] = $i;
+ }
+ choose_from_menu($numbers, "overallocation", "$workshop->overallocation", "");
+ echo "</td></tr></table><br />\n";
+ echo "<INPUT TYPE=submit VALUE=\"".get_string("saveoverallocation", "workshop")."\">\n";
+ echo "</form></center>\n";
+ print_simple_box_end();
+ }
// list any teacher submissions
$table->head = array (get_string("title", "workshop"), get_string("submittedby", "workshop"), get_string("action", "workshop"));
if ($assessment->timecreated > $curtime) { // it's a "hanging" assessment
$action .= " | <a href=\"assessments.php?action=assesssubmission&a=$workshop->id&sid=$submission->id\">".
get_string("assess", "workshop")."</a>";
- }
+ }
elseif (($curtime - $assessment->timecreated) > $CFG->maxeditingtime) {
$action .= " | <a href=\"assessments.php?action=assesssubmission&a=$workshop->id&sid=$submission->id\">"
.get_string("reassess", "workshop")."</a>";
- }
+ }
else { // there's still time left to edit...
$action .= " | <a href=\"assessments.php?action=assesssubmission&a=$workshop->id&sid=$submission->id\">".
get_string("edit", "workshop")."</a>";
- }
}
+ }
else { // user has not graded this submission
$action .= " | <a href=\"assessments.php?action=assesssubmission&a=$workshop->id&sid=$submission->id\">".
get_string("assess", "workshop")."</a>";
- }
+ }
if ($assessments = workshop_get_assessments($submission)) {
$action .= " | <a href=\"assessments.php?action=adminlist&a=$workshop->id&sid=$submission->id\">".
get_string("listassessments", "workshop")."</a>";
$action .= " | <a href=\"submissions.php?action=adminconfirmdelete&a=$workshop->id&sid=$submission->id\">".
get_string("delete", "workshop")."</a>";
$table->data[] = array(workshop_print_submission_title($workshop, $submission), $course->teacher, $action);
- }
+ }
print_heading(get_string("studentsubmissions", "workshop", $course->teacher), "center");
print_table($table);
- }
+ }
// list student assessments
// Get all the students...
foreach ($assessments as $assessment) {
if (!$submission = get_record("workshop_submissions", "id", $assessment->submissionid)) {
error("Workshop_list_submissions_for_admin: Submission record not found!");
- }
+ }
$title .= $submission->title;
// test for allocated assesments which have not been done
if ($assessment->timecreated < $timenow) {
$title .= " {".number_format($assessment->grade, 0)."%";
- }
+ }
else { // assessment record created but user has not yet assessed this submission
$title .= " {-";
- }
+ }
if ($assessment->timegraded) {
$title .= "/".number_format($assessment->gradinggrade * 100 / COMMENTSCALE, 0)."%";
- }
+ }
$title .= "} ";
if ($realassessments = workshop_count_user_assessments_done($workshop, $user)) {
$action = "<a href=\"assessments.php?action=adminlistbystudent&a=$workshop->id&userid=$user->id\">".
get_string("liststudentsassessments", "workshop")." ($realassessments)</a>";
- }
+ }
else {
$action ="";
- }
}
- $table->data[] = array("$user->firstname $user->lastname", $title, $action);
}
+ $table->data[] = array("$user->firstname $user->lastname", $title, $action);
}
+ }
if (isset($table->data)) {
print_table($table);
- }
}
+ }
// now the sudent submissions
unset($table);
"<a href=\"submissions.php?action=adminlist&a=$workshop->id&order=title\">".
get_string("title", "workshop")."</a>", get_string("action", "workshop"));
break;
- }
+ }
$table->align = array ("left", "left", "left");
$table->size = array ("*", "*", "*");
$table->cellpadding = 2;
foreach ($submissions as $submission) {
if (!$user = get_record("user", "id", $submission->userid)) {
error("workshop_list_submissions_for_admin: failure to get user record");
- }
+ }
$action = "<a href=\"submissions.php?action=adminamendtitle&a=$workshop->id&sid=$submission->id\">".
get_string("amendtitle", "workshop")."</a>";
// has teacher already assessed this submission
if (($curtime - $assessment->timecreated) > $CFG->maxeditingtime) {
$action .= " | <a href=\"assessments.php?action=assesssubmission&a=$workshop->id&sid=$submission->id\">".
get_string("reassess", "workshop")."</a>";
- }
+ }
else { // there's still time left to edit...
$action .= " | <a href=\"assessments.php?action=assesssubmission&a=$workshop->id&sid=$submission->id\">".
get_string("edit", "workshop")."</a>";
- }
}
+ }
else { // user has not assessed this submission
$action .= " | <a href=\"assessments.php?action=assesssubmission&a=$workshop->id&sid=$submission->id\">".
get_string("assess", "workshop")."</a>";
- }
+ }
if ($nassessments = workshop_count_assessments($submission)) {
$action .= " | <a href=\"assessments.php?action=adminlist&a=$workshop->id&sid=$submission->id\">".
get_string("listassessments", "workshop")." ($nassessments)</a>";
- }
+ }
$action .= " | <a href=\"submissions.php?action=adminconfirmdelete&a=$workshop->id&sid=$submission->id\">".
get_string("delete", "workshop")."</a>";
$table->data[] = array("$user->firstname $user->lastname", $submission->title.
" ".workshop_print_submission_assessments($workshop, $submission, "teacher").
" ".workshop_print_submission_assessments($workshop, $submission, "student"), $action);
- }
+ }
print_heading(get_string("studentsubmissions", "workshop", $course->student), "center");
print_table($table);
- }
}
+}
//////////////////////////////////////////////////////////////////////////////////////
if ($submissions = workshop_get_user_submissions($workshop, $user)) {
foreach ($submissions as $submission) {
- // allow user to delete submissions if there is more than one submission or if it's fresh
- if ((count($submissions) > 1) or (($timenow - $submission->timecreated) < $CFG->maxeditingtime)) {
+ // allow user to delete a submission if it's warm
+ if ($submission->timecreated > ($timenow - $CFG->maxeditingtime)) {
$action = "<a href=\"submissions.php?action=userconfirmdelete&a=$workshop->id&sid=$submission->id\">".
get_string("delete", "workshop")."</a>";
- }
+ }
else {
$action = '';
- }
- $n = count_records_select("workshop_assessments", "submissionid = $submission->id AND
+ }
+ $n = count_records_select("workshop_assessments", "submissionid = $submission->id AND
timecreated < ($timenow - $CFG->maxeditingtime)");
$table->data[] = array(workshop_print_submission_title($workshop, $submission), $action,
userdate($submission->timecreated), $n);
- }
- print_table($table);
}
+ print_table($table);
}
+}
//////////////////////////////////////////////////////////////////////////////////////
// $allowchanges added 14/7/03
// $returnto added 28/8/03
global $CFG, $THEME, $USER, $WORKSHOP_SCALES, $WORKSHOP_EWEIGHTS;
- if (! $course = get_record("course", "id", $workshop->course)) {
+
+ if (! $course = get_record("course", "id", $workshop->course)) {
error("Course is misconfigured");
}
if (! $cm = get_coursemodule_from_instance("workshop", $workshop->id, $course->id)) {
if ($assessment) {
// set the internal flag is necessary
- if ($allowchanges or !$workshop->agreeassessments or !$workshop->hidegrades or $assessment->timeagreed) {
+ if ($allowchanges or !$workshop->agreeassessments or !$workshop->hidegrades or
+ $assessment->timeagreed) {
$showgrades = true;
}
}
echo workshop_print_submission_title($workshop, $submission);
echo "</TD></TR></TABLE><BR CLEAR=ALL>\n";
-
+
+ // see if this is a pre-filled assessment for a re-submission...
+ if ($assessment->resubmission) {
+ // ...and print an explaination
+ print_heading(get_string("assessmentofresubmission", "workshop"));
+ }
+
// print agreement time if the workshop requires peer agreement
if ($workshop->agreeassessments and $assessment->timeagreed) {
echo "<P>".get_string("assessmentwasagreedon", "workshop", userdate($assessment->timeagreed));
echo "<TABLE CELLPADDING=2 BORDER=1>\n";
$firstcomment = TRUE;
foreach ($comments as $comment) {
- echo "<TR valign=top><TD BGCOLOR=\"$THEME->cellheading2\"><P><B>".get_string("commentby","workshop")." ";
+ echo "<TR valign=top><TD BGCOLOR=\"$THEME->cellheading2\"><P><B>".
+ get_string("commentby","workshop")." ";
if (isteacher($workshop->course, $comment->userid)) {
echo $course->teacher;
}
}
- /*********************** alow peer assessments (move to phase 3) (for teachers)**/
+ /************** allow peer assessments (move to phase 3) (for teachers)**/
if ($action == 'allowpeerassessments') {
if (!isteacher($course->id)) {
}
- /******************* close workshop for student assessments and submissions (move to phase 4) (for teachers)**/
+ /****************** close workshop for student assessments/submissions (move to phase 4) (for teachers)**/
elseif ($action == 'closeworkshop') {
if (!isteacher($course->id)) {
}
- /******************* display final grade (for students) ************************************/
+ /****************** display final grade (for students) ************************************/
elseif ($action == 'displayfinalgrade' ) {
// get the final weights from the database
echo "<center><table border=\"1\" width=\"90%\"><tr>";
echo "<td><b>".get_string("submissions", "workshop")."</b></td>";
if ($useteachersgrades) {
- echo "<td align=\"center\"><b>".get_string("teacherassessments", "workshop", $course->teacher)."</b></td>";
+ echo "<td align=\"center\"><b>".get_string("teacherassessments", "workshop",
+ $course->teacher)."</b></td>";
}
if ($usepeergrades) {
- echo "<td align=\"center\"><b>".get_string("studentassessments", "workshop", $course->student)."</b></td>";
+ echo "<td align=\"center\"><b>".get_string("studentassessments", "workshop",
+ $course->student)."</b></td>";
}
echo "<td align=\"center\"><b>".get_string("assessmentsdone", "workshop")."</b></td>";
if ($usebiasgrades) {
foreach ($submissions as $submission) {
echo "<TR><td>".workshop_print_submission_title($workshop, $submission)."</td>\n";
if ($useteachersgrades) {
- echo "<td align=\"center\">".workshop_print_submission_assessments($workshop, $submission, "teacher")."</td>";
+ echo "<td align=\"center\">".workshop_print_submission_assessments($workshop,
+ $submission, "teacher")."</td>";
}
if ($usepeergrades) {
- echo "<td align=\"center\">".workshop_print_submission_assessments($workshop, $submission, "student")."</td>";
+ echo "<td align=\"center\">".workshop_print_submission_assessments($workshop,
+ $submission, "student")."</td>";
}
echo "<td align=\"center\">".workshop_print_user_assessments($workshop, $USER)."</td>";
if ($usebiasgrades) {
}\r
- /*********************** make final grades available (for teachers only)**************/
+ /****************** make final grades available (for teachers only)**************/
elseif ($action == 'makefinalgradesavailable') {
if (!isteacher($course->id)) {
}
- /*********************** assignment not available (for students)***********************/
+ /****************** assignment not available (for students)***********************/
elseif ($action == 'notavailable') {
print_heading(get_string("notavailable", "workshop"));
}
- /*********************** open workshop for student assessments and submissions (move to phase 2) (for teachers)**/
+ /****************** open workshop for student assessments (move to phase 2) (for teachers)**/
elseif ($action == 'openworkshop') {
if (!isteacher($course->id)) {
}
- /*********************** set up assignment (move back to phase 1) (for teachers)***********************/
+ /****************** set up assignment (move back to phase 1) (for teachers)***********************/
elseif ($action == 'setupassignment') {
if (!isteacher($course->id)) {
}
- /*********************** student's view could be in 1 of 4 stages ***********************/
+ /****************** student's view could be in 1 of 4 stages ***********************/
elseif ($action == 'studentsview') {
workshop_print_assignment_info($workshop);
// in Stage 1? - are there any teacher's submissions? and...
- // ...has student assessed the required number of the teacher's submissions ("satisfactory level" dropped 14/8/03)
+ // ...has student assessed the required number of the teacher's submissions
if ($workshop->ntassessments and (!workshop_test_user_assessments($workshop, $USER))) {
- print_heading(get_string("pleaseassesstheseexamplesfromtheteacher", "workshop", $course->teacher));
+ print_heading(get_string("pleaseassesstheseexamplesfromtheteacher", "workshop",
+ $course->teacher));
workshop_list_teacher_submissions($workshop, $USER);
}
// in stage 2? - submit own first attempt
else {
- if ($workshop->ntassessments) { // show assessment the teacher's examples, there may be feedback from teacher
- print_heading(get_string("yourassessmentsofexamplesfromtheteacher", "workshop", $course->teacher));
+ if ($workshop->ntassessments) {
+ // show assessment the teacher's examples, there may be feedback from teacher
+ print_heading(get_string("yourassessmentsofexamplesfromtheteacher", "workshop",
+ $course->teacher));
workshop_list_teacher_submissions($workshop, $USER);
}
if (!workshop_get_user_submissions($workshop, $USER)) {
// print upload form
- print_heading(get_string("submitassignment", "assignment").":");
+ print_heading(get_string("submitassignmentusingform", "workshop").":");
workshop_print_upload_form($workshop);
}
// in stage 3? - grade other student's submissions, resubmit and list all submissions
// list previous submissions
print_heading(get_string("submissions", "workshop"));
workshop_list_user_submissions($workshop, $USER);
- if ($workshop->resubmit) {
- // if resubmissions allowed print upload form
- echo "<hr size=\"1\" noshade>";
- print_heading(get_string("submitassignment", "assignment").":");
- workshop_print_upload_form($workshop);
- echo "<hr size=\"1\" noshade>";
- }
+ // are resubmissions allowed?
+ if ($workshop->resubmit) {
+ // see if there are any cold (warm included as well) assessments of the last submission
+ // if there are then print upload form
+ if ($submissions = workshop_get_user_submissions($workshop, $USER)) {
+ foreach ($submissions as $submission) {
+ $lastsubmission = $submission;
+ break;
+ }
+ if (workshop_count_assessments($lastsubmission)) {
+ echo "<hr size=\"1\" noshade>";
+ print_heading(get_string("submitrevisedassignment", "workshop").":");
+ workshop_print_upload_form($workshop);
+ echo "<hr size=\"1\" noshade>";
+ }
+ }
+ }
// allow user to list their submissions and assessments in a general way????
// print_heading("<A HREF=\"submissions.php?action=listallsubmissions&id=$cm->id\">".
// get_string("listofallsubmissions", "workshop"));
- }
}
}
+ }
- /*********************** submission of assignment by teacher only***********************/
+ /****************** submission of assignment by teacher only***********************/
elseif ($action == 'submitassignment') {
if (!isteacher($course->id)) {
}
- /*********************** teacher's view - display admin page (current phase options) ************/
+ /****************** teacher's view - display admin page (current phase options) ************/
elseif ($action == 'teachersview') {
if (!isteacher($course->id)) {
error("Only teachers can look at this page");
- }
+ }
print_heading_with_help(get_string("managingassignment", "workshop"), "managing", "workshop");
workshop_print_assignment_info($workshop);
- $tabs->names = array("1. ".get_string("phase1", "workshop"), "2. ".get_string("phase2", "workshop", $course->student),
- "3. ".get_string("phase3", "workshop"), "4. ".get_string("phase4", "workshop"), "5. ".get_string("phase5", "workshop"));
+ $tabs->names = array("1. ".get_string("phase1", "workshop"),
+ "2. ".get_string("phase2", "workshop", $course->student),
+ "3. ".get_string("phase3", "workshop"),
+ "4. ".get_string("phase4", "workshop"),
+ "5. ".get_string("phase5", "workshop"));
$tabs->urls = array("view.php?id=$cm->id&action=setupassignment",
"view.php?id=$cm->id&action=openworkshop",
"view.php?id=$cm->id&action=allowpeerassessments",
echo "<p><b><a href=\"assessments.php?id=$cm->id&action=editelements\">".
get_string("amendassessmentelements", "workshop")."</a></b> \n";
helpbutton("elements", get_string("amendassessmentelements", "workshop"), "workshop");
- if ($workshop->ntassessments) { // if teacher examples show submission and assessment links
+ if ($workshop->ntassessments) {
+ // if teacher examples show submission and assessment links
echo "<p><b><a href=\"view.php?id=$cm->id&action=submitassignment\">".
get_string("submitexampleassignment", "workshop")."</a></b> \n";
- helpbutton("submissionofexamples", get_string("submitexampleassignment", "workshop"), "workshop");
+ helpbutton("submissionofexamples", get_string("submitexampleassignment", "workshop"),
+ "workshop");
echo "<p><b><a href=\"submissions.php?id=$cm->id&action=listforassessmentteacher\">".
get_string("teachersubmissionsforassessment", "workshop",
workshop_count_teacher_submissions_for_assessment($workshop, $USER)).
"</a></b> \n";
- helpbutton("assessmentofexamples", get_string("teachersubmissionsforassessment", "workshop"), "workshop");
+ helpbutton("assessmentofexamples", get_string("teachersubmissionsforassessment",
+ "workshop"), "workshop");
}
break;
echo "<p><b><a href=\"assessments.php?id=$cm->id&action=listungradedteachersubmissions\">".
get_string("ungradedassessmentsofteachersubmissions", "workshop",
workshop_count_ungraded_assessments_teacher($workshop))."</a></b> \n";
- helpbutton("ungradedassessments_teacher", get_string("ungradedassessmentsofteachersubmissions", "workshop"), "workshop");
- }
+ helpbutton("ungradedassessments_teacher",
+ get_string("ungradedassessmentsofteachersubmissions", "workshop"), "workshop");
+ }
echo "<p><b><a href=\"assessments.php?id=$cm->id&action=listungradedstudentsubmissions\">".
get_string("ungradedassessmentsofstudentsubmissions", "workshop",
workshop_count_ungraded_assessments_student($workshop))."</a></b> \n";
- helpbutton("ungradedassessments_student", get_string("ungradedassessmentsofstudentsubmissions", "workshop"), "workshop");
+ helpbutton("ungradedassessments_student",
+ get_string("ungradedassessmentsofstudentsubmissions", "workshop"), "workshop");
echo "<p><b><a href=\"submissions.php?id=$cm->id&action=listforassessmentstudent\">".
get_string("studentsubmissionsforassessment", "workshop",
workshop_count_student_submissions_for_assessment($workshop, $USER))."</a></b> \n";
- helpbutton("gradingsubmissions", get_string("studentsubmissionsforassessment", "workshop"), "workshop");
+ helpbutton("gradingsubmissions",
+ get_string("studentsubmissionsforassessment", "workshop"), "workshop");
break;
case 4: // calculate final grades
echo "<p><b><a href=\"assessments.php?id=$cm->id&action=listungradedteachersubmissions\">".
get_string("ungradedassessmentsofteachersubmissions", "workshop",
workshop_count_ungraded_assessments_teacher($workshop))."</a></b> \n";
- helpbutton("ungradedassessments_teacher", get_string("ungradedassessmentsofteachersubmissions", "workshop"), "workshop");
- }
+ helpbutton("ungradedassessments_teacher",
+ get_string("ungradedassessmentsofteachersubmissions", "workshop"), "workshop");
+ }
echo "<p><b><a href=\"assessments.php?id=$cm->id&action=listungradedstudentsubmissions\">".
get_string("ungradedassessmentsofstudentsubmissions", "workshop",
workshop_count_ungraded_assessments_student($workshop))."</a></b> \n";
- helpbutton("ungradedassessments_student", get_string("ungradedassessmentsofstudentsubmissions", "workshop"), "workshop");
+ helpbutton("ungradedassessments_student",
+ get_string("ungradedassessmentsofstudentsubmissions", "workshop"), "workshop");
echo "<p><b><a href=\"submissions.php?id=$cm->id&action=listforassessmentstudent\">".
get_string("studentsubmissionsforassessment", "workshop",
workshop_count_student_submissions_for_assessment($workshop, $USER))."</a></b> \n";
- helpbutton("gradingsubmissions", get_string("studentsubmissionsforassessment", "workshop"), "workshop");
+ helpbutton("gradingsubmissions",
+ get_string("studentsubmissionsforassessment", "workshop"), "workshop");
print_heading("<a href=\"submissions.php?id=$cm->id&action=displayfinalweights\">".
get_string("calculationoffinalgrades", "workshop")."</a>");
break;
case 5: // show final grades
print_heading("<A HREF=\"submissions.php?id=$cm->id&action=displayfinalgrades\">".
get_string("displayoffinalgrades", "workshop")."</A>");
- }
+ }
print_heading("<A HREF=\"submissions.php?id=$cm->id&action=adminlist\">".
get_string("administration")."</A>");
}
- /*************** no man's land **************************************/\r
- else {\r
- error("Fatal Error: Unknown Action: ".$action."\n");\r
- }\r
+ /*************** no man's land **************************************/
+ else {
+ error("Fatal Error: Unknown Action: ".$action."\n");
+ }
print_footer($course);