No se puede descargar archivo desde link- El archivo se incrusta en la pagina - moodle 2.8.3

No se puede descargar archivo desde link- El archivo se incrusta en la pagina - moodle 2.8.3

de Cristhian Acosta Chambers -
Número de respuestas: 0

Que tal estimad@s,


Buenos días.


Estoy trabajando estoy trabajando con moodle en la construcción  de un bloque.

Al cual le he dado la funcionalidad de descargar archivos  a través de un link. La cuestión es que en el ambiente de desarrollo funciona la descargar del archivo. Por lo consiguiente para realizar pruebas lo subí a un hosting en el cual tengo para probar los desarrollo antes de enviar a producción. 

Bueno desde aquí el link trata de descargar el archivo pero no descarga el archivo se queda incrustado en la página.

Ya tengo bastante tiempo buscando solucionar el problema pero no he podido encontrar ayuda.

Vale mencionar que antes de que pasara esto tuve problemas con los archivos corruptos al momento de descargar lo cual también me costo investigar y buscando puede encontrar la solución pero me tomo bastante tiempo hasta encontrar el problema el cual me mando a borrar cierta lineas de un archivo para que funcionara.

Lo resolvió según lo que indica este post

https://tracker.moodle.org/browse/MDL-47532


Lo mas desconcertante es que voy a la actividad base de datos en la cual se pueden subir y descargar archivos (Tome como referencia esta actividad para realizar el código de descarga) y esta funciona sin problemas, descarga los archivo como debería.

El problema en en mi opción de descarga es que el archivo se queda incrustado en la pagina (ya subido el bloque en el hosting). 

Peor aún en ambiente local funciona.


Este el código de la función que indica el plugin para descargar:

function block_ugtitulacion_pluginfile($course, $cm, $context, $filearea, 

                                       $args, $forcedownload, array $options=array()) {

    global $SESSION;

    // Check the contextlevel is as expected - if your plugin is a block, this becomes CONTEXT_BLOCK, etc.

    //if ($context->contextlevel != CONTEXT_COURSE) {

    if ($context->contextlevel != CONTEXT_BLOCK) {

        return false; 

    }

    // Make sure the user is logged in and has access to the module (plugins that are not course modules should leave out the 'cm' part).

    require_login($course, true);

    // No check for capability, because everybody needs to see it

    // Check the relevant capabilities - these may vary depending on the filearea being accessed.   

    if (!has_capability('block/ugtitulacion:addinstance', $context)) {

        return false;

    }

    // Leave this line out if you set the itemid to null in make_pluginfile_url (set $itemid to 0 instead).

    $itemid = array_shift($args); // The first item in the $args array.

    // Use the itemid to retrieve any relevant data records and perform any security checks to see if the

    // user really does have access to the file in question.

    // Extract the filename / filepath from the $args array.

    $filename = array_pop($args); // The last item in the $args array.

    if (!$args) {

        $filepath = '/'; // $args is empty => the path is '/'

    } else {

        $filepath = '/'.implode('/', $args).'/'; // $args contains elements of the filepath

    }

    // Retrieve the file from the Files API.        

    $fs = get_file_storage();

    $file = $fs->get_file($context->id, 

                          $SESSION->bloque,

                          $filearea, $itemid, $filepath, $filename);

    if (!$file) {

        return false; // The file does not exist.

    }   

    

   // We can now send the file back to the browser - in this case with a cache lifetime of 1 day and no filtering. 

    // From Moodle 2.3, use send_stored_file instead.

     send_stored_file($file, 0, 0, true, $options); //Funciona en el local

}


Por favor alguien que me pueda ayudar ya no se en donde más investigar.

De ante mano agradeciendo por su valiosa ayuda.

Adjunto print del archivo incrustado en la pagina.


Saludos,

CAC


Adjunto documentourl.png
Promedio de valoraciones: -