mod-assignment MDL-19803 Upgraded deprecated functions and added set_url calls

This commit is contained in:
samhemelryk 2009-09-23 02:46:55 +00:00
parent 05c6c3b08f
commit 816250281e
10 changed files with 524 additions and 504 deletions

View File

@ -1,42 +1,44 @@
<?php // $Id$
<?php
require_once('../../config.php');
require_once('lib.php');
require_once('../../config.php');
require_once('lib.php');
$id = optional_param('id', 0, PARAM_INT); // Course module ID
$a = optional_param('a', 0, PARAM_INT); // Assignment ID
$id = optional_param('id', 0, PARAM_INT); // Course module ID
$a = optional_param('a', 0, PARAM_INT); // Assignment ID
if ($id) {
if (! $cm = get_coursemodule_from_id('assignment', $id)) {
print_error('invalidcoursemodule');
}
if (! $assignment = $DB->get_record('assignment', array('id'=>$cm->instance))) {
print_error('invalidid', 'assignment');
}
if (! $course = $DB->get_record('course', array('id'=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
} else {
if (!$assignment = $DB->get_record('assignment', array('id'=>$a))) {
print_error('invalidcoursemodule');
}
if (! $course = $DB->get_record('course', array('id'=>$assignment->course))) {
print_error('coursemisconf', 'assignement');
}
if (! $cm = get_coursemodule_from_instance('assignment', $assignment->id, $course->id)) {
print_error('invalidcoursemodule');
}
$url = new moodle_url($CFG->wwwroot.'/mod/assignment/delete.php');
if ($id) {
if (! $cm = get_coursemodule_from_id('assignment', $id)) {
print_error('invalidcoursemodule');
}
require_login($course->id, false, $cm);
if (! $assignment = $DB->get_record('assignment', array('id'=>$cm->instance))) {
print_error('invalidid', 'assignment');
}
if (! $course = $DB->get_record('course', array('id'=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
$url->param('id', $id);
} else {
if (!$assignment = $DB->get_record('assignment', array('id'=>$a))) {
print_error('invalidcoursemodule');
}
if (! $course = $DB->get_record('course', array('id'=>$assignment->course))) {
print_error('coursemisconf', 'assignement');
}
if (! $cm = get_coursemodule_from_instance('assignment', $assignment->id, $course->id)) {
print_error('invalidcoursemodule');
}
$url->param('a', $a);
}
$PAGE->set_url($url);
require_login($course->id, false, $cm);
/// Load up the required assignment code
require($CFG->dirroot.'/mod/assignment/type/'.$assignment->assignmenttype.'/assignment.class.php');
$assignmentclass = 'assignment_'.$assignment->assignmenttype;
$assignmentinstance = new $assignmentclass($cm->id, $assignment, $cm, $course);
require($CFG->dirroot.'/mod/assignment/type/'.$assignment->assignmenttype.'/assignment.class.php');
$assignmentclass = 'assignment_'.$assignment->assignmenttype;
$assignmentinstance = new $assignmentclass($cm->id, $assignment, $cm, $course);
$assignmentinstance->delete(); // delete something
?>
$assignmentinstance->delete(); // delete something

View File

@ -1,27 +1,26 @@
<?php // $Id$
<?php
require_once("../../config.php");
require_once("../../config.php");
$id = required_param('id', PARAM_INT); // Course module ID
$id = required_param('id', PARAM_INT); // Course module ID
if (! $cm = get_coursemodule_from_id('assignment', $id)) {
print_error('invalidcoursemodule');
}
$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/assignment/grade.php', array('id'=>$id)));
if (! $cm = get_coursemodule_from_id('assignment', $id)) {
print_error('invalidcoursemodule');
}
if (! $assignment = $DB->get_record("assignment", array("id"=>$cm->instance))) {
print_error('invalidid', 'assignment');
}
if (! $assignment = $DB->get_record("assignment", array("id"=>$cm->instance))) {
print_error('invalidid', 'assignment');
}
if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
require_login($course, false, $cm);
require_login($course, false, $cm);
if (has_capability('mod/assignment:grade', get_context_instance(CONTEXT_MODULE, $cm->id))) {
redirect('submissions.php?id='.$cm->id);
} else {
redirect('view.php?id='.$cm->id);
}
?>
if (has_capability('mod/assignment:grade', get_context_instance(CONTEXT_MODULE, $cm->id))) {
redirect('submissions.php?id='.$cm->id);
} else {
redirect('view.php?id='.$cm->id);
}

View File

@ -1,120 +1,121 @@
<?php // $Id$
<?php
require_once("../../config.php");
require_once("lib.php");
require_once($CFG->libdir.'/gradelib.php');
require_once("../../config.php");
require_once("lib.php");
require_once($CFG->libdir.'/gradelib.php');
$id = required_param('id', PARAM_INT); // course
$id = required_param('id', PARAM_INT); // course
if (!$course = $DB->get_record('course', array('id'=>$id))) {
print_error('invalidcourseid');
if (!$course = $DB->get_record('course', array('id'=>$id))) {
print_error('invalidcourseid');
}
require_course_login($course);
add_to_log($course->id, "assignment", "view all", "index.php?id=$course->id", "");
$strassignments = get_string("modulenameplural", "assignment");
$strassignment = get_string("modulename", "assignment");
$strassignmenttype = get_string("assignmenttype", "assignment");
$strweek = get_string("week");
$strtopic = get_string("topic");
$strname = get_string("name");
$strduedate = get_string("duedate", "assignment");
$strsubmitted = get_string("submitted", "assignment");
$strgrade = get_string("grade");
$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/assignment/index.php', array('id'=>$course->id)));
$PAGE->navbar->add($strassignments);
$PAGE->set_title($strassignments);
echo $OUTPUT->header();
if (!$cms = get_coursemodules_in_course('assignment', $course->id, 'm.assignmenttype, m.timedue')) {
notice(get_string('noassignments', 'assignment'), "../../course/view.php?id=$course->id");
die;
}
$timenow = time();
$table = new html_table();
if ($course->format == "weeks") {
$table->head = array ($strweek, $strname, $strassignmenttype, $strduedate, $strsubmitted, $strgrade);
$table->align = array ("center", "left", "left", "left", "right");
} else if ($course->format == "topics") {
$table->head = array ($strtopic, $strname, $strassignmenttype, $strduedate, $strsubmitted, $strgrade);
$table->align = array ("center", "left", "left", "left", "right");
} else {
$table->head = array ($strname, $strassignmenttype, $strduedate, $strsubmitted, $strgrade);
$table->align = array ("left", "left", "left", "right");
}
$currentsection = "";
$types = assignment_types();
$modinfo = get_fast_modinfo($course);
foreach ($modinfo->instances['assignment'] as $cm) {
if (!$cm->uservisible) {
continue;
}
require_course_login($course);
add_to_log($course->id, "assignment", "view all", "index.php?id=$course->id", "");
$cm->timedue = $cms[$cm->id]->timedue;
$cm->assignmenttype = $cms[$cm->id]->assignmenttype;
$strassignments = get_string("modulenameplural", "assignment");
$strassignment = get_string("modulename", "assignment");
$strassignmenttype = get_string("assignmenttype", "assignment");
$strweek = get_string("week");
$strtopic = get_string("topic");
$strname = get_string("name");
$strduedate = get_string("duedate", "assignment");
$strsubmitted = get_string("submitted", "assignment");
$strgrade = get_string("grade");
//Show dimmed if the mod is hidden
$class = $cm->visible ? '' : 'class="dimmed"';
$PAGE->navbar->add($strassignments);
$PAGE->set_title($strassignments);
echo $OUTPUT->header();
if (!$cms = get_coursemodules_in_course('assignment', $course->id, 'm.assignmenttype, m.timedue')) {
notice(get_string('noassignments', 'assignment'), "../../course/view.php?id=$course->id");
die;
$link = "<a $class href=\"view.php?id=$cm->id\">".format_string($cm->name)."</a>";
$printsection = "";
if ($cm->sectionnum !== $currentsection) {
if ($cm->sectionnum) {
$printsection = $cm->sectionnum;
}
if ($currentsection !== "") {
$table->data[] = 'hr';
}
$currentsection = $cm->sectionnum;
}
$timenow = time();
if (!file_exists($CFG->dirroot.'/mod/assignment/type/'.$cm->assignmenttype.'/assignment.class.php')) {
continue;
}
$table = new html_table();
require_once ($CFG->dirroot.'/mod/assignment/type/'.$cm->assignmenttype.'/assignment.class.php');
$assignmentclass = 'assignment_'.$cm->assignmenttype;
$assignmentinstance = new $assignmentclass($cm->id, NULL, $cm, $course);
if ($course->format == "weeks") {
$table->head = array ($strweek, $strname, $strassignmenttype, $strduedate, $strsubmitted, $strgrade);
$table->align = array ("center", "left", "left", "left", "right");
} else if ($course->format == "topics") {
$table->head = array ($strtopic, $strname, $strassignmenttype, $strduedate, $strsubmitted, $strgrade);
$table->align = array ("center", "left", "left", "left", "right");
$submitted = $assignmentinstance->submittedlink(true);
$grading_info = grade_get_grades($course->id, 'mod', 'assignment', $cm->instance, $USER->id);
if (isset($grading_info->items[0]) && !$grading_info->items[0]->grades[$USER->id]->hidden ) {
$grade = $grading_info->items[0]->grades[$USER->id]->str_grade;
}
else {
$grade = '-';
}
$type = $types[$cm->assignmenttype];
// if type has an 'all.php' defined, make this a link
$pathtoall = "{$CFG->dirroot}/mod/assignment/type/{$cm->assignmenttype}/all.php";
if (file_exists($pathtoall)) {
$type = "<a href=\"{$CFG->wwwroot}/mod/assignment/type/{$cm->assignmenttype}/".
"all.php?id={$course->id}\">$type</a>";
}
$due = $cm->timedue ? userdate($cm->timedue) : '-';
if ($course->format == "weeks" or $course->format == "topics") {
$table->data[] = array ($printsection, $link, $type, $due, $submitted, $grade);
} else {
$table->head = array ($strname, $strassignmenttype, $strduedate, $strsubmitted, $strgrade);
$table->align = array ("left", "left", "left", "right");
$table->data[] = array ($link, $type, $due, $submitted, $grade);
}
}
$currentsection = "";
echo "<br />";
$types = assignment_types();
echo $OUTPUT->table($table);
$modinfo = get_fast_modinfo($course);
foreach ($modinfo->instances['assignment'] as $cm) {
if (!$cm->uservisible) {
continue;
}
$cm->timedue = $cms[$cm->id]->timedue;
$cm->assignmenttype = $cms[$cm->id]->assignmenttype;
//Show dimmed if the mod is hidden
$class = $cm->visible ? '' : 'class="dimmed"';
$link = "<a $class href=\"view.php?id=$cm->id\">".format_string($cm->name)."</a>";
$printsection = "";
if ($cm->sectionnum !== $currentsection) {
if ($cm->sectionnum) {
$printsection = $cm->sectionnum;
}
if ($currentsection !== "") {
$table->data[] = 'hr';
}
$currentsection = $cm->sectionnum;
}
if (!file_exists($CFG->dirroot.'/mod/assignment/type/'.$cm->assignmenttype.'/assignment.class.php')) {
continue;
}
require_once ($CFG->dirroot.'/mod/assignment/type/'.$cm->assignmenttype.'/assignment.class.php');
$assignmentclass = 'assignment_'.$cm->assignmenttype;
$assignmentinstance = new $assignmentclass($cm->id, NULL, $cm, $course);
$submitted = $assignmentinstance->submittedlink(true);
$grading_info = grade_get_grades($course->id, 'mod', 'assignment', $cm->instance, $USER->id);
if (isset($grading_info->items[0]) && !$grading_info->items[0]->grades[$USER->id]->hidden ) {
$grade = $grading_info->items[0]->grades[$USER->id]->str_grade;
}
else {
$grade = '-';
}
$type = $types[$cm->assignmenttype];
// if type has an 'all.php' defined, make this a link
$pathtoall = "{$CFG->dirroot}/mod/assignment/type/{$cm->assignmenttype}/all.php";
if (file_exists($pathtoall)) {
$type = "<a href=\"{$CFG->wwwroot}/mod/assignment/type/{$cm->assignmenttype}/".
"all.php?id={$course->id}\">$type</a>";
}
$due = $cm->timedue ? userdate($cm->timedue) : '-';
if ($course->format == "weeks" or $course->format == "topics") {
$table->data[] = array ($printsection, $link, $type, $due, $submitted, $grade);
} else {
$table->data[] = array ($link, $type, $due, $submitted, $grade);
}
}
echo "<br />";
echo $OUTPUT->table($table);
echo $OUTPUT->footer();
?>
echo $OUTPUT->footer();

View File

@ -186,7 +186,7 @@ class assignment_base {
$PAGE->set_title($this->pagetitle);
$PAGE->set_heading($this->course->fullname);
$PAGE->set_button(update_module_button($this->cm->id, $this->course->id, $this->strassignment));
$PAGE->set_button($OUTPUT->update_module_button($this->cm->id, 'assignment'));
echo $OUTPUT->header();

View File

@ -1,45 +1,50 @@
<?php // $Id$
<?php
require_once("../../config.php");
require_once("lib.php");
require_once("../../config.php");
require_once("lib.php");
$id = optional_param('id', 0, PARAM_INT); // Course module ID
$a = optional_param('a', 0, PARAM_INT); // Assignment ID
$mode = optional_param('mode', 'all', PARAM_ALPHA); // What mode are we in?
$id = optional_param('id', 0, PARAM_INT); // Course module ID
$a = optional_param('a', 0, PARAM_INT); // Assignment ID
$mode = optional_param('mode', 'all', PARAM_ALPHA); // What mode are we in?
if ($id) {
if (! $cm = get_coursemodule_from_id('assignment', $id)) {
print_error('invalidcoursemodule');
}
if (! $assignment = $DB->get_record("assignment", array("id"=>$cm->instance))) {
print_error('invalidid', 'assignment');
}
if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
} else {
if (!$assignment = $DB->get_record("assignment", array("id"=>$a))) {
print_error('invalidcoursemodule');
}
if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
if (! $cm = get_coursemodule_from_instance("assignment", $assignment->id, $course->id)) {
print_error('invalidcoursemodule');
}
$url = new moodle_url($CFG->wwwroot.'/mod/assignment/submissions.php');
if ($id) {
if (! $cm = get_coursemodule_from_id('assignment', $id)) {
print_error('invalidcoursemodule');
}
require_login($course->id, false, $cm);
if (! $assignment = $DB->get_record("assignment", array("id"=>$cm->instance))) {
print_error('invalidid', 'assignment');
}
require_capability('mod/assignment:grade', get_context_instance(CONTEXT_MODULE, $cm->id));
if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
$url->param('id', $id);
} else {
if (!$assignment = $DB->get_record("assignment", array("id"=>$a))) {
print_error('invalidcoursemodule');
}
if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
if (! $cm = get_coursemodule_from_instance("assignment", $assignment->id, $course->id)) {
print_error('invalidcoursemodule');
}
$url->param('a', $a);
}
if ($mode !== 'all') {
$url->param('mode', $mode);
}
$PAGE->set_url($url);
require_login($course->id, false, $cm);
require_capability('mod/assignment:grade', get_context_instance(CONTEXT_MODULE, $cm->id));
/// Load up the required assignment code
require($CFG->dirroot.'/mod/assignment/type/'.$assignment->assignmenttype.'/assignment.class.php');
$assignmentclass = 'assignment_'.$assignment->assignmenttype;
$assignmentinstance = new $assignmentclass($cm->id, $assignment, $cm, $course);
require($CFG->dirroot.'/mod/assignment/type/'.$assignment->assignmenttype.'/assignment.class.php');
$assignmentclass = 'assignment_'.$assignment->assignmenttype;
$assignmentinstance = new $assignmentclass($cm->id, $assignment, $cm, $course);
$assignmentinstance->submissions($mode); // Display or process the submissions
?>
$assignmentinstance->submissions($mode); // Display or process the submissions

View File

@ -1,4 +1,4 @@
<?php // $Id$
<?php
//===================================================
// all.php
@ -10,152 +10,153 @@
// See MDL-14045
//===================================================
require_once("../../../../config.php");
require_once("{$CFG->dirroot}/mod/assignment/lib.php");
require_once($CFG->libdir.'/gradelib.php');
require_once('assignment.class.php');
require_once("../../../../config.php");
require_once("{$CFG->dirroot}/mod/assignment/lib.php");
require_once($CFG->libdir.'/gradelib.php');
require_once('assignment.class.php');
// get parameter
$id = required_param('id', PARAM_INT); // course
// get parameter
$id = required_param('id', PARAM_INT); // course
if (!$course = $DB->get_record('course', array('id'=>$id))) {
print_error('invalidcourse');
if (!$course = $DB->get_record('course', array('id'=>$id))) {
print_error('invalidcourse');
}
$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/assignment/type/online/all.php', array('id'=>$id)));
require_course_login($course);
// check for view capability at course level
$context = get_context_instance(CONTEXT_COURSE,$course->id);
require_capability('mod/assignment:view',$context);
// various strings
$str = new stdClass;
$str->assignments = get_string("modulenameplural", "assignment");
$str->duedate = get_string('duedate','assignment');
$str->duedateno = get_string('duedateno','assignment');
$str->editmysubmission = get_string('editmysubmission','assignment');
$str->emptysubmission = get_string('emptysubmission','assignment');
$str->noassignments = get_string('noassignments','assignment');
$str->onlinetext = get_string('typeonline','assignment');
$str->submitted = get_string('submitted','assignment');
$str->topic = get_string('topic');
$str->week = get_string('week');
$PAGE->navbar->add($str->assignments, new moodle_url($CFG->wwwroot.'/mod/assignment/index.php', array('id'=>$id)));
$PAGE->navbar->add($str->onlinetext);
// get all the assignments in the course
$assignments = get_all_instances_in_course('assignment',$course, $USER->id );
// get correct text for course type
if ($course->format=='weeks') {
$courseformat = $str->week;
} else if ($course->format=='topics') {
$courseformat = $str->topic;
} else {
$courseformat = '';
}
// array to hold display data
$views = array();
// loop over assignments finding online ones
foreach( $assignments as $assignment ) {
// only interested in online assignments
if ($assignment->assignmenttype != 'online') {
continue;
}
require_course_login($course);
// check we are allowed to view this
$context = get_context_instance(CONTEXT_MODULE, $assignment->coursemodule);
if (!has_capability('mod/assignment:view',$context)) {
continue;
}
// check for view capability at course level
$context = get_context_instance(CONTEXT_COURSE,$course->id);
require_capability('mod/assignment:view',$context);
// create instance of assignment class to get
// submitted assignments
$onlineinstance = new assignment_online( $assignment->coursemodule );
$submitted = $onlineinstance->submittedlink(true);
$submission = $onlineinstance->get_submission();
// various strings
$str = new stdClass;
$str->assignments = get_string("modulenameplural", "assignment");
$str->duedate = get_string('duedate','assignment');
$str->duedateno = get_string('duedateno','assignment');
$str->editmysubmission = get_string('editmysubmission','assignment');
$str->emptysubmission = get_string('emptysubmission','assignment');
$str->noassignments = get_string('noassignments','assignment');
$str->onlinetext = get_string('typeonline','assignment');
$str->submitted = get_string('submitted','assignment');
$str->topic = get_string('topic');
$str->week = get_string('week');
// submission (if there is one)
if (empty($submission)) {
$submissiontext = $str->emptysubmission;
if (!empty($assignment->timedue)) {
$submissiondate = "{$str->duedate} ".userdate( $assignment->timedue );
$PAGE->navbar->add($str->assignments, new moodle_url($CFG->wwwroot.'/mod/assignment/index.php', array('id'=>$id)));
$PAGE->navbar->add($str->onlinetext);
// get all the assignments in the course
$assignments = get_all_instances_in_course('assignment',$course, $USER->id );
// get correct text for course type
if ($course->format=='weeks') {
$courseformat = $str->week;
} else if ($course->format=='topics') {
$courseformat = $str->topic;
} else {
$submissiondate = $str->duedateno;
}
} else {
$courseformat = '';
$submissiontext = format_text( $submission->data1, $submission->data2 );
$submissiondate = "{$str->submitted} ".userdate( $submission->timemodified );
}
// array to hold display data
$views = array();
// edit link
$editlink = "<a href=\"{$CFG->wwwroot}/mod/assignment/view.php?".
"id={$assignment->coursemodule}&amp;edit=1\">{$str->editmysubmission}</a>";
// loop over assignments finding online ones
foreach( $assignments as $assignment ) {
// only interested in online assignments
if ($assignment->assignmenttype != 'online') {
continue;
}
// format options for description
$formatoptions = new stdClass;
$formatoptions->noclean = true;
// check we are allowed to view this
$context = get_context_instance(CONTEXT_MODULE, $assignment->coursemodule);
if (!has_capability('mod/assignment:view',$context)) {
continue;
}
// object to hold display data for assignment
$view = new stdClass;
// create instance of assignment class to get
// submitted assignments
$onlineinstance = new assignment_online( $assignment->coursemodule );
$submitted = $onlineinstance->submittedlink(true);
$submission = $onlineinstance->get_submission();
// submission (if there is one)
if (empty($submission)) {
$submissiontext = $str->emptysubmission;
if (!empty($assignment->timedue)) {
$submissiondate = "{$str->duedate} ".userdate( $assignment->timedue );
} else {
$submissiondate = $str->duedateno;
}
} else {
$submissiontext = format_text( $submission->data1, $submission->data2 );
$submissiondate = "{$str->submitted} ".userdate( $submission->timemodified );
}
// edit link
$editlink = "<a href=\"{$CFG->wwwroot}/mod/assignment/view.php?".
"id={$assignment->coursemodule}&amp;edit=1\">{$str->editmysubmission}</a>";
// format options for description
$formatoptions = new stdClass;
$formatoptions->noclean = true;
// object to hold display data for assignment
$view = new stdClass;
// start to build view object
if (!empty($courseformat)) {
$view->section = "$courseformat {$assignment->section}";
} else {
$view->section = '';
}
$view->name = $assignment->name;
$view->submitted = $submitted;
$view->description = format_module_intro('assignment', $assignment, $assignment->coursemodule);
$view->editlink = $editlink;
$view->submissiontext = $submissiontext;
$view->submissiondate = $submissiondate;
$view->cm = $assignment->coursemodule;
$views[] = $view;
// start to build view object
if (!empty($courseformat)) {
$view->section = "$courseformat {$assignment->section}";
} else {
$view->section = '';
}
$view->name = $assignment->name;
$view->submitted = $submitted;
$view->description = format_module_intro('assignment', $assignment, $assignment->coursemodule);
$view->editlink = $editlink;
$view->submissiontext = $submissiontext;
$view->submissiondate = $submissiondate;
$view->cm = $assignment->coursemodule;
$views[] = $view;
}
//===================
// DISPLAY
//===================
$PAGE->set_title($str->assignments);
echo $OUTPUT->header();
$PAGE->set_title($str->assignments);
echo $OUTPUT->header();
foreach ($views as $view) {
echo $OUTPUT->container_start('clearfix generalbox assignment');
foreach ($views as $view) {
echo $OUTPUT->container_start('clearfix generalbox assignment');
// info bit
echo $OUTPUT->heading("$view->section - $view->name", 3, 'mdl-left');
if (!empty($view->submitted)) {
echo '<div class="reportlink">'.$view->submitted.'</div>';
}
// description part
echo '<div class="description">'.$view->description.'</div>';
//submission part
echo $OUTPUT->container_start('generalbox submission');
echo '<div class="submissiondate">'.$view->submissiondate.'</div>';
echo "<p>$view->submissiontext</p>\n";
echo "<p>$view->editlink</p>\n";
echo $OUTPUT->container_end();
// feedback part
$onlineinstance = new assignment_online( $view->cm );
$onlineinstance->view_feedback();
echo $OUTPUT->container_end();
// info bit
echo $OUTPUT->heading("$view->section - $view->name", 3, 'mdl-left');
if (!empty($view->submitted)) {
echo '<div class="reportlink">'.$view->submitted.'</div>';
}
echo $OUTPUT->footer();
?>
// description part
echo '<div class="description">'.$view->description.'</div>';
//submission part
echo $OUTPUT->container_start('generalbox submission');
echo '<div class="submissiondate">'.$view->submissiondate.'</div>';
echo "<p>$view->submissiontext</p>\n";
echo "<p>$view->editlink</p>\n";
echo $OUTPUT->container_end();
// feedback part
$onlineinstance = new assignment_online( $view->cm );
$onlineinstance->view_feedback();
echo $OUTPUT->container_end();
}
echo $OUTPUT->footer();

View File

@ -1,65 +1,65 @@
<?php // $Id$
<?php
require("../../../../config.php");
require("../../lib.php");
require("assignment.class.php");
$id = required_param('id', PARAM_INT); // Course Module ID
$userid = required_param('userid', PARAM_INT); // User ID
require("../../../../config.php");
require("../../lib.php");
require("assignment.class.php");
if (! $cm = get_coursemodule_from_id('assignment', $id)) {
print_error('invalidcoursemodule');
$id = required_param('id', PARAM_INT); // Course Module ID
$userid = required_param('userid', PARAM_INT); // User ID
$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/assignment/type/online/file.php', array('id'=>$id, 'userid'=>$userid)));
if (! $cm = get_coursemodule_from_id('assignment', $id)) {
print_error('invalidcoursemodule');
}
if (! $assignment = $DB->get_record("assignment", array("id"=>$cm->instance))) {
print_error('invalidid', 'assignment');
}
if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
if (! $user = $DB->get_record("user", array("id"=>$userid))) {
print_error('usermisconf', 'assignment');
}
require_login($course->id, false, $cm);
if (($USER->id != $user->id) && !has_capability('mod/assignment:grade', get_context_instance(CONTEXT_MODULE, $cm->id))) {
print_error('cannotviewassignment', 'assignment');
}
if ($assignment->assignmenttype != 'online') {
print_error('invalidtype', 'assignment');
}
$assignmentinstance = new assignment_online($cm->id, $assignment, $cm, $course);
if ($submission = $assignmentinstance->get_submission($user->id)) {
$PAGE->set_title(fullname($user,true).': '.$assignment->name);
echo $OUTPUT->header();
echo $OUTPUT->box_start('generalbox boxaligcenter', 'dates');
echo '<table>';
if ($assignment->timedue) {
echo '<tr><td class="c0">'.get_string('duedate','assignment').':</td>';
echo ' <td class="c1">'.userdate($assignment->timedue).'</td></tr>';
}
if (! $assignment = $DB->get_record("assignment", array("id"=>$cm->instance))) {
print_error('invalidid', 'assignment');
}
if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
if (! $user = $DB->get_record("user", array("id"=>$userid))) {
print_error('usermisconf', 'assignment');
}
require_login($course->id, false, $cm);
if (($USER->id != $user->id) && !has_capability('mod/assignment:grade', get_context_instance(CONTEXT_MODULE, $cm->id))) {
print_error('cannotviewassignment', 'assignment');
}
if ($assignment->assignmenttype != 'online') {
print_error('invalidtype', 'assignment');
}
$assignmentinstance = new assignment_online($cm->id, $assignment, $cm, $course);
if ($submission = $assignmentinstance->get_submission($user->id)) {
$PAGE->set_title(fullname($user,true).': '.$assignment->name);
echo $OUTPUT->header();
echo $OUTPUT->box_start('generalbox boxaligcenter', 'dates');
echo '<table>';
if ($assignment->timedue) {
echo '<tr><td class="c0">'.get_string('duedate','assignment').':</td>';
echo ' <td class="c1">'.userdate($assignment->timedue).'</td></tr>';
echo '<tr><td class="c0">'.get_string('lastedited').':</td>';
echo ' <td class="c1">'.userdate($submission->timemodified);
/// Decide what to count
if ($CFG->assignment_itemstocount == ASSIGNMENT_COUNT_WORDS) {
echo ' ('.get_string('numwords', '', count_words(format_text($submission->data1, $submission->data2))).')</td></tr>';
} else if ($CFG->assignment_itemstocount == ASSIGNMENT_COUNT_LETTERS) {
echo ' ('.get_string('numletters', '', count_letters(format_text($submission->data1, $submission->data2))).')</td></tr>';
}
echo '<tr><td class="c0">'.get_string('lastedited').':</td>';
echo ' <td class="c1">'.userdate($submission->timemodified);
/// Decide what to count
if ($CFG->assignment_itemstocount == ASSIGNMENT_COUNT_WORDS) {
echo ' ('.get_string('numwords', '', count_words(format_text($submission->data1, $submission->data2))).')</td></tr>';
} else if ($CFG->assignment_itemstocount == ASSIGNMENT_COUNT_LETTERS) {
echo ' ('.get_string('numletters', '', count_letters(format_text($submission->data1, $submission->data2))).')</td></tr>';
}
echo '</table>';
echo $OUTPUT->box_end();
echo '</table>';
echo $OUTPUT->box_end();
echo $OUTPUT->box(format_text($submission->data1, $submission->data2), 'generalbox boxaligncenter boxwidthwide');
echo $OUTPUT->close_window_button();
echo $OUTPUT->footer();
} else {
print_string('emptysubmission', 'assignment');
}
?>
echo $OUTPUT->box(format_text($submission->data1, $submission->data2), 'generalbox boxaligncenter boxwidthwide');
echo $OUTPUT->close_window_button();
echo $OUTPUT->footer();
} else {
print_string('emptysubmission', 'assignment');
}

View File

@ -1,67 +1,74 @@
<?php // $Id$
<?php
require('../../../../config.php');
require('../../lib.php');
require('assignment.class.php');
require('../../../../config.php');
require('../../lib.php');
require('assignment.class.php');
$id = required_param('id', PARAM_INT); // Course Module ID
$userid = required_param('userid', PARAM_INT); // User ID
$offset = optional_param('offset', 0, PARAM_INT);
$mode = optional_param('mode', '', PARAM_ALPHA);
$id = required_param('id', PARAM_INT); // Course Module ID
$userid = required_param('userid', PARAM_INT); // User ID
$offset = optional_param('offset', 0, PARAM_INT);
$mode = optional_param('mode', '', PARAM_ALPHA);
if (! $cm = get_coursemodule_from_id('assignment', $id)) {
print_error('invalidcoursemodule');
}
$url = new moodle_url($CFG->wwwroot.'/mod/assignment/type/online/file.php', array('id'=>$id, 'userid'=>$userid));
if ($offset !== 0) {
$url->param('offset',$offset);
}
if ($mode !== 0) {
$url->param('mode',$mode);
}
$PAGE->set_url($url);
if (! $assignment = $DB->get_record('assignment', array('id'=>$cm->instance))) {
print_error('invalidid', 'assignment');
}
if (! $cm = get_coursemodule_from_id('assignment', $id)) {
print_error('invalidcoursemodule');
}
if (! $course = $DB->get_record('course', array('id'=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
if (! $assignment = $DB->get_record('assignment', array('id'=>$cm->instance))) {
print_error('invalidid', 'assignment');
}
if (! $user = $DB->get_record('user', array('id'=>$userid))) {
print_error("invaliduserid");
}
if (! $course = $DB->get_record('course', array('id'=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
require_login($course->id, false, $cm);
if (! $user = $DB->get_record('user', array('id'=>$userid))) {
print_error("invaliduserid");
}
if (!has_capability('mod/assignment:grade', get_context_instance(CONTEXT_MODULE, $cm->id))) {
print_error('cannotviewassignment', 'assignment');
}
require_login($course->id, false, $cm);
if ($assignment->assignmenttype != 'upload') {
print_error('invalidtype', 'assignment');
}
if (!has_capability('mod/assignment:grade', get_context_instance(CONTEXT_MODULE, $cm->id))) {
print_error('cannotviewassignment', 'assignment');
}
$assignmentinstance = new assignment_upload($cm->id, $assignment, $cm, $course);
if ($assignment->assignmenttype != 'upload') {
print_error('invalidtype', 'assignment');
}
$returnurl = "../../submissions.php?id={$assignmentinstance->cm->id}&amp;userid=$userid&amp;offset=$offset&amp;mode=single";
$assignmentinstance = new assignment_upload($cm->id, $assignment, $cm, $course);
if ($submission = $assignmentinstance->get_submission($user->id)
and !empty($submission->data1)) {
$PAGE->set_title(fullname($user,true).': '.$assignment->name);
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('notes', 'assignment').' - '.fullname($user,true));
echo $OUTPUT->box(format_text($submission->data1, FORMAT_HTML), 'generalbox boxaligncenter boxwidthwide');
if ($mode != 'single') {
echo $OUTPUT->close_window_button();
} else {
echo $OUTPUT->continue_button($returnurl);
}
echo $OUTPUT->footer();
$returnurl = "../../submissions.php?id={$assignmentinstance->cm->id}&amp;userid=$userid&amp;offset=$offset&amp;mode=single";
if ($submission = $assignmentinstance->get_submission($user->id)
and !empty($submission->data1)) {
$PAGE->set_title(fullname($user,true).': '.$assignment->name);
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('notes', 'assignment').' - '.fullname($user,true));
echo $OUTPUT->box(format_text($submission->data1, FORMAT_HTML), 'generalbox boxaligncenter boxwidthwide');
if ($mode != 'single') {
echo $OUTPUT->close_window_button();
} else {
$PAGE->set_title(fullname($user,true).': '.$assignment->name);
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('notes', 'assignment').' - '.fullname($user,true));
echo $OUTPUT->box(get_string('notesempty', 'assignment'), 'generalbox boxaligncenter boxwidthwide');
if ($mode != 'single') {
echo $OUTPUT->close_window_button();
} else {
echo $OUTPUT->continue_button($returnurl);
}
echo $OUTPUT->footer();
echo $OUTPUT->continue_button($returnurl);
}
?>
echo $OUTPUT->footer();
} else {
$PAGE->set_title(fullname($user,true).': '.$assignment->name);
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('notes', 'assignment').' - '.fullname($user,true));
echo $OUTPUT->box(get_string('notesempty', 'assignment'), 'generalbox boxaligncenter boxwidthwide');
if ($mode != 'single') {
echo $OUTPUT->close_window_button();
} else {
echo $OUTPUT->continue_button($returnurl);
}
echo $OUTPUT->footer();
}

View File

@ -1,42 +1,44 @@
<?php // $Id$
<?php
require_once("../../config.php");
require_once("lib.php");
require_once("../../config.php");
require_once("lib.php");
$id = optional_param('id', 0, PARAM_INT); // Course module ID
$a = optional_param('a', 0, PARAM_INT); // Assignment ID
$id = optional_param('id', 0, PARAM_INT); // Course module ID
$a = optional_param('a', 0, PARAM_INT); // Assignment ID
if ($id) {
if (! $cm = get_coursemodule_from_id('assignment', $id)) {
print_error('invalidcoursemodule');
}
if (! $assignment = $DB->get_record("assignment", array("id"=>$cm->instance))) {
print_error('invalidid', 'assignment');
}
if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
} else {
if (!$assignment = $DB->get_record("assignment", array("id"=>$a))) {
print_error('invalidcoursemodule');
}
if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
print_error('invalidid', 'assignment');
}
if (! $cm = get_coursemodule_from_instance("assignment", $assignment->id, $course->id)) {
print_error('invalidcoursemodule', 'assignement');
}
$url = new moodle_url($CFG->wwwroot.'/mod/assignment/upload.php');
if ($id) {
if (! $cm = get_coursemodule_from_id('assignment', $id)) {
print_error('invalidcoursemodule');
}
require_login($course->id, false, $cm);
if (! $assignment = $DB->get_record("assignment", array("id"=>$cm->instance))) {
print_error('invalidid', 'assignment');
}
if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
$url->param('id', $id);
} else {
if (!$assignment = $DB->get_record("assignment", array("id"=>$a))) {
print_error('invalidcoursemodule');
}
if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
print_error('invalidid', 'assignment');
}
if (! $cm = get_coursemodule_from_instance("assignment", $assignment->id, $course->id)) {
print_error('invalidcoursemodule', 'assignement');
}
$url->param('a', $a);
}
$PAGE->set_url($url);
require_login($course->id, false, $cm);
/// Load up the required assignment code
require_once($CFG->dirroot.'/mod/assignment/type/'.$assignment->assignmenttype.'/assignment.class.php');
$assignmentclass = 'assignment_'.$assignment->assignmenttype;
$assignmentinstance = new $assignmentclass($cm->id, $assignment, $cm, $course);
require_once($CFG->dirroot.'/mod/assignment/type/'.$assignment->assignmenttype.'/assignment.class.php');
$assignmentclass = 'assignment_'.$assignment->assignmenttype;
$assignmentinstance = new $assignmentclass($cm->id, $assignment, $cm, $course);
$assignmentinstance->upload(); // Upload files
?>
$assignmentinstance->upload(); // Upload files

View File

@ -1,45 +1,48 @@
<?php // $Id$
<?php
require_once("../../config.php");
require_once("lib.php");
require_once($CFG->libdir . '/completionlib.php');
require_once("../../config.php");
require_once("lib.php");
require_once($CFG->libdir . '/completionlib.php');
$id = optional_param('id', 0, PARAM_INT); // Course Module ID
$a = optional_param('a', 0, PARAM_INT); // Assignment ID
$id = optional_param('id', 0, PARAM_INT); // Course Module ID
$a = optional_param('a', 0, PARAM_INT); // Assignment ID
if ($id) {
if (! $cm = get_coursemodule_from_id('assignment', $id)) {
print_error('invalidcoursemodule');
}
if (! $assignment = $DB->get_record("assignment", array("id"=>$cm->instance))) {
print_error('invalidid', 'assignment');
}
if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
} else {
if (!$assignment = $DB->get_record("assignment", array("id"=>$a))) {
print_error('invalidid', 'assignment');
}
if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
if (! $cm = get_coursemodule_from_instance("assignment", $assignment->id, $course->id)) {
print_error('invalidcoursemodule');
}
$url = new moodle_url($CFG->wwwroot.'/mod/assignment/view.php');
if ($id) {
if (! $cm = get_coursemodule_from_id('assignment', $id)) {
print_error('invalidcoursemodule');
}
require_login($course, true, $cm);
if (! $assignment = $DB->get_record("assignment", array("id"=>$cm->instance))) {
print_error('invalidid', 'assignment');
}
require ("$CFG->dirroot/mod/assignment/type/$assignment->assignmenttype/assignment.class.php");
$assignmentclass = "assignment_$assignment->assignmenttype";
$assignmentinstance = new $assignmentclass($cm->id, $assignment, $cm, $course);
if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
$url->param('id', $id);
} else {
if (!$assignment = $DB->get_record("assignment", array("id"=>$a))) {
print_error('invalidid', 'assignment');
}
if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
print_error('coursemisconf', 'assignment');
}
if (! $cm = get_coursemodule_from_instance("assignment", $assignment->id, $course->id)) {
print_error('invalidcoursemodule');
}
$url->param('a', $a);
}
$PAGE->set_url($url);
require_login($course, true, $cm);
require ("$CFG->dirroot/mod/assignment/type/$assignment->assignmenttype/assignment.class.php");
$assignmentclass = "assignment_$assignment->assignmenttype";
$assignmentinstance = new $assignmentclass($cm->id, $assignment, $cm, $course);
/// Mark as viewed
$completion=new completion_info($course);
$completion->set_module_viewed($cm);
$completion=new completion_info($course);
$completion->set_module_viewed($cm);
$assignmentinstance->view(); // Actually display the assignment!
?>
$assignmentinstance->view(); // Actually display the assignment!