|
Moodle
2.2.1
http://www.collinsharper.com
|
00001 <?php 00002 00003 require_once("../../config.php"); 00004 require_once("lib.php"); 00005 require_once($CFG->libdir.'/plagiarismlib.php'); 00006 00007 $id = optional_param('id', 0, PARAM_INT); // Course module ID 00008 $a = optional_param('a', 0, PARAM_INT); // Assignment ID 00009 $mode = optional_param('mode', 'all', PARAM_ALPHA); // What mode are we in? 00010 $download = optional_param('download' , 'none', PARAM_ALPHA); //ZIP download asked for? 00011 00012 $url = new moodle_url('/mod/assignment/submissions.php'); 00013 if ($id) { 00014 if (! $cm = get_coursemodule_from_id('assignment', $id)) { 00015 print_error('invalidcoursemodule'); 00016 } 00017 00018 if (! $assignment = $DB->get_record("assignment", array("id"=>$cm->instance))) { 00019 print_error('invalidid', 'assignment'); 00020 } 00021 00022 if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) { 00023 print_error('coursemisconf', 'assignment'); 00024 } 00025 $url->param('id', $id); 00026 } else { 00027 if (!$assignment = $DB->get_record("assignment", array("id"=>$a))) { 00028 print_error('invalidcoursemodule'); 00029 } 00030 if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) { 00031 print_error('coursemisconf', 'assignment'); 00032 } 00033 if (! $cm = get_coursemodule_from_instance("assignment", $assignment->id, $course->id)) { 00034 print_error('invalidcoursemodule'); 00035 } 00036 $url->param('a', $a); 00037 } 00038 00039 if ($mode !== 'all') { 00040 $url->param('mode', $mode); 00041 } 00042 $PAGE->set_url($url); 00043 require_login($course->id, false, $cm); 00044 00045 require_capability('mod/assignment:grade', get_context_instance(CONTEXT_MODULE, $cm->id)); 00046 00047 $PAGE->requires->js('/mod/assignment/assignment.js'); 00048 00050 require($CFG->dirroot.'/mod/assignment/type/'.$assignment->assignmenttype.'/assignment.class.php'); 00051 $assignmentclass = 'assignment_'.$assignment->assignmenttype; 00052 $assignmentinstance = new $assignmentclass($cm->id, $assignment, $cm, $course); 00053 00054 if($download == "zip") { 00055 $assignmentinstance->download_submissions(); 00056 } else { 00057 $assignmentinstance->submissions($mode); // Display or process the submissions 00058 }