Cambiar el nombre de un archivo PDF generado por un módulo

Cambiar el nombre de un archivo PDF generado por un módulo

de Jhon Betancur -
Número de respuestas: 1

Hola.

Tengo una situación: necesito cambiar el nombre archivo del certificado en PDF que genera el módulo Simple Certificate. En este momento genera el nombre de archivo con la siguiente estructura:

Nombre del curso-texto"certificado del curso"_ID del certificado.PDF

yo necesito que quede así:

Nombre del curso-texto"certificado del curso"_ID del usuario.PDF

Es decir, cambiar el ID del certificado por el ID del estudiante.

¿Alguien sabe como y en donde puedo hacer esto?

Gracias.


Promedio de valoraciones: -
En respuesta a Jhon Betancur

Re: Cambiar el nombre de un archivo PDF generado por un módulo

de Franco Pantoja -
Imagen de Moodlers de gran ayuda

Buenas John


No es demasiado complejo.

El nombre lo monta $filename

Puedes encontrarlo en mod\simplecertificate\locallib.php

 $filename = str_replace(' ', '_', clean_filename($issuecert->certificatename . ' ' . $issuecert->id . '.pdf'));

Debemos poner en el orden que pretendemos

 $filename = str_replace(' ', '_', clean_filename($issuecert->certificatename . ' ' . $USER->id . '.pdf'));

Recuerda que tienes que llamar a la variable global $USER dentro de la función, para ello simplemente añadimos al inicio

  protected function save_pdf(stdClass $issuecert) {
        global $DB, $CFG;
global $USER; // we add this line
Deber ser precavido y actualizar el nombre en todas las partes en las que aparece

\backup\moodle2\restore_simplecertificate_activity_task.class.php
\db\upgrade.php
\tests\locallib_test.php

Para ello haz un buscar en todos los archivos del texto '.pdf'

Espero que pueda serte útil

Saludos!!