Exemplo n.º 1
0
    }
    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;
            }
Exemplo n.º 2
0
/**
 * 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);
}
Exemplo n.º 3
0
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;
}