$user = get_record("user", "id", $userid); exercise_print_assessments_by_user_for_admin($exercise, $user); print_continue("submissions.php?action=adminlist&id={$cm->id}"); } elseif ($action == 'assessresubmission') { if (empty($sid)) { error("exercise asssessments: assessresubmission called with no sid"); } if (!($submission = get_record("exercise_submissions", "id", $sid))) { error("Assess submission is misconfigured - no submission record!"); } if (!($submissionowner = get_record("user", "id", $submission->userid))) { error("Assess resubmission: user record not found"); } // there can be an assessment record, if there isn't... if (!($assessment = exercise_get_submission_assessment($submission, $USER))) { if (!($submissions = exercise_get_user_submissions($exercise, $submissionowner))) { error("Assess resubmission: submission records not found"); } $lastone = ''; // just the last but one submission foreach ($submissions as $submission) { $prevsubmission = $lastone; $lastone = $submission; } // get the teacher's assessment of the student's previous submission if (!($prevassessment = exercise_get_submission_assessment($prevsubmission, $USER))) { error("Assess resubmission: Previous assessment record not found"); } // copy this assessment with comments... $assessment = exercise_copy_assessment($prevassessment, $submission, true); }
function exercise_user_outline($course, $user, $mod, $exercise) { if ($submissions = exercise_get_user_submissions($exercise, $user)) { $result->info = count($submissions) . " " . get_string("submissions", "exercise"); foreach ($submissions as $submission) { // the first one is the most recent one $result->time = $submission->timecreated; break; } return $result; } return NULL; }
if (!($course = get_record("course", "id", $cm->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"); $strupload = get_string("upload"); $navigation = build_navigation($strupload, $cm); print_header_simple(format_string($exercise->name) . " : {$strupload}", "", $navigation, "", "", true); // check that this is not a "rapid" second submission, caused by using the back button // only check if a student, teachers may want to submit a set of exercise variants if (isstudent($course->id)) { if ($submissions = exercise_get_user_submissions($exercise, $USER)) { // returns all submissions, newest on first foreach ($submissions as $submission) { if ($submission->timecreated > $timenow - $CFG->maxeditingtime) { // ignore this submission redirect("view.php?id={$cm->id}"); print_footer($course); exit; } } } } // check existence of title if ($title == '') { notify(get_string("notitlegiven", "exercise")); } else {
function exercise_test_for_resubmission($exercise, $user) { // see if any of the user's submissions have the resubmit flag set $result = false; if ($submissions = exercise_get_user_submissions($exercise, $user)) { foreach ($submissions as $submission) { if ($submission->resubmit) { $result = true; break; } } } return $result; }