Esempio n. 1
0
 /**
  * View a summary listing of all seplments in the current course.
  *
  * @return string
  */
 private function view_course_index()
 {
     global $USER;
     $o = '';
     $course = $this->get_course();
     $strplural = get_string('modulenameplural', 'sepl');
     if (!($cms = get_coursemodules_in_course('sepl', $course->id, 'm.duedate'))) {
         $o .= $this->get_renderer()->notification(get_string('thereareno', 'moodle', $strplural));
         $o .= $this->get_renderer()->continue_button(new moodle_url('/course/view.php', array('id' => $course->id)));
         return $o;
     }
     $strsectionname = '';
     $usesections = course_format_uses_sections($course->format);
     $modinfo = get_fast_modinfo($course);
     if ($usesections) {
         $strsectionname = get_string('sectionname', 'format_' . $course->format);
         $sections = $modinfo->get_section_info_all();
     }
     $courseindexsummary = new sepl_course_index_summary($usesections, $strsectionname);
     $timenow = time();
     $currentsection = '';
     foreach ($modinfo->instances['sepl'] as $cm) {
         if (!$cm->uservisible) {
             continue;
         }
         $timedue = $cms[$cm->id]->duedate;
         $sectionname = '';
         if ($usesections && $cm->sectionnum) {
             $sectionname = get_section_name($course, $sections[$cm->sectionnum]);
         }
         $submitted = '';
         $context = context_module::instance($cm->id);
         $seplment = new sepl($context, $cm, $course);
         if (has_capability('mod/sepl:grade', $context)) {
             $submitted = $seplment->count_submissions_with_status(ASSIGN_SUBMISSION_STATUS_SUBMITTED);
         } else {
             if (has_capability('mod/sepl:submit', $context)) {
                 $usersubmission = $seplment->get_user_submission($USER->id, false);
                 if (!empty($usersubmission->status)) {
                     $submitted = get_string('submissionstatus_' . $usersubmission->status, 'sepl');
                 } else {
                     $submitted = get_string('submissionstatus_', 'sepl');
                 }
             }
         }
         $gradinginfo = grade_get_grades($course->id, 'mod', 'sepl', $cm->instance, $USER->id);
         if (isset($gradinginfo->items[0]->grades[$USER->id]) && !$gradinginfo->items[0]->grades[$USER->id]->hidden) {
             $grade = $gradinginfo->items[0]->grades[$USER->id]->str_grade;
         } else {
             $grade = '-';
         }
         $courseindexsummary->add_sepl_info($cm->id, $cm->name, $sectionname, $timedue, $submitted, $grade);
     }
     $o .= $this->get_renderer()->render($courseindexsummary);
     $o .= $this->view_footer();
     return $o;
 }