redirect("submissions.php?id={$cm->id}&action=adminlist", get_string("weightssaved", "exercise")); } elseif ($action == 'userconfirmdelete') { if (empty($sid)) { error("User Confirm Delete: submission id missing"); } notice_yesno(get_string("confirmdeletionofthisitem", "exercise", get_string("submission", "exercise")), "submissions.php?action=userdelete&id={$cm->id}&sid={$sid}", "view.php?id={$cm->id}"); } elseif ($action == 'userdelete') { if (empty($sid)) { error("User Delete: submission id missing"); } if (!($submission = get_record("exercise_submissions", "id", $sid))) { error("User 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("view.php?id={$cm->id}"); } else {
function exercise_user_complete($course, $user, $mod, $exercise) { if ($submissions = exercise_get_user_submissions($exercise, $user)) { print_simple_box_start(); $table->head = array(get_string("submission", "exercise"), get_string("submitted", "exercise"), get_string("assessed", "exercise"), get_string("grade")); $table->width = "100%"; $table->align = array("left", "left", "left", "center"); $table->size = array("*", "*", "*", "*"); $table->cellpadding = 2; $table->cellspacing = 0; foreach ($submissions as $submission) { if ($assessments = exercise_get_assessments($submission)) { // should only be one but we'll loop anyway foreach ($assessments as $assessment) { $table->data[] = array(exercise_print_submission_title($exercise, $submission), userdate($submission->timecreated), userdate($assessment->timecreated), $assessment->grade * $exercise->grade / 100.0); } } else { // submission not yet assessed (by teacher) $table->data[] = array(exercise_print_submission_title($exercise, $submission), userdate($submission->timecreated), get_string("notassessedyet", "exercise"), 0); } } print_table($table); print_simple_box_end(); } else { print_string("nosubmissions", "exercise"); } }
function exercise_print_submission_assessments($exercise, $submission) { // Returns a list of grades for this submission if (!($course = get_record("course", "id", $exercise->course))) { error("Course is misconfigured"); } if (!($cm = get_coursemodule_from_instance("exercise", $exercise->id, $course->id))) { error("Course Module ID was incorrect"); } $str = ''; if ($assessments = exercise_get_assessments($submission)) { foreach ($assessments as $assessment) { if (isteacher($exercise->course, $assessment->userid)) { $str .= "[" . number_format($assessment->grade * $exercise->grade / 100.0, 0) . "] "; } else { // assessment by student - shouldn't happen! $str .= "{" . number_format($assessment->grade * $exercise->grade / 100.0, 0) . "} "; } } } if (!$str) { $str = " "; // be kind to Mozilla browsers! } return $str; }