From 3803529e278bc301215b46fb314a3f0e0cf5da83 Mon Sep 17 00:00:00 2001 From: Matheus Garcia Date: Wed, 5 Apr 2017 15:51:53 -0300 Subject: [PATCH] =?UTF-8?q?Cria=C3=A7=C3=A3o=20de=20novo=20modelo=20de=20c?= =?UTF-8?q?ertificado=20presencial,=20com=20refer=C3=AAncia=20para=20RASF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lang/en/certificate.php | 1 + lang/pt_br/certificate.php | 1 + type/cert_presencial_rasf/certificate.php | 136 ++++++++++++++++++++++ 3 files changed, 138 insertions(+) create mode 100644 type/cert_presencial_rasf/certificate.php diff --git a/lang/en/certificate.php b/lang/en/certificate.php index d90abf9..2d79dc5 100644 --- a/lang/en/certificate.php +++ b/lang/en/certificate.php @@ -60,6 +60,7 @@ The non-embedded types use the Helvetica and Times fonts. If you feel your user New type folders can be added to the certificate/type folder. The name of the folder and any new language strings for the new type must be added to the certificate language file.'; $string['certify'] = 'This is to certify that'; +$string['certifyilb'] = 'This is to certify that'; $string['code'] = 'Code'; $string['completiondate'] = 'Course Completion'; $string['course'] = 'For'; diff --git a/lang/pt_br/certificate.php b/lang/pt_br/certificate.php index 7e91e5f..6be6eab 100644 --- a/lang/pt_br/certificate.php +++ b/lang/pt_br/certificate.php @@ -60,6 +60,7 @@ The non-embedded types use the Helvetica and Times fonts. If you feel your user New type folders can be added to the certificate/type folder. The name of the folder and any new language strings for the new type must be added to the certificate language file.'; $string['certify'] = 'This is to certify that'; +$string['certifyilb'] = 'This is to certify that'; $string['code'] = 'Code'; $string['completiondate'] = 'Course Completion'; $string['course'] = 'For'; diff --git a/type/cert_presencial_rasf/certificate.php b/type/cert_presencial_rasf/certificate.php new file mode 100644 index 0000000..59b721b --- /dev/null +++ b/type/cert_presencial_rasf/certificate.php @@ -0,0 +1,136 @@ +. + +/** + * A4_embedded certificate type + * + * @package mod + * @subpackage certificate + * @copyright Mark Nelson + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +if (!defined('MOODLE_INTERNAL')) { + die('Direct access to this script is forbidden.'); // It must be included from view.php +} + +$group = end(groups_get_all_groups($course->id, $USER->id)); +$group_name = format_string($group->name); +$group_description = format_text($group->description, $group->descriptiontext); +/* +$style = << + p { + margin: 0; + padding: 0; + } + +EOT +*/ +$pdf = new PDF($certificate->orientation, 'mm', 'A4', true, 'UTF-8', false); + +$pdf->SetTitle($certificate->name); +$pdf->SetProtection(array('modify')); +$pdf->setPrintHeader(false); +$pdf->setPrintFooter(false); +$pdf->SetAutoPageBreak(false, 0); +$pdf->AddPage(); + +// Define variables +// Landscape +if ($certificate->orientation == 'L') { + $x = 20; + $y = 60; + $sealx = 230; + $sealy = 150; + $sigx = 00; + $sigy = 165; + $custx = 15; + $custy = $y+25; + $wmarkx = 40; + $wmarky = 31; + $wmarkw = 212; + $wmarkh = 148; + $brdrx = 0; + $brdry = 0; + $brdrw = 297; + $brdrh = 210; + $codex = $x; + $codey = 175; +} else { // Portrait + $x = 10; + $y = 90; + $sealx = 150; + $sealy = 220; + $sigx = 10; + $sigy = 235; + $custx = 15; + $custy = $y+25; + $wmarkx = 26; + $wmarky = 58; + $wmarkw = 158; + $wmarkh = 170; + $brdrx = 0; + $brdry = 0; + $brdrw = 210; + $brdrh = 297; + $codex = $x; + $codey = 245; +} + +// Front page ------------------------------------------------------------------------------------------------------------ +// Add images and lines +certificate_print_image($pdf, $certificate, CERT_IMAGE_BORDER, $brdrx, $brdry, $brdrw, $brdrh); +certificate_draw_frame($pdf, $certificate); +// 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, 0); +certificate_print_text($pdf, $x, $y, 'C', 'freesans', '', 20, get_string('title', 'certificate')); +certificate_print_text($pdf, $x, $y + 15, 'C', 'freesans', '', 18, get_string('certifyilb', 'certificate')); +certificate_print_text($pdf, $x, $y + 45, 'C', 'freesans', 'B', 18, mb_strtoupper(fullname($USER), 'UTF-8').", CPF nº {$USER->profile['cpf']}"); +certificate_print_text($pdf, $x, $y + 55, 'C', 'freesans', '', 18, "realizou, na modalidade presencial, ".certificate_get_grade($certificate, $course).", o curso"); +certificate_print_text($pdf, $x, $y + 65, 'C', 'freesans', 'B', 18, mb_strtoupper($course->fullname, 'UTF-8')); +$tagvs = array('p' => array(0 => array('h' => 0, 'n' => 0), 1 => array('h' => 0, 'n'=> 0))); +$pdf->setHtmlVSpace($tagvs); +certificate_print_text($pdf, $x, $y + 75, 'L', 'freesans', '', 18, $group_description); +// Verse page ----------------------------------------------------------------------------------------------------------- +$pdf->AddPage(); +// Add images and lines +certificate_print_image($pdf, $certificate, CERT_IMAGE_BORDER, $brdrx, $brdry, $brdrw, $brdrh); +certificate_draw_frame($pdf, $certificate); +// 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, '', ''); + +// Add text +$pdf->SetTextColor(0, 0, 0); +certificate_print_text($pdf, $x, $y, 'C', 'freesans', '', 20, 'PROGRAMA DO CURSO'); +certificate_print_text($pdf, $x, $y + 10, 'C', 'freesans', '', 20, mb_strtoupper($course->fullname, 'UTF-8')); +certificate_print_text($pdf, $custx, $custy, 'L', 'freesans', '', 10, $certificate->customtext); +certificate_print_text($pdf, $codex, $codey, 'C', 'freesans', '', 10, 'CÓDIGO DE VALIDAÇÃO'); +certificate_print_text($pdf, $codex, $codey + 5, 'C', 'freesans', 'B', 12, certificate_get_code($certificate, $certrecord)); +certificate_print_text($pdf, $codex, $codey + 10, 'C', 'freesans', '', 10, 'Para verificar a autenticidade deste certificado, acesse http://saberes.senado.leg.br/ e informe o código acima'); + +?>