Bug #64224
closedGIFBUILDER with FAL and UTF-8 filesystem
100%
Description
given is a file "wärme.png"
given is the file is used in a content element via a file refernce (FAL)
given is a TypoScript setup to render the image via a GIFBUILDER Object
then I see a broken image rendered as the filename is not processed correctly
ContentObjectRender->getImgResource() does return '$processedFileObject->getPublicUrl()' inside the imgResource of the processdFile which is rawurlencoded().
This patch/change cures the problem by adding an extra rawurldecod() inside the GifBuilder. Does not feel like the proper solution and I will see if it breaks anywhere else for some time.
iff --git a/typo3/sysext/frontend/Classes/Imaging/GifBuilder.php b/typo3/sysext/frontend/Classes/Imaging/GifBuilder.php index 9d13e6c..306b676 100644 --- a/typo3/sysext/frontend/Classes/Imaging/GifBuilder.php +++ b/typo3/sysext/frontend/Classes/Imaging/GifBuilder.php @@ -206,7 +206,7 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions { $fileInfo = $this->getResource($conf['file'], $conf['file.']); if ($fileInfo) { $this->combinedFileNames[] = preg_replace('/\\.[[:alnum:]]+$/', '', basename($fileInfo[3])); - $this->setup[$theKey . '.']['file'] = $fileInfo[3]; + $this->setup[$theKey . '.']['file'] = rawurldecode($fileInfo[3]); $this->setup[$theKey . '.']['BBOX'] = $fileInfo; $this->objBB[$theKey] = $fileInfo; if ($conf['mask']) {
Updated by Peter Niederlag about 10 years ago
- Subject changed from GIFBUILDE with FAL and UTF-8 filesystem to GIFBUILDER with FAL and UTF-8 filesystem
Updated by Peter Niederlag about 10 years ago
- Category set to File Abstraction Layer (FAL)
Updated by Mathias Schreiber about 10 years ago
- Target version set to 7.1 (Cleanup)
- Sprint Focus set to On Location Sprint
Updated by Markus Klein about 10 years ago
IMO using getPublicUrl() for internal further processing is just plain wrong. Does not work for protected storages I guess and will for sure not work if there's some other driver than the LocalDriver.
Updated by Peter Niederlag about 10 years ago
Markus Klein wrote:
IMO using getPublicUrl() for internal further processing is just plain wrong. Does not work for protected storages I guess and will for sure not work if there's some other driver than the LocalDriver.
I do very much agree, but what's the alternative? GifBuilder relies on ContentObjectRenderer->getImgResource(), that doesn't seem debatable to me. However this will add 'originalFile' in case of an fileObject so maybe GifBuilder should pick up on that on if it's available?
Updated by Frans Saris about 10 years ago
For processing a file use getForLocalProcessing() and not getPublicUrl().
Updated by Torben Hansen about 10 years ago
Frans Saris wrote:
For processing a file use getForLocalProcessing() and not getPublicUrl().
Using getForLocalProcessing() seems to work fine if we directly use it in GifBuilder
$this->setup[$theKey . '.']['file'] = $fileInfo['originalFile']->getForLocalProcessing();
Should there be a check to see, if $fileInfo['originalFile'] is really available?
Updated by Peter Niederlag almost 10 years ago
Hi,
first of all, many thx for your initiative.
Torben Hansen wrote:
Frans Saris wrote:
For processing a file use getForLocalProcessing() and not getPublicUrl().
Using getForLocalProcessing() seems to work fine if we directly use it in GifBuilder
[...]
Should there be a check to see, if $fileInfo['originalFile'] is really available?
If GIFBUILDER can still work without FAL (which I think is true), then there must be a check if originalFile is available. Should not be to expensive and is just making this beast less error prone.
Updated by Gerrit Code Review almost 10 years ago
- Status changed from New to Under Review
Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/36180
Updated by Gerrit Code Review almost 10 years ago
Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/36180
Updated by Gerrit Code Review almost 10 years ago
Patch set 1 for branch TYPO3_6-2 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/36340
Updated by Torben Hansen almost 10 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset fd232edeab2c72a7bac582b454b8db6b788f017c.
Updated by Anja Leichsenring about 9 years ago
- Sprint Focus deleted (
On Location Sprint)
Updated by Riccardo De Contardi about 7 years ago
- Status changed from Resolved to Closed