RSS Facebook Google+ Twitter

Joomla-Bugs

Neuigkeiten: Aktuelle Joomla!-Version: 3.8.12
Willkommen Gast. Bitte einloggen oder registrieren.

Autor Thema: Folder::create($path); vermutlich falsch in Archive.php  (Gelesen 134 mal)



Fehlerberschreibung --- 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 Code:

    Folder::create($path);

$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.

    Folder::create($extractdir);

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
Den gleichen Post hatte ich vorher schon hier gemacht:
https://forum.joomla.de/thread/6201-vermutl-fehler-in-libraries-vendor-joomla-archive-src-archive-php-beim-entpacken/
Wie lässt sich der Fehler reproduzieren? --- s.o.
Welche PHP-Version? (JBS = PHP 5.3.15) --- 7.0
Welche Datenbank (z.B. MySQL, MySQLi)? - Bitte auch die Versionsnummer angeben (JBS = MySQLi 5.5.17) --- MySQLi
Auf welchem Webserver wurde Joomla! installiert (z.B. Apache, IIs)? (JBS = Apache 2) --- Apache, XAMPP
Mit welchen Browsern wurde die Website angesehen? Bitte auch die Versionsnummer angeben. --- FF
Mit welchem Betriebssystem wurde die Website angesehen? --- Win 8.1
Welche Joomla!-Version wurde getestet? (z.B. "3.0.0 beta 1") --- 3.8.11
Wie ist der genaue Name der Download-Version? Bei automatischem Update bitte "autoupdate von Version xxx - auf Version xxx" eintragen. --- Joomla_3.8.10-Stable-Full_Package.zip + Update






Topic: Folder::create($path); vermutlich falsch in Archive.php






Offline zero24

  • Global Moderator
    • Joomla! als Hobby
Re: Folder::create($path); vermutlich falsch in Archive.php
« Antwort #1 am: 27.08.2018, 20:33:22 »
Hi,

danke für deine Meldung. Der gute ReLater hat das ganze schon weitergegeben:
https://github.com/joomla/joomla-cms/pull/21864
https://github.com/joomla-framework/archive/pull/16
Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, daß er genug davon habe. (Rene Descartes, fr. Mathematiker u. Philosoph, 1596 - 1650)

 

BloQcs design by Bloc
| SMF © 2011, Simple Machines
Joomla-Bugs.de is not affiliated with or endorsed by The Joomla! Project™. Use of the Joomla!® name, symbol, logo and related trademarks is permitted under a limited license granted by Open Source Matters, Inc.