7
7
class assignment_offline extends assignment_base {
9
function assignment_offline($cmid=0) {
10
parent::assignment_base($cmid);
9
function assignment_offline($cmid='staticonly', $assignment=NULL, $cm=NULL, $course=NULL) {
10
parent::assignment_base($cmid, $assignment, $cm, $course);
11
$this->type = 'offline';
13
14
function display_lateness($timesubmitted) {
16
17
function print_student_answer($studentid){
17
18
return '';//does nothing!
20
21
function prepare_new_submission($userid) {
21
$submission = new Object;
22
$submission = new Object;
22
23
$submission->assignment = $this->assignment->id;
23
24
$submission->userid = $userid;
24
25
$submission->timecreated = time(); // needed for offline assignments
59
$grading_info = grade_get_grades($this->course->id, 'mod', 'assignment', $this->assignment->id, $feedback->userid);
61
// store outcomes if needed
62
$this->process_outcomes($feedback->userid);
58
64
$submission = $this->get_submission($feedback->userid, true); // Get or make one
60
$submission->grade = $feedback->grade;
61
$submission->submissioncomment = $feedback->submissioncomment;
62
$submission->format = $feedback->format;
63
$submission->teacher = $USER->id;
64
$submission->mailed = 0; // Make sure mail goes out (again, even)
65
$submission->timemarked = time();
67
unset($submission->data1); // Don't need to update this.
68
unset($submission->data2); // Don't need to update this.
70
if (empty($submission->timemodified)) { // eg for offline assignments
71
$submission->timemodified = time();
74
if (! update_record('assignment_submissions', $submission)) {
78
add_to_log($this->course->id, 'assignment', 'update grades',
79
'submissions.php?id='.$this->assignment->id.'&user='.$feedback->userid, $feedback->userid, $this->cm->id);
66
if (!$grading_info->items[0]->grades[$feedback->userid]->locked and
67
!$grading_info->items[0]->grades[$feedback->userid]->overridden) {
69
$submission->grade = $feedback->grade;
70
$submission->submissioncomment = $feedback->submissioncomment;
71
$submission->format = $feedback->format;
72
$submission->teacher = $USER->id;
73
$mailinfo = get_user_preferences('assignment_mailinfo', 0);
75
$submission->mailed = 1; // treat as already mailed
77
$submission->mailed = 0; // Make sure mail goes out (again, even)
79
$submission->timemarked = time();
81
unset($submission->data1); // Don't need to update this.
82
unset($submission->data2); // Don't need to update this.
84
if (empty($submission->timemodified)) { // eg for offline assignments
85
$submission->timemodified = time();
88
if (! update_record('assignment_submissions', $submission)) {
93
$this->update_grade($submission);
95
add_to_log($this->course->id, 'assignment', 'update grades',
96
'submissions.php?id='.$this->assignment->id.'&user='.$feedback->userid, $feedback->userid, $this->cm->id);
81
99
return $submission;