/** * Inserts preliminary user data when a certificate is viewed. * Prevents form from issuing a certificate upon browser refresh. * * @param stdClass $course * @param stdClass $user * @param stdClass $certificate * @return stdClass the newly created certificate issue */ function certificate_prepare_issue($course, $user, $certificate) { global $DB; if ($certificate->reissuecert == 0) { // Get the last one they received if ($certissue = certificate_get_latest_issue($certificate->id, $user->id)) { return $certissue; } } else { if ($certissue = $DB->get_record('certificate_issues', array('certificateid' => $certificate->id, 'userid' => $user->id, 'certdate' => '0'))) { return $certissue; } } // Create new certificate issue record $certissue = new stdClass(); $certissue->certificateid = $certificate->id; $certissue->userid = $user->id; $certissue->timecreated = time(); $certissue->studentname = fullname($user); $certissue->code = certificate_generate_code(); $certissue->classname = $course->fullname; $certissue->certdate = 0; $certissue->reportgrade = NULL; $certissue->id = $DB->insert_record('certificate_issues', $certissue); return $certissue; }
$link = "<a class=\"dimmed\" href=\"view.php?id={$certificate->coursemodule}\">{$certificate->name}</a>"; } else { //Show normal if the mod is visible $link = "<a href=\"view.php?id={$certificate->coursemodule}\">{$certificate->name}</a>"; } if ($certificate->section !== $currentsection) { if ($certificate->section) { $printsection = $certificate->section; } if ($currentsection !== "") { $table->data[] = 'hr'; } $currentsection = $certificate->section; } // Get the latest certificate issue if ($certrecord = certificate_get_latest_issue($certificate->id, $USER->id)) { if ($certrecord->certdate > 0) { $issued = userdate($certrecord->certdate); } else { $issued = get_string('notreceived', 'certificate'); } } else { $issued = get_string('notreceived', 'certificate'); } if ($course->format == 'weeks' or $course->format == 'topics') { $table->data[] = array($certificate->section, $link, $issued); } else { $table->data[] = array($link, $issued); } } echo $OUTPUT->header();