} if ($certificate->datefmt == 3) { $certificatedate = str_replace(' 0', '', strftime('%d %B %Y', $certdate)); } if ($certificate->datefmt == 4) { $certificatedate = strftime('%B %Y', $certdate); } if ($certificate->datefmt == 5) { $timeformat = get_string('strftimedate'); $certificatedate = userdate($certdate, $timeformat); } } //Grade formatting $grade = ''; //Print the course grade $coursegrade = certificate_print_course_grade($course); if ($certificate->printgrade == 1 && $certrecord->reportgrade == !null) { $reportgrade = $certrecord->reportgrade; $grade = $strcoursegrade . ': ' . $reportgrade; } else { if ($certificate->printgrade > 0) { if ($certificate->printgrade == 1) { if ($certificate->gradefmt == 1) { $grade = $strcoursegrade . ': ' . $coursegrade->percentage; } if ($certificate->gradefmt == 2) { $grade = $strcoursegrade . ': ' . $coursegrade->points; } if ($certificate->gradefmt == 3) { $grade = $strcoursegrade . ': ' . $coursegrade->letter; }
/** * Inserts final user data when a certificate is created. * * @param stdClass $course * @param stdClass $certificate * @param stdClass $certrecord * @param stdClass $cm */ function certificate_issue($course, $certificate, $certrecord, $cm) { global $USER, $DB; if ($certificate->printgrade) { if ($certificate->printgrade == 1) { $grade = certificate_print_course_grade($course); } else { if ($certificate->printgrade > 1) { $grade = certificate_print_mod_grade($course, $certificate->printgrade); } } if ($certificate->gradefmt == 1) { $certrecord->reportgrade = $grade->percentage; } if ($certificate->gradefmt == 2) { $certrecord->reportgrade = $grade->points; } if ($certificate->gradefmt == 3) { $certrecord->reportgrade = $grade->letter; } } $date = certificate_generate_date($certificate, $course); $certrecord->certdate = $date; $DB->update_record('certificate_issues', $certrecord); certificate_email_teachers($course, $certificate, $certrecord, $cm); certificate_email_others($course, $certificate, $certrecord, $cm); }
function certificate_grade_condition() { global $certificate, $course; $restrict_errors = ''; if ($linked_acts = certificate_get_linked_activities($certificate->id)) { if (!certificate_is_available_time($linked_acts, $course->id)) { $restrict_errors[] = get_string('errorlocktime', 'certificate'); } if (!certificate_is_available_mod($linked_acts, $course->id)) { $restrict_errors[] = get_string('errorlockmod', 'certificate'); } } if ($certificate->lockgrade == 1) { $coursegrade = certificate_print_course_grade($course); if ($certificate->requiredgrade > $coursegrade->points) { $a->current = $coursegrade->points; $a->needed = $certificate->requiredgrade; $restrict_errors[] = get_string('errorlockgradecourse', 'certificate', $a); } } return $restrict_errors; }