Ich habe mir ein Komponente geschrieben zum Hochladen, Entpacken und Installieren von Priceupdates. Im Prinzip ein Klone vom Joomla-MediaManager mit erweiterten Funktionen.
Wie im Joomla-Installer in der dortigen Methode unpack() nutze ich zum Entpacken die Methoden der Archive-Library. In dieser gibt es eine Methode extract() die dabei verwendet wird.
Diese funktioniert bei z.B. ZIP-Archiven ganz hervorragend. Sobald ich jedoch ein GZ-Archiv entpacken will, erhalte ich einen Fehlermeldung: Joomla\Filesystem\File::copy: Copy failed.
Nun bin ich mal in das verantwortliche Joomla-Core-Script libraries/vendor/joomla/archive/src/Archive.php gekrochen und habe in der case-Behandlung die Abarbeitung für den Fall GZ, GZIP, TGZ untersucht und denke dort einen Fehler gefunden zu haben - zumindest funktioniert die Methode mit meiner Modifikation dann ganz prächtig.
In Zeile 111 gibt es den Befehl
$path aber enthält den Hauptpfad und nicht den zu erstellenden neuen Archiv-Pfad. Folglich kann der darauffolgende copy-Befehl seinen Zielpfad nicht finden und schlägt dann wohl deshalb fehl.
Deshalb habe ich $path ersetzt durch $extractdir und schon funktioniert's.
Leider bin ich nicht so fit darin, solche Fehlermeldung in die generelle engl. Joomla-Core-Entwicklungs-Community zu posten. Deshalb möchte ich einen der hier sicher vorhandenen Joomla-Freaks bitten, meine "Entdeckung" zu verifizieren und meinen Änderungsvorschlag zu prüfen und ggf. an die Core-Entwickler weiterzugeben.
Wäre super, wenn das in den Core Eingang findet, dann muss ich meinen Mod nicht ständig nachführen.
Nachtrag: ich beziehe mich auf die Version Joomla 3.8.11