Moodle  2.2.1
http://www.collinsharper.com
C:/xampp/htdocs/moodle/mod/assignment/type/online/all.php
Go to the documentation of this file.
00001 <?php
00002 
00003 //===================================================
00004 // all.php
00005 //
00006 // Displays a complete list of online assignments
00007 // for the course. Rather like what happened in
00008 // the old Journal activity.
00009 // Howard Miller 2008
00010 // See MDL-14045
00011 //===================================================
00012 
00013 require_once("../../../../config.php");
00014 require_once("{$CFG->dirroot}/mod/assignment/lib.php");
00015 require_once($CFG->libdir.'/gradelib.php');
00016 require_once('assignment.class.php');
00017 
00018 // get parameter
00019 $id = required_param('id', PARAM_INT);   // course
00020 
00021 if (!$course = $DB->get_record('course', array('id'=>$id))) {
00022     print_error('invalidcourse');
00023 }
00024 
00025 $PAGE->set_url('/mod/assignment/type/online/all.php', array('id'=>$id));
00026 
00027 require_course_login($course);
00028 
00029 // check for view capability at course level
00030 $context = get_context_instance(CONTEXT_COURSE,$course->id);
00031 require_capability('mod/assignment:view',$context);
00032 
00033 // various strings
00034 $str = new stdClass;
00035 $str->assignments = get_string("modulenameplural", "assignment");
00036 $str->duedate = get_string('duedate','assignment');
00037 $str->duedateno = get_string('duedateno','assignment');
00038 $str->editmysubmission = get_string('editmysubmission','assignment');
00039 $str->emptysubmission = get_string('emptysubmission','assignment');
00040 $str->noassignments = get_string('noassignments','assignment');
00041 $str->onlinetext = get_string('typeonline','assignment');
00042 $str->submitted = get_string('submitted','assignment');
00043 
00044 $PAGE->navbar->add($str->assignments, new moodle_url('/mod/assignment/index.php', array('id'=>$id)));
00045 $PAGE->navbar->add($str->onlinetext);
00046 
00047 // get all the assignments in the course
00048 $assignments = get_all_instances_in_course('assignment',$course, $USER->id );
00049 
00050 $sections = get_all_sections($course->id);
00051 
00052 // array to hold display data
00053 $views = array();
00054 
00055 // loop over assignments finding online ones
00056 foreach( $assignments as $assignment ) {
00057     // only interested in online assignments
00058     if ($assignment->assignmenttype != 'online') {
00059         continue;
00060     }
00061 
00062     // check we are allowed to view this
00063     $context = get_context_instance(CONTEXT_MODULE, $assignment->coursemodule);
00064     if (!has_capability('mod/assignment:view',$context)) {
00065         continue;
00066     }
00067 
00068     // create instance of assignment class to get
00069     // submitted assignments
00070     $onlineinstance = new assignment_online( $assignment->coursemodule );
00071     $submitted = $onlineinstance->submittedlink(true);
00072     $submission = $onlineinstance->get_submission();
00073 
00074     // submission (if there is one)
00075     if (empty($submission)) {
00076         $submissiontext = $str->emptysubmission;
00077         if (!empty($assignment->timedue)) {
00078             $submissiondate = "{$str->duedate} ".userdate( $assignment->timedue );
00079 
00080         } else {
00081             $submissiondate = $str->duedateno;
00082         }
00083 
00084     } else {
00085         $submissiontext = format_text( $submission->data1, $submission->data2 );
00086         $submissiondate  = "{$str->submitted} ".userdate( $submission->timemodified );
00087     }
00088 
00089     // edit link
00090     $editlink = "<a href=\"{$CFG->wwwroot}/mod/assignment/view.php?".
00091         "id={$assignment->coursemodule}&amp;edit=1\">{$str->editmysubmission}</a>";
00092 
00093     // format options for description
00094     $formatoptions = new stdClass;
00095     $formatoptions->noclean = true;
00096 
00097     // object to hold display data for assignment
00098     $view = new stdClass;
00099 
00100     // start to build view object
00101     $view->section = get_section_name($course, $sections[$assignment->section]);
00102 
00103     $view->name = $assignment->name;
00104     $view->submitted = $submitted;
00105     $view->description = format_module_intro('assignment', $assignment, $assignment->coursemodule);
00106     $view->editlink = $editlink;
00107     $view->submissiontext = $submissiontext;
00108     $view->submissiondate = $submissiondate;
00109     $view->cm = $assignment->coursemodule;
00110 
00111     $views[] = $view;
00112 }
00113 
00114 //===================
00115 // DISPLAY
00116 //===================
00117 
00118 $PAGE->set_title($str->assignments);
00119 echo $OUTPUT->header();
00120 
00121 foreach ($views as $view) {
00122     echo $OUTPUT->container_start('clearfix generalbox assignment');
00123 
00124     // info bit
00125     echo $OUTPUT->heading("$view->section - $view->name", 3, 'mdl-left');
00126     if (!empty($view->submitted)) {
00127         echo '<div class="reportlink">'.$view->submitted.'</div>';
00128     }
00129 
00130     // description part
00131     echo '<div class="description">'.$view->description.'</div>';
00132 
00133     //submission part
00134     echo $OUTPUT->container_start('generalbox submission');
00135     echo '<div class="submissiondate">'.$view->submissiondate.'</div>';
00136     echo "<p class='no-overflow'>$view->submissiontext</p>\n";
00137     echo "<p>$view->editlink</p>\n";
00138     echo $OUTPUT->container_end();
00139 
00140     // feedback part
00141     $onlineinstance = new assignment_online( $view->cm );
00142     $onlineinstance->view_feedback();
00143 
00144     echo $OUTPUT->container_end();
00145 }
00146 
00147 echo $OUTPUT->footer();
 All Data Structures Namespaces Files Functions Variables Enumerations