// Set alpha to semi-transparency
$pdf->SetAlpha(0.2);
certificate_print_image($pdf, $certificate, CERT_IMAGE_WATERMARK, $wmarkx, $wmarky, $wmarkw, $wmarkh);
$pdf->SetAlpha(1);
certificate_print_image($pdf, $certificate, CERT_IMAGE_SEAL, $sealx, $sealy, '', '');
certificate_print_image($pdf, $certificate, CERT_IMAGE_SIGNATURE, $sigx, $sigy, '', '');
// Add text
$pdf->SetTextColor(0, 0, 120);
certificate_print_text($pdf, $x, $y, 'C', $fontsans, '', 30, get_string('title', 'certificate'));
$pdf->SetTextColor(0, 0, 0);
certificate_print_text($pdf, $x, $y + 20, 'C', $fontserif, '', 20, get_string('certify', 'certificate'));
certificate_print_text($pdf, $x, $y + 36, 'C', $fontsans, '', 30, fullname($USER));
certificate_print_text($pdf, $x, $y + 55, 'C', $fontsans, '', 20, get_string('statement', 'certificate'));
certificate_print_text($pdf, $x, $y + 72, 'C', $fontsans, '', 20, format_string($course->fullname));
certificate_print_text($pdf, $x, $y + 92, 'C', $fontsans, '', 14, certificate_get_date($certificate, $certrecord, $course));
certificate_print_text($pdf, $x, $y + 102, 'C', $fontserif, '', 10, certificate_get_grade($certificate, $course));
certificate_print_text($pdf, $x, $y + 112, 'C', $fontserif, '', 10, certificate_get_outcome($certificate, $course));
if ($certificate->printhours) {
    certificate_print_text($pdf, $x, $y + 122, 'C', $fontserif, '', 10, get_string('credithours', 'certificate') . ': ' . $certificate->printhours);
}
certificate_print_text($pdf, $x, $codey, 'C', $fontserif, '', 10, certificate_get_code($certificate, $certrecord));
$i = 0;
if ($certificate->printteacher) {
    $context = context_module::instance($cm->id);
    if ($teachers = get_users_by_capability($context, 'mod/certificate:printteacher', '', $sort = 'u.lastname ASC', '', '', '', '', false)) {
        foreach ($teachers as $teacher) {
            $i++;
            certificate_print_text($pdf, $sigx, $sigy + $i * 4, 'L', $fontserif, '', 12, fullname($teacher));
        }
    }
}
/**
 * Prints a table of previously issued certificates--used for reissue.
 *
 * @param stdClass $course
 * @param stdClass $certificate
 * @param stdClass $attempts
 * @return string the attempt table
 */
function certificate_print_attempts($course, $certificate, $attempts)
{
    global $OUTPUT;
    echo $OUTPUT->heading(get_string('summaryofattempts', 'certificate'));
    // Prepare table header
    $table = new html_table();
    $table->class = 'generaltable';
    $table->head = array(get_string('issued', 'certificate'));
    $table->align = array('left');
    $table->attributes = array("style" => "width:20%; margin:auto");
    $gradecolumn = $certificate->printgrade;
    if ($gradecolumn) {
        $table->head[] = get_string('grade');
        $table->align[] = 'center';
        $table->size[] = '';
    }
    // One row for each attempt
    foreach ($attempts as $attempt) {
        $row = array();
        // prepare strings for time taken and date completed
        $datecompleted = userdate($attempt->timecreated);
        $row[] = $datecompleted;
        if ($gradecolumn) {
            $attemptgrade = certificate_get_grade($certificate, $course);
            $row[] = $attemptgrade;
        }
        $table->data[$attempt->id] = $row;
    }
    echo html_writer::table($table);
}
}
// Transparencia
$pdf->SetAlpha(0.05);
certificate_print_image($pdf, $certificate, 'watermarks', 80, 130, 700, 680);
// Marca de Agua
$pdf->SetAlpha(1);
certificate_print_image($pdf, $certificate, 'seals', 40, 40, 200, 47, '', '');
// Logotipo
//certificate_print_image($pdf, $certificate, 'signatures', 110, 540, 110, 59); // Firma
$fecha_f_str = certificate_get_date($certificate, $certrecord, $course);
$fecha_f_array = preg_split("/[\\s,]+/", $fecha_f_str);
$fecha_f_01 = $fecha_f_array[0];
$fecha_f_02 = $fecha_f_array[1];
$fecha_f_03 = $fecha_f_array[2];
setlocale(LC_TIME, "es_ES");
$nota_str = certificate_get_grade($certificate, $course);
$nota_str_array = explode(" ", $nota_str);
$nota = $nota_str_array[2];
// Añadir texto
$pdf->SetTextColor(60, 176, 70);
certificate_print_text($pdf, 80, 140, 'C', 'Helvetica', '', 23, 'CERTIFICADO DE PARTICIPACIÓN');
// Tipo de certificado
$pdf->SetTextColor(199, 12, 70);
certificate_print_text($pdf, 80, 170, 'C', 'Helvetica', '', 20, '<b>"PREVENCIÓN DE RIESGOS LABORALES"</b>');
// Tipo de certificado
$pdf->SetTextColor(0, 0, 0);
certificate_print_text($pdf, 75, 230, 'C', 'freesans', '', 14, 'Otorgado a D/Dª <b>' . $USER->firstname . ' ' . $USER->lastname . '</b>, con DNI: <b>' . $USER->idnumber . '</b>, al haber superado con éxito el módulo formativo correspondiente, obteniendo una calificación en el exámen final de <b>' . $nota . '</b> puntos.');
certificate_print_text($pdf, 75, 310, 'C', 'freesans', '', 14, 'Este curso ha sido coordinado e impartido por <b>Ananda Gestión ETT</b> a través de su plataforma virtual de formación, y finalizado por el alumno/a el día <b>' . $fecha_f_01 . ' de ' . $fecha_f_02 . ' de ' . $fecha_f_03 . '</b>.');
certificate_print_text($pdf, 75, 390, 'C', 'freesans', '', 14, 'Y para que así conste, se expide este certificado en Madrid a ' . date("d") . ' ' . strftime("de %B de %Y") . '.');
certificate_print_text($pdf, 97, 500, 'L', 'freesans', '', 10, '<b>Firma y sello de la empresa</b>');
certificate_print_text($pdf, 90, 630, 'L', 'freesans', '', 9, '<i>Habiendo promovido esta formación</i>');
// Set alpha to semi-transparency
$pdf->SetAlpha(0.1);
certificate_print_image($pdf, $certificate, CERT_IMAGE_WATERMARK, $wmarkx, $wmarky, $wmarkw, $wmarkh);
$pdf->SetAlpha(1);
certificate_print_image($pdf, $certificate, CERT_IMAGE_SEAL, $sealx, $sealy, '', '');
certificate_print_image($pdf, $certificate, CERT_IMAGE_SIGNATURE, $sigx, $sigy, '', '');
// Add text
$pdf->SetTextColor(0, 0, 120);
certificate_print_text($pdf, $x, $y, 'C', 'freesans', '', 30, get_string('title', 'certificate'));
$pdf->SetTextColor(0, 0, 0);
certificate_print_text($pdf, $x, $y + 55, 'C', 'freeserif', '', 20, get_string('certify', 'certificate'));
certificate_print_text($pdf, $x, $y + 105, 'C', 'freeserif', '', 30, fullname($USER));
certificate_print_text($pdf, $x, $y + 155, 'C', 'freeserif', '', 20, get_string('statement', 'certificate'));
certificate_print_text($pdf, $x, $y + 205, 'C', 'freeserif', '', 20, $course->fullname);
certificate_print_text($pdf, $x, $y + 255, 'C', 'freeserif', '', 14, certificate_get_date($certificate, $certrecord, $course));
certificate_print_text($pdf, $x, $y + 283, 'C', 'freeserif', '', 10, certificate_get_grade($certificate, $course));
certificate_print_text($pdf, $x, $y + 311, 'C', 'freeserif', '', 10, certificate_get_outcome($certificate, $course));
if ($certificate->printhours) {
    certificate_print_text($pdf, $x, $y + 339, 'C', 'freeserif', '', 10, get_string('credithours', 'certificate') . ': ' . $certificate->printhours);
}
certificate_print_text($pdf, $x, $codey, 'C', 'freeserif', '', 10, certificate_get_code($certificate, $certrecord));
$i = 0;
if ($certificate->printteacher) {
    $context = get_context_instance(CONTEXT_MODULE, $cm->id);
    if ($teachers = get_users_by_capability($context, 'mod/certificate:printteacher', '', $sort = 'u.lastname ASC', '', '', '', '', false)) {
        foreach ($teachers as $teacher) {
            $i++;
            certificate_print_text($pdf, $sigx, $sigy + $i * 12, 'L', 'freeserif', '', 12, fullname($teacher));
        }
    }
}
// Set alpha to semi-transparency
$pdf->SetAlpha(0.2);
certificate_print_image($pdf, $certificate, CERT_IMAGE_WATERMARK, $wmarkx, $wmarky, $wmarkw, $wmarkh);
$pdf->SetAlpha(1);
certificate_print_image($pdf, $certificate, CERT_IMAGE_SEAL, $sealx, $sealy, '', '');
certificate_print_image($pdf, $certificate, CERT_IMAGE_SIGNATURE, $sigx, $sigy, '', '');
// Add text
$pdf->SetTextColor(0, 0, 120);
certificate_print_text($pdf, $x, $y, 'C', 'Helvetica', '', 30, get_string('title', 'certificate'));
$pdf->SetTextColor(0, 0, 0);
certificate_print_text($pdf, $x, $y + 20, 'C', 'Times', '', 20, get_string('certify', 'certificate'));
certificate_print_text($pdf, $x, $y + 36, 'C', 'Helvetica', '', 30, fullname($USER));
certificate_print_text($pdf, $x, $y + 55, 'C', 'Helvetica', '', 20, get_string('statement', 'certificate'));
certificate_print_text($pdf, $x, $y + 72, 'C', 'Helvetica', '', 20, $course->fullname);
certificate_print_text($pdf, $x, $y + 92, 'C', 'Helvetica', '', 14, certificate_get_date($certificate, $certrecord, $course));
certificate_print_text($pdf, $x, $y + 102, 'C', 'Times', '', 10, certificate_get_grade($certificate, $course));
certificate_print_text($pdf, $x, $y + 112, 'C', 'Times', '', 10, certificate_get_outcome($certificate, $course));
if ($certificate->printhours) {
    certificate_print_text($pdf, $x, $y + 122, 'C', 'Times', '', 10, get_string('credithours', 'certificate') . ': ' . $certificate->printhours);
}
certificate_print_text($pdf, $x, $codey, 'C', 'Times', '', 10, certificate_get_code($certificate, $certrecord));
$i = 0;
if ($certificate->printteacher) {
    $context = get_context_instance(CONTEXT_MODULE, $cm->id);
    if ($teachers = get_users_by_capability($context, 'mod/certificate:printteacher', '', $sort = 'u.lastname ASC', '', '', '', '', false)) {
        foreach ($teachers as $teacher) {
            $i++;
            certificate_print_text($pdf, $sigx, $sigy + $i * 4, 'L', 'Times', '', 12, fullname($teacher));
        }
    }
}
Beispiel #6
0
foreach ($extrafields as $field) {
    $table->head[] = get_user_field_name($field);
    $table->align[] = 'left';
}
$table->head = array_merge($table->head, array($strdate, $strgrade, $strcode));
$table->align = array_merge($table->align, array('left', 'center', 'center'));
foreach ($users as $user) {
    $name = $OUTPUT->user_picture($user) . fullname($user);
    $date = userdate($user->timecreated) . certificate_print_user_files($certificate, $user->id, $context->id);
    $code = $user->code;
    $data = array();
    $data[] = $name;
    foreach ($extrafields as $field) {
        $data[] = $user->{$field};
    }
    $data = array_merge($data, array($date, certificate_get_grade($certificate, $course, $user->id), $code));
    $table->data[] = $data;
}
// Create table to store buttons
$tablebutton = new html_table();
$tablebutton->attributes['class'] = 'downloadreport';
$btndownloadods = $OUTPUT->single_button(new moodle_url("report.php", array('id' => $cm->id, 'download' => 'ods')), get_string("downloadods"));
$btndownloadxls = $OUTPUT->single_button(new moodle_url("report.php", array('id' => $cm->id, 'download' => 'xls')), get_string("downloadexcel"));
$btndownloadtxt = $OUTPUT->single_button(new moodle_url("report.php", array('id' => $cm->id, 'download' => 'txt')), get_string("downloadtext"));
$tablebutton->data[] = array($btndownloadods, $btndownloadxls, $btndownloadtxt);
echo $OUTPUT->header();
groups_print_activity_menu($cm, $CFG->wwwroot . '/mod/certificate/report.php?id=' . $id);
echo $OUTPUT->heading(get_string('modulenameplural', 'certificate'));
echo $OUTPUT->paging_bar($usercount, $page, $perpage, $url);
echo '<br />';
echo html_writer::table($table);
Beispiel #7
0
$pdf->SetAlpha(0.2);
certificate_print_image($pdf, $certificate, CERT_IMAGE_WATERMARK, $wmarkx, $wmarky, $wmarkw, $wmarkh);
$pdf->SetAlpha(1);
certificate_print_image($pdf, $certificate, CERT_IMAGE_SEAL, $sealx, $sealy, '', '');
certificate_print_image($pdf, $certificate, CERT_IMAGE_SIGNATURE, $sigx, $sigy, '', '');
// Add text
//$pdf->SetTextColor(0, 81, 137); // set to blue
//certificate_print_text($pdf, $x, $y + 10, 'C', 'Helvetica', '', 24, get_string('erpatttitle', 'certificate'));
$pdf->SetTextColor(0, 0, 0);
// set text to black
certificate_print_text($pdf, $x, $y + 28, 'C', 'Helvetica', '', 14, get_string('erpcertify', 'certificate'));
certificate_print_text($pdf, $x, $y + 54, 'C', 'loversquarrel', '', 50, fullname($USER));
certificate_print_text($pdf, $x, $y + 93, 'C', 'Helvetica', '', 14, get_string('erpstatement', 'certificate'));
certificate_print_text($pdf, $x, $y + 116, 'C', 'Helvetica', '', 20, $course->fullname);
certificate_print_text($pdf, $x, $y + 146, 'C', 'Helvetica', '', 14, certificate_get_date($certificate, $certrecord, $course));
certificate_print_text($pdf, $x, $y + 160, 'C', 'Helvetica', '', 10, certificate_get_grade($certificate, $course));
certificate_print_text($pdf, $x, $y + 170, 'C', 'Helvetica', '', 10, certificate_get_outcome($certificate, $course));
if ($USER->profile['Tradingname']) {
    certificate_print_text($pdf, $x + 20, $y + 207, 'L', 'Helvetica', '', 12, $USER->profile['Tradingname']);
}
if ($certificate->printhours) {
    certificate_print_text($pdf, $x, $y + 122, 'C', 'Times', '', 10, get_string('credithours', 'certificate') . ': ' . $certificate->printhours);
}
$pdf->SetTextColor(200, 200, 200);
// set text to light grey
certificate_print_text($pdf, $x, $codey, 'C', 'Helvetica', '', 8, certificate_get_code($certificate, $certrecord));
$i = 0;
if ($certificate->printteacher) {
    $context = context_module::instance($cm->id);
    if ($teachers = get_users_by_capability($context, 'mod/certificate:printteacher', '', $sort = 'u.lastname ASC', '', '', '', '', false)) {
        foreach ($teachers as $teacher) {
        }
    }
    exit;
}
$usercount = count(certificate_get_issues($certificate->id, $DB->sql_fullname(), $groupmode, $cm));
// Create the table for the users
$table = new html_table();
$table->width = "95%";
$table->tablealign = "center";
$table->head = array($strto, $strdate, $strgrade, $strcode);
$table->align = array("left", "left", "center", "center");
foreach ($users as $user) {
    $name = $OUTPUT->user_picture($user) . fullname($user);
    $date = userdate($user->timecreated) . certificate_print_user_files($certificate, $user->id, $context->id);
    $code = $user->code;
    $table->data[] = array($name, $date, certificate_get_grade($certificate, $course, $user->id), $code);
}
// Create table to store buttons
$tablebutton = new html_table();
$tablebutton->attributes['class'] = 'downloadreport';
$btndownloadods = $OUTPUT->single_button(new moodle_url("report.php", array('id' => $cm->id, 'download' => 'ods')), get_string("downloadods"));
$btndownloadxls = $OUTPUT->single_button(new moodle_url("report.php", array('id' => $cm->id, 'download' => 'xls')), get_string("downloadexcel"));
$btndownloadtxt = $OUTPUT->single_button(new moodle_url("report.php", array('id' => $cm->id, 'download' => 'txt')), get_string("downloadtext"));
$tablebutton->data[] = array($btndownloadods, $btndownloadxls, $btndownloadtxt);
echo $OUTPUT->header();
groups_print_activity_menu($cm, $CFG->wwwroot . '/mod/certificate/report.php?id=' . $id);
echo $OUTPUT->heading(get_string('modulenameplural', 'certificate'));
echo $OUTPUT->paging_bar($usercount, $page, $perpage, $url);
echo '<br />';
echo html_writer::table($table);
echo html_writer::tag('div', html_writer::table($tablebutton), array('style' => 'margin:auto; width:50%'));
 public function get_pdf()
 {
     parent::get_pdf();
     $pdf = new PDF($this->certificate->orientation, 'pt', 'Letter', true, 'UTF-8', false);
     $pdf->SetTitle($this->certificate->name);
     $pdf->SetProtection(array('modify'));
     $pdf->setPrintHeader(false);
     $pdf->setPrintFooter(false);
     $pdf->SetAutoPageBreak(false, 0);
     $pdf->AddPage();
     // Define variables
     // Landscape
     if ($this->certificate->orientation == 'L') {
         $x = 28;
         $y = 125;
         $sealx = 590;
         $sealy = 425;
         $sigx = 130;
         $sigy = 440;
         $custx = 133;
         $custy = 440;
         $wmarkx = 100;
         $wmarky = 90;
         $wmarkw = 600;
         $wmarkh = 420;
         $brdrx = 0;
         $brdry = 0;
         $brdrw = 792;
         $brdrh = 612;
         $codey = 505;
     } else {
         // Portrait
         $x = 28;
         $y = 170;
         $sealx = 440;
         $sealy = 590;
         $sigx = 85;
         $sigy = 580;
         $custx = 88;
         $custy = 580;
         $wmarkx = 78;
         $wmarky = 130;
         $wmarkw = 450;
         $wmarkh = 480;
         $brdrx = 10;
         $brdry = 10;
         $brdrw = 594;
         $brdrh = 771;
         $codey = 660;
     }
     // Add images and lines
     certificate_print_image($pdf, $this->certificate, CERT_IMAGE_BORDER, $brdrx, $brdry, $brdrw, $brdrh);
     certificate_draw_frame_letter($pdf, $this->certificate);
     // Set alpha to semi-transparency
     $pdf->SetAlpha(0.1);
     certificate_print_image($pdf, $this->certificate, CERT_IMAGE_WATERMARK, $wmarkx, $wmarky, $wmarkw, $wmarkh);
     $pdf->SetAlpha(1);
     certificate_print_image($pdf, $this->certificate, CERT_IMAGE_SEAL, $sealx, $sealy, '', '');
     certificate_print_image($pdf, $this->certificate, CERT_IMAGE_SIGNATURE, $sigx, $sigy, '', '');
     // Add text
     $pdf->SetTextColor(0, 0, 120);
     certificate_print_text($pdf, $x, $y, 'C', 'Helvetica', '', 30, get_string('title', 'certificate'));
     $pdf->SetTextColor(0, 0, 0);
     certificate_print_text($pdf, $x, $y + 55, 'C', 'Times', '', 20, get_string('certify', 'certificate'));
     certificate_print_text($pdf, $x, $y + 105, 'C', 'Helvetica', '', 30, fullname($this->user));
     certificate_print_text($pdf, $x, $y + 155, 'C', 'Helvetica', '', 20, get_string('statement', 'certificate'));
     certificate_print_text($pdf, $x, $y + 205, 'C', 'Helvetica', '', 20, format_string($this->course->fullname));
     certificate_print_text($pdf, $x, $y + 255, 'C', 'Helvetica', '', 14, certificate_get_date($this->certificate, $this->certificateissue, $this->course));
     certificate_print_text($pdf, $x, $y + 283, 'C', 'Times', '', 10, certificate_get_grade($this->certificate, $this->course));
     certificate_print_text($pdf, $x, $y + 311, 'C', 'Times', '', 10, certificate_get_outcome($this->certificate, $this->course));
     if ($this->certificate->printhours) {
         certificate_print_text($pdf, $x, $y + 339, 'C', 'Times', '', 10, get_string('credithours', 'certificate') . ': ' . $this->certificate->printhours);
     }
     certificate_print_text($pdf, $x, $codey, 'C', 'Times', '', 10, certificate_get_code($this->certificate, $this->certificateissue));
     $i = 0;
     if ($this->certificate->printteacher) {
         $context = context_module::instance($this->coursemodule->id);
         if ($teachers = get_users_by_capability($context, 'mod/certificate:printteacher', '', $sort = 'u.lastname ASC', '', '', '', '', false)) {
             foreach ($teachers as $teacher) {
                 $i++;
                 certificate_print_text($pdf, $sigx, $sigy + $i * 12, 'L', 'Times', '', 12, fullname($teacher));
             }
         }
     }
     certificate_print_text($pdf, $custx, $custy, 'L', null, null, null, $this->certificate->customtext);
     return $pdf;
 }