<?php //Copyright 2018 Amazon.com, Inc. and its affiliates. All Rights Reserved. // // This file is part of Moodle - http://moodle.org/ // // Moodle is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; version 3 // of the License. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see <https://www.gnu.org/licenses/gpl-3.0.html>. /** * Lists the instances of AppStream in a course * * This page is used by Moodle when listing all the instances of AppStream * that are in a particular course with the course id being passed to this script. * * @package mod_appstream * @copyright 2018 Amazon.com, Inc. and its affiliates. All Rights Reserved. * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 */ require_once(dirname(dirname(dirname(__FILE__))).'/config.php'); require_once(dirname(__FILE__).'/lib.php'); $id = required_param('id', PARAM_INT); // Course. $course = $DB->get_record('course', array('id' => $id), '*', MUST_EXIST); require_course_login($course); $params = array( 'context' => context_course::instance($course->id) ); $event = \mod_appstream\event\course_module_instance_list_viewed::create($params); $event->add_record_snapshot('course', $course); $event->trigger(); $strname = get_string('modulenameplural', 'mod_appstream'); $PAGE->set_url('/mod/appstream/index.php', array('id' => $id)); $PAGE->navbar->add($strname); $PAGE->set_title("$course->shortname: $strname"); $PAGE->set_heading($course->fullname); $PAGE->set_pagelayout('incourse'); echo $OUTPUT->header(); echo $OUTPUT->heading($strname); if (! $appstreams = get_all_instances_in_course('appstream', $course)) { notice(get_string('noappstreams', 'appstream'), new moodle_url('/course/view.php', array('id' => $course->id))); } $usesections = course_format_uses_sections($course->format); $table = new html_table(); $table->attributes['class'] = 'generaltable mod_index'; if ($usesections) { $strsectionname = get_string('sectionname', 'format_'.$course->format); $table->head = array ($strsectionname, $strname); $table->align = array ('center', 'left'); } else { $table->head = array ($strname); $table->align = array ('left'); } $modinfo = get_fast_modinfo($course); $currentsection = ''; foreach ($modinfo->instances['appstream'] as $cm) { $row = array(); if ($usesections) { if ($cm->sectionnum !== $currentsection) { if ($cm->sectionnum) { $row[] = get_section_name($course, $cm->sectionnum); } if ($currentsection !== '') { $table->data[] = 'hr'; } $currentsection = $cm->sectionnum; } } $class = $cm->visible ? null : array('class' => 'dimmed'); $row[] = html_writer::link(new moodle_url('view.php', array('id' => $cm->id)), $cm->get_formatted_name(), $class); $table->data[] = $row; } echo html_writer::table($table); echo $OUTPUT->footer();