Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.
<?php

    require_once("../../config.php");
    require_once("lib.php");

    $id = required_param('id',PARAM_INT);   // course

    $PAGE->set_url('/mod/choice/index.php', array('id'=>$id));

    if (!$course = $DB->get_record('course', array('id'=>$id))) {
< print_error('invalidcourseid');
> throw new \moodle_exception('invalidcourseid');
} require_course_login($course); $PAGE->set_pagelayout('incourse'); $eventdata = array('context' => context_course::instance($id)); $event = \mod_choice\event\course_module_instance_list_viewed::create($eventdata); $event->add_record_snapshot('course', $course); $event->trigger(); $strchoice = get_string("modulename", "choice"); $strchoices = get_string("modulenameplural", "choice"); $PAGE->set_title($strchoices); $PAGE->set_heading($course->fullname); $PAGE->navbar->add($strchoices); echo $OUTPUT->header(); if (! $choices = get_all_instances_in_course("choice", $course)) { notice(get_string('thereareno', 'moodle', $strchoices), "../../course/view.php?id=$course->id"); } $usesections = course_format_uses_sections($course->format); $sql = "SELECT cha.* FROM {choice} ch, {choice_answers} cha WHERE cha.choiceid = ch.id AND ch.course = ? AND cha.userid = ?"; $answers = array () ; if (isloggedin() and !isguestuser() and $allanswers = $DB->get_records_sql($sql, array($course->id, $USER->id))) { foreach ($allanswers as $aa) { $answers[$aa->choiceid] = $aa; } unset($allanswers); } $timenow = time(); $table = new html_table(); if ($usesections) { $strsectionname = get_string('sectionname', 'format_'.$course->format); $table->head = array ($strsectionname, get_string("question"), get_string("answer")); $table->align = array ("center", "left", "left"); } else { $table->head = array (get_string("question"), get_string("answer")); $table->align = array ("left", "left"); } $currentsection = ""; foreach ($choices as $choice) { if (!empty($answers[$choice->id])) { $answer = $answers[$choice->id]; } else { $answer = ""; } if (!empty($answer->optionid)) { $aa = format_string(choice_get_option_text($choice, $answer->optionid)); } else { $aa = ""; } if ($usesections) { $printsection = ""; if ($choice->section !== $currentsection) { if ($choice->section) { $printsection = get_section_name($course, $choice->section); } if ($currentsection !== "") { $table->data[] = 'hr'; } $currentsection = $choice->section; } } //Calculate the href if (!$choice->visible) { //Show dimmed if the mod is hidden $tt_href = "<a class=\"dimmed\" href=\"view.php?id=$choice->coursemodule\">".format_string($choice->name,true)."</a>"; } else { //Show normal if the mod is visible $tt_href = "<a href=\"view.php?id=$choice->coursemodule\">".format_string($choice->name,true)."</a>"; } if ($usesections) { $table->data[] = array ($printsection, $tt_href, $aa); } else { $table->data[] = array ($tt_href, $aa); } } echo "<br />"; echo html_writer::table($table); echo $OUTPUT->footer();