it-swarm.com.de

Ordner bei Erweiterungsaktualisierung löschen

Ich habe eine script.php erstellt, die folgende Funktion enthält:

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

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

Diese Funktion wird dann in Joomlas vordefiniertem preflight() aufgerufen. Die Funktion wird zwar aufgerufen, bei der Installation erhalte ich jedoch folgenden Fehler:

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

Zuerst dachte ich, das lag daran, dass ich update400() von der preflight() -Funktion aus aufrief, also versuchte ich, es stattdessen von der postflight() -Funktion aus aufzurufen, was jedoch nicht der Fall war jede Differenz.

Was ich herausfinden will, ist, warum es im Ordner tmp sucht, wenn ich den Pfad speziell definiert habe.

Weiß jemand, warum das passiert?

1
Lodder

Ich benutze JPATH_SITE innerhalb der Update-Methode, die für mich gut funktioniert.

Ich würde das preflight überhaupt nicht verwenden. Es würde die Dateien auch dann löschen, wenn das Update fehlschlägt, was wahrscheinlich nicht das ist, was Sie wollen. postflight ist am besten geeignet, Sie müssen jedoch prüfen, ob es sich um eine Installation, Aktualisierung oder Ermittlung handelt.

1
Bakual