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 {
Esempio n. 2
0
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");
    }
}
Esempio n. 3
0
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;
}