// 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)); } } }
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);
$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; }