diff --git a/index.php b/index.php new file mode 100644 index 0000000..1f2ed9a --- /dev/null +++ b/index.php @@ -0,0 +1,93 @@ +. + +/** + * This page lists all the instances of customcert in a particular course. + * + * @package mod_customcert + * @copyright 2013 Mark Nelson + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +require_once('../../config.php'); +require_once('lib.php'); + +$id = required_param('id', PARAM_INT); // Course ID. + +$course = $DB->get_record('course', array('id' => $id), '*', MUST_EXIST); + +// Requires a login. +require_course_login($course); + +// Set up the page variables. +$PAGE->set_pagelayout('incourse'); +$PAGE->set_url('/mod/customcert/index.php', array('id' => $course->id)); +$PAGE->navbar->add(get_string('modulenameplural', 'customcert')); +$PAGE->set_title(get_string('modulenameplural', 'customcert')); +$PAGE->set_heading($course->fullname); + +// Get the customcerts, if there are none display a notice. +if (!$customcerts = get_all_instances_in_course('customcert', $course)) { + echo $OUTPUT->header(); + notice(get_string('nocustomcerts', 'customcert'), 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('issued', 'customcert')); +} else { + $table->head = array(get_string('name'), get_string('issued', 'customcert')); +} + +$currentsection = ''; +foreach ($customcerts as $customcert) { + // Check if the customcert is visible, if so show text as normal, else show it as dimmed. + if ($customcert->visible) { + $link = html_writer::tag('a', $customcert->name, array('href' => new moodle_url('/mod/customcert/view.php', + array('id' => $customcert->coursemodule)))); + } else { + $link = html_writer::tag('a', $customcert->name, array('class' => 'dimmed', 'href' => + new moodle_url('/mod/customcert/view.php', array('id' => $customcert->coursemodule)))); + } + // If we are at a different section then print a horizontal rule. + if ($customcert->section !== $currentsection) { + if ($currentsection !== '') { + $table->data[] = 'hr'; + } + $currentsection = $customcert->section; + } + // Check if there is was an issue provided for this user. + if ($certrecord = $DB->get_record('customcert_issues', array('userid' => $USER->id, 'customcertid' => $customcert->id))) { + $issued = userdate($certrecord->timecreated); + } else { + $issued = get_string('notissued', 'customcert'); + } + // Only display the section column if the course format uses sections. + if ($usesections) { + $table->data[] = array($customcert->section, $link, $issued); + } else { + $table->data[] = array($link, $issued); + } +} + +echo $OUTPUT->header(); +echo html_writer::table($table); +echo $OUTPUT->footer(); diff --git a/lang/en/customcert.php b/lang/en/customcert.php index be5de66..f21ef32 100644 --- a/lang/en/customcert.php +++ b/lang/en/customcert.php @@ -72,7 +72,9 @@ $string['modify'] = 'Modify'; $string['modulename'] = 'Custom Certificate'; $string['modulenameplural'] = 'Custom Certificates'; $string['name'] = 'Name'; +$string['nocustomcerts'] = 'There are no custom certificates for this course'; $string['noimage'] = 'No image'; +$string['notissued'] = 'Not issued'; $string['options'] = 'Options'; $string['page'] = 'Page {$a}'; $string['pluginadministration'] = 'Custom Certificate administration';