course)) { error("Course is misconfigured"); } if (! $exercise = get_record("exercise", "id", $cm->instance)) { error("Course module is incorrect"); } require_login($course->id, false, $cm); $strexercises = get_string("modulenameplural", "exercise"); $strexercise = get_string("modulename", "exercise"); $strsubmissions = get_string("submissions", "exercise"); // ... print the header and... print_header_simple(format_string($exercise->name), "", "id\">$strexercises -> id\">".format_string($exercise->name,true)." -> $strsubmissions", "", "", true); /******************* admin amend title ************************************/ if ($action == 'adminamendtitle' ) { if (!isteacher($course->id)) { error("Only teachers can look at this page"); } if (empty($sid)) { error("Admin Amend Title: submission id missing"); } $submission = get_record("exercise_submissions", "id", $sid); print_heading(get_string("amendtitle", "exercise")); ?>
\n"; } /******************* admin clear late (flag) ************************************/ elseif ($action == 'adminclearlate' ) { if (!isteacher($course->id)) { error("Only teachers can look at this page"); } if (empty($sid)) { error("Admin clear late flag: submission id missing"); } if (!$submission = get_record("exercise_submissions", "id", $sid)) { error("Admin clear late flag: can not get submission record"); } if (set_field("exercise_submissions", "late", 0, "id", $sid)) { print_heading(get_string("clearlateflag", "exercise")." ".get_string("ok")); } add_to_log($course->id, "exercise", "late flag cleared", "view.php?id=$cm->id", "submission $submission->id"); redirect("submissions.php?id=$cm->id&action=adminlist"); } /******************* admin confirm delete ************************************/ elseif ($action == 'adminconfirmdelete' ) { if (!isteacher($course->id)) { error("Only teachers can look at this page"); } if (empty($sid)) { error("Admin confirm delete: submission id missing"); } if (!$submission = get_record("exercise_submissions", "id", $sid)) { error("Admin delete: can not get submission record"); } if (isteacher($course->id, $submission->userid)) { if (!isteacheredit($course->id)) { error("Only teacher with editing permissions can delete teacher submissions."); } if ($assessments = exercise_get_assessments($submission)) { echo "".get_string("deletesubmissionwarning", "exercise", count($assessments)). "
\n"; } } notice_yesno(get_string("confirmdeletionofthisitem","exercise", get_string("submission", "exercise")), "submissions.php?action=admindelete&id=$cm->id&sid=$sid", "submissions.php?id=$cm->id&action=adminlist"); } /******************* admin delete ************************************/ elseif ($action == 'admindelete' ) { if (!isteacher($course->id)) { error("Only teachers can look at this page"); } if (empty($sid)) { error("Admin delete: submission id missing"); } if (!$submission = get_record("exercise_submissions", "id", $sid)) { error("Admin delete: can not get submission record"); } print_string("deleting", "exercise"); // first get any assessments... if ($assessments = exercise_get_assessments($submission)) { foreach($assessments as $assessment) { // ...and all the associated records... delete_records("exercise_grades", "assessmentid", $assessment->id); echo "."; } // ...now delete the assessments... delete_records("exercise_assessments", "submissionid", $submission->id); } // ...and the submission record... delete_records("exercise_submissions", "id", $submission->id); // ..and finally the submitted file exercise_delete_submitted_files($exercise, $submission); add_to_log($course->id, "exercise", "delete", "view.php?id=$cm->id", "submission $submission->id"); print_continue("submissions.php?id=$cm->id&action=adminlist"); } /******************* admin (confirm) late flag ************************************/ elseif ($action == 'adminlateflag' ) { if (!isteacher($course->id)) { error("Only teachers can look at this page"); } if (empty($sid)) { error("Admin confirm late flag: submission id missing"); } if (!$submission = get_record("exercise_submissions", "id", $sid)) { error("Admin confirm late flag: can not get submission record"); } notice_yesno(get_string("clearlateflag","exercise")."?", "submissions.php?action=adminclearlate&id=$cm->id&sid=$sid", "submissions.php?id=$cm->id&action=adminlist"); } /******************* list all submissions ************************************/ elseif ($action == 'adminlist' ) { if (!isteacher($course->id)) { error("Only teachers can look at this page"); } echo "Exercise Version-> $module->version
"; exercise_list_submissions_for_admin($exercise); print_continue("view.php?id=$cm->id"); } /******************* admin update title ************************************/ elseif ($action == 'adminupdatetitle' ) { if (!isteacher($course->id)) { error("Only teachers can look at this page"); } if (empty($sid)) { error("Admin Update Title: submission id missing"); } if (set_field("exercise_submissions", "title", $title, "id", $sid)) { print_heading(get_string("amendtitle", "exercise")." ".get_string("ok")); } redirect("submissions.php?id=$cm->id&action=adminlist"); } /*************** display final grades (by teacher) ***************************/ elseif ($action == 'displayfinalgrades') { $groupid = get_current_group($course->id); // Get all the students if (!$users = get_course_students($course->id, "u.lastname, u.firstname")) { print_heading(get_string("nostudentsyet")); print_footer($course); exit; } // show the final grades as stored in the tables... print_heading_with_help(get_string("displayoffinalgrades", "exercise"), "finalgrades", "exercise"); echo "".$course->student." | "; echo "".get_string("submission", "exercise")." | "; echo "".get_string("gradeforassessment", "exercise")." | "; echo "".get_string("gradeforsubmission", "exercise")." | "; echo "".get_string("overallgrade", "exercise")." |
".get_string("maximumgrade")." | "; echo "\n"; echo " | $exercise->gradinggrade | \n"; echo "$exercise->grade | \n"; echo "|
".fullname($user)." | \n"; echo "".exercise_print_submission_title($exercise, $submission)." | \n"; echo "$gradinggrade | "; echo "$grade | "; echo "$overallgrade |