Skip to content

Commit 4a6bab0

Browse files
[FEATURE] Add MIME type and file extension Helper methods (kitodo#1420)
Co-authored-by: Sebastian Meyer <sebastian.meyer@opencultureconsulting.com>
1 parent 9b6fbb2 commit 4a6bab0

File tree

2 files changed

+29
-10
lines changed

2 files changed

+29
-10
lines changed

Classes/Common/Helper.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
use TYPO3\CMS\Core\Messaging\FlashMessageService;
2727
use TYPO3\CMS\Core\Messaging\FlashMessageQueue;
2828
use TYPO3\CMS\Core\Resource\MimeTypeCollection;
29+
use TYPO3\CMS\Core\Resource\MimeTypeDetector;
2930
use TYPO3\CMS\Core\Utility\ArrayUtility;
3031
use TYPO3\CMS\Core\Utility\GeneralUtility;
3132
use TYPO3\CMS\Core\Utility\MathUtility;
@@ -988,4 +989,28 @@ function ($mimeType) use ($categories) {
988989
}
989990
return false;
990991
}
992+
993+
/**
994+
* Get file extensions for a given MIME type
995+
*
996+
* @param string $mimeType
997+
* @return array
998+
*/
999+
public static function getFileExtensionsForMimeType(string $mimeType): array
1000+
{
1001+
$mimeTypeDetector = GeneralUtility::makeInstance(MimeTypeDetector::class);
1002+
return $mimeTypeDetector->getFileExtensionsForMimeType($mimeType);
1003+
}
1004+
1005+
/**
1006+
* Get MIME types for a given file extension
1007+
*
1008+
* @param string $fileExtension
1009+
* @return array
1010+
*/
1011+
public static function getMimeTypesForFileExtension(string $fileExtension): array
1012+
{
1013+
$mimeTypeDetector = GeneralUtility::makeInstance(MimeTypeDetector::class);
1014+
return $mimeTypeDetector->getMimeTypesForFileExtension($fileExtension);
1015+
}
9911016
}

Classes/Controller/ToolboxController.php

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -139,19 +139,13 @@ private function renderToolByName(string $tool): void
139139
*
140140
* @return array Array of image information's.
141141
*/
142-
public function getImage(int $page): array
142+
private function getImage(int $page): array
143143
{
144144
// Get @USE value of METS fileGroup.
145145
$image = $this->getFile($page, GeneralUtility::trimExplode(',', $this->settings['fileGrpsImageDownload']));
146-
switch ($image['mimetype']) {
147-
case 'image/jpeg':
148-
$image['mimetypeLabel'] = ' (JPG)';
149-
break;
150-
case 'image/tiff':
151-
$image['mimetypeLabel'] = ' (TIFF)';
152-
break;
153-
default:
154-
$image['mimetypeLabel'] = '';
146+
if (isset($image['mimetype'])) {
147+
$fileExtension = Helper::getFileExtensionsForMimeType($image['mimetype']);
148+
$image['mimetypeLabel'] = !empty($fileExtension) ? ' (' . strtoupper($fileExtension[0]) . ')' : '';
155149
}
156150
return $image;
157151
}

0 commit comments

Comments
 (0)