diff --git a/mod/assignment/delete.php b/mod/assignment/delete.php index 25b2cf090f5..a344bb269c5 100644 --- a/mod/assignment/delete.php +++ b/mod/assignment/delete.php @@ -1,42 +1,44 @@ -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 \ No newline at end of file diff --git a/mod/assignment/grade.php b/mod/assignment/grade.php index ccc06556961..55ecf425efb 100644 --- a/mod/assignment/grade.php +++ b/mod/assignment/grade.php @@ -1,27 +1,26 @@ -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); +} \ No newline at end of file diff --git a/mod/assignment/index.php b/mod/assignment/index.php index b39efece226..83884c10aa9 100644 --- a/mod/assignment/index.php +++ b/mod/assignment/index.php @@ -1,120 +1,121 @@ -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 = "id\">".format_string($cm->name).""; + + $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 = "wwwroot}/mod/assignment/type/{$cm->assignmenttype}/". + "all.php?id={$course->id}\">$type"; + } + + $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 "
"; - $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 = "id\">".format_string($cm->name).""; - - $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 = "wwwroot}/mod/assignment/type/{$cm->assignmenttype}/". - "all.php?id={$course->id}\">$type"; - } - - $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 "
"; - - echo $OUTPUT->table($table); - - echo $OUTPUT->footer(); -?> +echo $OUTPUT->footer(); \ No newline at end of file diff --git a/mod/assignment/lib.php b/mod/assignment/lib.php index b3d173614b4..d0907959ba0 100644 --- a/mod/assignment/lib.php +++ b/mod/assignment/lib.php @@ -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(); diff --git a/mod/assignment/submissions.php b/mod/assignment/submissions.php index 953c3b448dd..f83522383d1 100644 --- a/mod/assignment/submissions.php +++ b/mod/assignment/submissions.php @@ -1,45 +1,50 @@ -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 \ No newline at end of file diff --git a/mod/assignment/type/online/all.php b/mod/assignment/type/online/all.php index d8dbd1f31d7..c7ebb24a29a 100644 --- a/mod/assignment/type/online/all.php +++ b/mod/assignment/type/online/all.php @@ -1,4 +1,4 @@ -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 = "wwwroot}/mod/assignment/view.php?". + "id={$assignment->coursemodule}&edit=1\">{$str->editmysubmission}"; - // 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 = "wwwroot}/mod/assignment/view.php?". - "id={$assignment->coursemodule}&edit=1\">{$str->editmysubmission}"; - - // 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 ''; - } - - // description part - echo '
'.$view->description.'
'; - - //submission part - echo $OUTPUT->container_start('generalbox submission'); - echo '
'.$view->submissiondate.'
'; - echo "

$view->submissiontext

\n"; - echo "

$view->editlink

\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 ''; } - echo $OUTPUT->footer(); -?> + // description part + echo '
'.$view->description.'
'; + + //submission part + echo $OUTPUT->container_start('generalbox submission'); + echo '
'.$view->submissiondate.'
'; + echo "

$view->submissiontext

\n"; + echo "

$view->editlink

\n"; + echo $OUTPUT->container_end(); + + // feedback part + $onlineinstance = new assignment_online( $view->cm ); + $onlineinstance->view_feedback(); + + echo $OUTPUT->container_end(); +} + +echo $OUTPUT->footer(); \ No newline at end of file diff --git a/mod/assignment/type/online/file.php b/mod/assignment/type/online/file.php index ca34f26f5eb..87ce6361aa9 100644 --- a/mod/assignment/type/online/file.php +++ b/mod/assignment/type/online/file.php @@ -1,65 +1,65 @@ -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 ''; + if ($assignment->timedue) { + echo ''; + echo ' '; } - - 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 '
'.get_string('duedate','assignment').':'.userdate($assignment->timedue).'
'; - if ($assignment->timedue) { - echo ''; - echo ' '; + echo ''; + echo ' '; + } else if ($CFG->assignment_itemstocount == ASSIGNMENT_COUNT_LETTERS) { + echo ' ('.get_string('numletters', '', count_letters(format_text($submission->data1, $submission->data2))).')'; } - echo ''; - echo ' '; - } else if ($CFG->assignment_itemstocount == ASSIGNMENT_COUNT_LETTERS) { - echo ' ('.get_string('numletters', '', count_letters(format_text($submission->data1, $submission->data2))).')'; - } - echo '
'.get_string('duedate','assignment').':'.userdate($assignment->timedue).'
'.get_string('lastedited').':'.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))).')
'.get_string('lastedited').':'.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))).')
'; - echo $OUTPUT->box_end(); + echo ''; + 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'); +} \ No newline at end of file diff --git a/mod/assignment/type/upload/notes.php b/mod/assignment/type/upload/notes.php index 9bd3b293687..7ea8e2ac482 100644 --- a/mod/assignment/type/upload/notes.php +++ b/mod/assignment/type/upload/notes.php @@ -1,67 +1,74 @@ -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}&userid=$userid&offset=$offset&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}&userid=$userid&offset=$offset&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(); +} \ No newline at end of file diff --git a/mod/assignment/upload.php b/mod/assignment/upload.php index d937f18905e..f89e5bce903 100644 --- a/mod/assignment/upload.php +++ b/mod/assignment/upload.php @@ -1,42 +1,44 @@ -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 \ No newline at end of file diff --git a/mod/assignment/view.php b/mod/assignment/view.php index 59ee15b73c8..464d667f6cd 100644 --- a/mod/assignment/view.php +++ b/mod/assignment/view.php @@ -1,45 +1,48 @@ -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! \ No newline at end of file