Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.10.x will end 8 November 2021 (12 months).
  • Bug fixes for security issues in 3.10.x will end 9 May 2022 (18 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.

Differences Between: [Versions 310 and 400] [Versions 310 and 401] [Versions 310 and 402] [Versions 310 and 403]

   1  <?php
   2  
   3      require_once("../../config.php");
   4      require_once ("lib.php");
   5  
   6      $id = required_param('id', PARAM_INT);    // Course Module ID
   7  
   8      $PAGE->set_url('/mod/survey/index.php', array('id'=>$id));
   9  
  10      if (!$course = $DB->get_record('course', array('id'=>$id))) {
  11          print_error('invalidcourseid');
  12      }
  13  
  14      require_course_login($course);
  15      $PAGE->set_pagelayout('incourse');
  16  
  17      $params = array(
  18          'context' => context_course::instance($course->id),
  19          'courseid' => $course->id
  20      );
  21      $event = \mod_survey\event\course_module_instance_list_viewed::create($params);
  22      $event->trigger();
  23  
  24      $strsurveys = get_string("modulenameplural", "survey");
  25      $strname = get_string("name");
  26      $strstatus = get_string("status");
  27      $strdone  = get_string("done", "survey");
  28      $strnotdone  = get_string("notdone", "survey");
  29  
  30      $PAGE->navbar->add($strsurveys);
  31      $PAGE->set_title($strsurveys);
  32      $PAGE->set_heading($course->fullname);
  33      echo $OUTPUT->header();
  34      echo $OUTPUT->heading($strsurveys);
  35  
  36      if (! $surveys = get_all_instances_in_course("survey", $course)) {
  37          notice(get_string('thereareno', 'moodle', $strsurveys), "../../course/view.php?id=$course->id");
  38      }
  39  
  40      $usesections = course_format_uses_sections($course->format);
  41  
  42      $table = new html_table();
  43  
  44      if ($usesections) {
  45          $strsectionname = get_string('sectionname', 'format_'.$course->format);
  46          $table->head  = array ($strsectionname, $strname, $strstatus);
  47      } else {
  48          $table->head  = array ($strname, $strstatus);
  49      }
  50  
  51      $currentsection = '';
  52  
  53      foreach ($surveys as $survey) {
  54          if (isloggedin() and survey_already_done($survey->id, $USER->id)) {
  55              $ss = $strdone;
  56          } else {
  57              $ss = $strnotdone;
  58          }
  59          $printsection = "";
  60          if ($usesections) {
  61              if ($survey->section !== $currentsection) {
  62                  if ($survey->section) {
  63                      $printsection = get_section_name($course, $survey->section);
  64                  }
  65                  if ($currentsection !== "") {
  66                      $table->data[] = 'hr';
  67                  }
  68                  $currentsection = $survey->section;
  69              }
  70          }
  71          //Calculate the href
  72          if (!$survey->visible) {
  73              //Show dimmed if the mod is hidden
  74              $tt_href = "<a class=\"dimmed\" href=\"view.php?id=$survey->coursemodule\">".format_string($survey->name,true)."</a>";
  75          } else {
  76              //Show normal if the mod is visible
  77              $tt_href = "<a href=\"view.php?id=$survey->coursemodule\">".format_string($survey->name,true)."</a>";
  78          }
  79  
  80          if ($usesections) {
  81              $table->data[] = array ($printsection, $tt_href, "<a href=\"view.php?id=$survey->coursemodule\">$ss</a>");
  82          } else {
  83              $table->data[] = array ($tt_href, "<a href=\"view.php?id=$survey->coursemodule\">$ss</a>");
  84          }
  85      }
  86  
  87      echo "<br />";
  88      echo html_writer::table($table);
  89      echo $OUTPUT->footer();
  90  
  91