Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.
/mod/data/ -> index.php (source)
<?php

// 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, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle 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 Moodle.  If not, see <http://www.gnu.org/licenses/>.

/**
 * This file is part of the Database module for Moodle
 *
 * @copyright 1990 Martin Dougiamas  http://dougiamas.com
 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 * @package mod_data
 */

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

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

$PAGE->set_url('/mod/data/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'); $context = context_course::instance($course->id); $params = array( 'context' => context_course::instance($course->id) ); $event = \mod_data\event\course_module_instance_list_viewed::create($params); $event->add_record_snapshot('course', $course); $event->trigger(); $strname = get_string('name'); $strdata = get_string('modulename','data'); $strdataplural = get_string('modulenameplural','data'); $PAGE->navbar->add($strdata, new moodle_url('/mod/data/index.php', array('id'=>$course->id)));
< $PAGE->set_title($strdata);
> $titleparts = [ > $strdataplural, > format_string($course->fullname), > ]; > $PAGE->set_title(implode(moodle_page::TITLE_SEPARATOR, $titleparts));
$PAGE->set_heading($course->fullname); echo $OUTPUT->header(); echo $OUTPUT->heading($strdataplural, 2); if (! $datas = get_all_instances_in_course("data", $course)) { notice(get_string('thereareno', 'moodle',$strdataplural) , "$CFG->wwwroot/course/view.php?id=$course->id"); } $usesections = course_format_uses_sections($course->format); $timenow = time(); $strname = get_string('name'); $strdescription = get_string("description"); $strentries = get_string('entries', 'data'); $strnumnotapproved = get_string('numnotapproved', 'data'); $table = new html_table(); if ($usesections) { $strsectionname = get_string('sectionname', 'format_'.$course->format); $table->head = array ($strsectionname, $strname, $strdescription, $strentries, $strnumnotapproved); $table->align = array ('center', 'center', 'center', 'center', 'center'); } else { $table->head = array ($strname, $strdescription, $strentries, $strnumnotapproved); $table->align = array ('center', 'center', 'center', 'center'); } $rss = (!empty($CFG->enablerssfeeds) && !empty($CFG->data_enablerssfeeds)); if ($rss) { require_once($CFG->libdir."/rsslib.php"); array_push($table->head, 'RSS'); array_push($table->align, 'center'); } $currentsection = ""; foreach ($datas as $data) { $printsection = ""; //Calculate the href if (!$data->visible) { //Show dimmed if the mod is hidden $link = "<a class=\"dimmed\" href=\"view.php?id=$data->coursemodule\">".format_string($data->name,true)."</a>"; } else { //Show normal if the mod is visible $link = "<a href=\"view.php?id=$data->coursemodule\">".format_string($data->name,true)."</a>"; } // TODO: add group restricted counts here, and limit unapproved to ppl with approve cap only + link to approval page $numrecords = $DB->count_records_sql('SELECT COUNT(r.id) FROM {data_records} r WHERE r.dataid =?', array($data->id)); if ($data->approval == 1) { $numunapprovedrecords = $DB->count_records_sql('SELECT COUNT(r.id) FROM {data_records} r WHERE r.dataid =? AND r.approved <> 1', array($data->id)); } else { $numunapprovedrecords = '-'; } $rsslink = ''; if ($rss && $data->rssarticles > 0) { $rsslink = rss_get_link($context->id, $USER->id, 'mod_data', $data->id, 'RSS'); } if ($usesections) { if ($data->section !== $currentsection) { if ($data->section) { $printsection = get_section_name($course, $data->section); } if ($currentsection !== '') { $table->data[] = 'hr'; } $currentsection = $data->section; } $row = array($printsection, $link, format_module_intro('data', $data, $data->coursemodule), $numrecords, $numunapprovedrecords); } else { $row = array($link, format_module_intro('data', $data, $data->coursemodule), $numrecords, $numunapprovedrecords); } if ($rss) { array_push($row, $rsslink); } $table->data[] = $row; } echo "<br />"; echo html_writer::tag('div', html_writer::table($table), array('class'=>'no-overflow')); echo $OUTPUT->footer();