it-swarm-es.tech

Eliminar carpeta en la actualización de extensión

He creado un script.php que contiene la siguiente función:

protected function update400()
{
    jimport('joomla.filesystem.folder');
    jimport('joomla.filesystem.file');

    JFolder::delete(JPATH_ROOT . '/media/mod_MYMODULE/js');
}

Esta función se llama dentro de la predefinida de Joomla preflight(). La función se obtiene, se llama, sin embargo, después de la instalación, aparece el siguiente error:

JInstaller: :Install: File does not exist C:\wamp\www\tmp\install_53de639f7a0b6\400\media\js

Al principio pensé que esto se debía a que estaba llamando a update400() desde la función preflight(), así que intenté llamarlo desde la función postflight() en su lugar, sin embargo, esto no hizo alguna diferencia.

Lo que intento averiguar es por qué está buscando en la carpeta tmp cuando definí específicamente la ruta.

¿Alguien sabe por qué pasa esto?

1
Lodder

Yo suelo JPATH_SITE dentro del método de actualización que funciona bien para mí.

No usaría el preflight en absoluto. Eliminaría los archivos incluso si la actualización falla, lo que probablemente no sea lo que desea. postflight es el más apropiado, pero debe verificar si es una instalación, actualización o descubrimiento allí.

1
Bakual