Fechas de inicio y fin en los certificados

Fechas de inicio y fin en los certificados

de Ben CI -
Número de respuestas: 7

Buenos días.

Estoy intentando configurar en la versión 2.7.3 los certificados de la misma manera en que los tenía en la versión 1.9.

He logrado que todo aparezca igual (no sin esfuerzo), pero hay una cosa que no logro trasladar de una versión a otra: que en el certificado aparezcan las fechas de inicio y fin de curso.

En la versión de 1.9 esto se consiguió incluyendo variables y añadiendo código en PHP 5.1, pero parece que estos datos no sirven para la versión 5.4.4 de PHP y no los interpreta de manera correcta, apareciendo un error.

¿Alguien conoce la manera de conseguir esto en la versión actual de PHP?

El código que considera como obsoleto ("deprecated" según el mensaje del modo depuración) es:

$fechas = fechasCurso($course);

cert_printtext(170, 380, 'C', 'Helvetica', '', 14, utf8_decode($fechas));

Agradezco de antemano cualquier ayuda.

Un saludo!!
Promedio de valoraciones: -
En respuesta a Ben CI

Re: Fechas de inicio y fin en los certificados

de Alex Ferrer -

Hola Ben.

Este módulo lo personalicé hace unos meses y entre otras cosas añadí las fechas de inicio y de fin de los cursos. Para ello añadí en courses/edit_form.php el siguiente código:

// Finalización curso
        $mform->addElement('date_selector', 'enddate', get_string('enddate'));
        $mform->addHelpButton('enddate', 'enddate');
        $mform->setDefault('enddate', time() + 3600 * 24);

Luego, en la plantilla correspondiente del certificado añadí:

cert_printtext($pdf, $x+85, $y+119, 'L', 'freesans', 'b', 12, strftime('%d de %B de %Y', $course->startdate));

cert_printtext($pdf, $x+35, $y+126, 'L', 'freesans', 'b', 12, strftime('%d de %B de %Y', $course->enddate));

No olvides crear el campo enddate en base de datos.


Espero que esto te sirva.

Un saludo.

En respuesta a Alex Ferrer

Re: Fechas de inicio y fin en los certificados

de Ben CI -

Gracias por la respuesta, Alex.

Tengo duda respecto a la tabla de la BBDD en la que debo incluir ese campo, ¿podrías decirme en cuál?

Y, al menos en mi versión del mod certificate para Moodle 2.7, en vez de utilizar cert_printtext utiliza, por ejemplo, certificate_print_text. No sé si esto también afecta a otras variables. Todo lo que tenía en mi certificate.php de la versión 1.9 lo tuve que cambiar en el certificate.php para la versión 2.7, ¿este código sería compatible con la 2.7?

Muchas gracias!!!


En respuesta a Ben CI

Re: Fechas de inicio y fin en los certificados

de Alex Ferrer -
Hola Ben.

El campo enddate tienes que agregarlo en la tabla mdl_course.
Yo en mi caso he utilizado la versión 2014041801para moodle 2.6 y me funciona perfectamente. Me imagino que para la versión 2.7 no deberías de tener ningún problema. Pruébalo y ya me dices.

Un saludo.

En respuesta a Alex Ferrer

Re: Fechas de inicio y fin en los certificados

de Ben CI -

Gracias de nuevo, Alex.

He seguido los pasos que me comentas, he modificado los archivos course/edit_form.php y certificate.php, y he añadido el campo enddate a la tabla mdl_course.

Cuando le doy a generar el certificado me sale el siguiente mensaje:

Excepción - TCPDF ERROR: Some data has already been output, can't send PDF file

¿Se te ocurre en qué puedo estar fallando?

Muchas gracias!!




En respuesta a Ben CI

Re: Fechas de inicio y fin en los certificados

de Alex Ferrer -

Hola Ben.

La verdad es que no se que puede estar pasando. Si quieres me puedes pasar el certificado que estás utilizando y lo pruebo en una instalación mía para ver si también me da el error. ¿Te parece bien?


Un saludo.