assignment.class.php
来自「很棒的在线教学系统」· PHP 代码 · 共 106 行
PHP
106 行
<?php // $Id: assignment.class.php,v 1.12.2.2 2008/02/20 17:49:59 skodak Exp $/** * Extend the base assignment class for offline assignments * */class assignment_offline extends assignment_base { function assignment_offline($cmid='staticonly', $assignment=NULL, $cm=NULL, $course=NULL) { parent::assignment_base($cmid, $assignment, $cm, $course); $this->type = 'offline'; } function display_lateness($timesubmitted) { return ''; } function print_student_answer($studentid){ return '';//does nothing! } function prepare_new_submission($userid) { $submission = new Object; $submission->assignment = $this->assignment->id; $submission->userid = $userid; $submission->timecreated = time(); // needed for offline assignments $submission->timemodified = $submission->timecreated; $submission->numfiles = 0; $submission->data1 = ''; $submission->data2 = ''; $submission->grade = -1; $submission->submissioncomment = ''; $submission->format = 0; $submission->teacher = 0; $submission->timemarked = 0; $submission->mailed = 0; return $submission; } // needed for the timemodified override function process_feedback() { global $CFG, $USER; require_once($CFG->libdir.'/gradelib.php'); if (!$feedback = data_submitted()) { // No incoming data? return false; } ///For save and next, we need to know the userid to save, and the userid to go ///We use a new hidden field in the form, and set it to -1. If it's set, we use this ///as the userid to store if ((int)$feedback->saveuserid !== -1){ $feedback->userid = $feedback->saveuserid; } if (!empty($feedback->cancel)) { // User hit cancel button return false; } $grading_info = grade_get_grades($this->course->id, 'mod', 'assignment', $this->assignment->id, $feedback->userid); // store outcomes if needed $this->process_outcomes($feedback->userid); $submission = $this->get_submission($feedback->userid, true); // Get or make one if (!$grading_info->items[0]->grades[$feedback->userid]->locked and !$grading_info->items[0]->grades[$feedback->userid]->overridden) { $submission->grade = $feedback->grade; $submission->submissioncomment = $feedback->submissioncomment; $submission->format = $feedback->format; $submission->teacher = $USER->id; $mailinfo = get_user_preferences('assignment_mailinfo', 0); if (!$mailinfo) { $submission->mailed = 1; // treat as already mailed } else { $submission->mailed = 0; // Make sure mail goes out (again, even) } $submission->timemarked = time(); unset($submission->data1); // Don't need to update this. unset($submission->data2); // Don't need to update this. if (empty($submission->timemodified)) { // eg for offline assignments $submission->timemodified = time(); } if (! update_record('assignment_submissions', $submission)) { return false; } // triger grade event $this->update_grade($submission); add_to_log($this->course->id, 'assignment', 'update grades', 'submissions.php?id='.$this->assignment->id.'&user='.$feedback->userid, $feedback->userid, $this->cm->id); } return $submission; }}?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?