contao / managed-edition

Contao Managed Edition
17 stars 14 forks source link

Dateiverwaltung Ordnernamen mit Leerzeichen #8

Closed green-pixelbox closed 7 years ago

green-pixelbox commented 7 years ago

Hallo. Bei der Dateiverwaltung Ordnernamen mit Leerzeichen produziert einen Fehler. Möchte man einen neuen Ordner erstellen in den Ordner mit Leerzeichen, bekomme ich folgende Fehlermeldung: File or folder "files/gasthof-zur-post/test%20test/new" is not mounted or cannot be found.

leofeyer commented 7 years ago

Das lässt sich relativ einfach beheben, indem wir aus Zeile 116

$this->intId = rawurldecode(\Input::get('id', true));

machen. @ausi Irgendwelche Sicherheitsbedenken?

ausi commented 7 years ago

Ich denke das wäre die falsche Stelle für die Lösung des Fehlers und es könnte andere Probleme verursachen.

Das Problem liegt in DC_Folder.php:588 dort wird der Ordner durch $this->urlEncode() kodiert obwohl direkt danach in DataContainer::switchToEdit() in DataContainer.php:649 der Parameter erneut URL-kodiert wird. Ich denke in DC_Folder sollte der urlEncode()-Aufruf entfernt werden sodass die Zeile danach so aussieht:

$this->redirect(html_entity_decode($this->switchToEdit($strFolder . '/__new__')));

In meinem Test hat der Fix funktioniert.

leofeyer commented 7 years ago

Behoben in https://github.com/contao/core-bundle/commit/8691d3fd47386c2ccb2c9c1b8c2128699c51f6a1. Danke @ausi