. /** * This page lists all the instances of htmlcert in a particular course. * * @package mod_htmlcert * @copyright 2013 Mark Nelson , 2021 Klaus-Uwe Mitterer * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once('../../config.php'); $id = required_param('id', PARAM_INT); // Course ID. $course = $DB->get_record('course', array('id' => $id), '*', MUST_EXIST); // Requires a login. require_login($course); // Set up the page variables. $pageurl = new moodle_url('/mod/htmlcert/index.php', array('id' => $course->id)); \mod_htmlcert\page_helper::page_setup($pageurl, context_course::instance($id), get_string('modulenameplural', 'htmlcert')); // Additional page setup needed. $PAGE->set_pagelayout('incourse'); $PAGE->navbar->add(get_string('modulenameplural', 'htmlcert')); // Add the page view to the Moodle log. $event = \mod_htmlcert\event\course_module_instance_list_viewed::create(array( 'context' => context_course::instance($course->id) )); $event->add_record_snapshot('course', $course); $event->trigger(); // Get the htmlcerts, if there are none display a notice. if (!$htmlcerts = get_all_instances_in_course('htmlcert', $course)) { echo $OUTPUT->header(); notice(get_string('nohtmlcerts', 'htmlcert'), new moodle_url('/course/view.php', array('id' => $course->id))); echo $OUTPUT->footer(); exit(); } // Create the table to display the different custom certificates. $table = new html_table(); if ($usesections = course_format_uses_sections($course->format)) { $table->head = array(get_string('sectionname', 'format_'.$course->format), get_string('name'), get_string('receiveddate', 'htmlcert')); } else { $table->head = array(get_string('name'), get_string('receiveddate', 'htmlcert')); } $currentsection = ''; foreach ($htmlcerts as $htmlcert) { // Check if the htmlcert is visible, if so show text as normal, else show it as dimmed. if ($htmlcert->visible) { $link = html_writer::tag('a', $htmlcert->name, array('href' => new moodle_url('/mod/htmlcert/view.php', array('id' => $htmlcert->coursemodule)))); } else { $link = html_writer::tag('a', $htmlcert->name, array('class' => 'dimmed', 'href' => new moodle_url('/mod/htmlcert/view.php', array('id' => $htmlcert->coursemodule)))); } // If we are at a different section then print a horizontal rule. if ($htmlcert->section !== $currentsection) { if ($currentsection !== '') { $table->data[] = 'hr'; } $currentsection = $htmlcert->section; } // Check if there is was an issue provided for this user. if ($certrecord = $DB->get_record('htmlcert_issues', array('userid' => $USER->id, 'htmlcertid' => $htmlcert->id))) { $issued = userdate($certrecord->timecreated); } else { $issued = get_string('notissued', 'htmlcert'); } // Only display the section column if the course format uses sections. if ($usesections) { $table->data[] = array($htmlcert->section, $link, $issued); } else { $table->data[] = array($link, $issued); } } echo $OUTPUT->header(); echo html_writer::table($table); echo $OUTPUT->footer();