Added Utils::getExtensionsByMime() method to get all the registered extensions for the specific mime type

This commit is contained in:
Matias Griese 2022-01-10 19:40:00 +02:00
parent 2ac38d39ea
commit bd471cb61b
2 changed files with 28 additions and 2 deletions

View File

@ -2,8 +2,9 @@
## mm/dd/2022
1. [](#new)
* Added support for generic `assets.link()` for external references. No pipeline support.
* Added support for `assets.addJsModule()` with full pipeline support.
* Added support for generic `assets.link()` for external references. No pipeline support
* Added support for `assets.addJsModule()` with full pipeline support
* Added `Utils::getExtensionsByMime()` method to get all the registered extensions for the specific mime type
2. [](#improved)
* Improved `Utils::download()` method to allow overrides on download name, mime and expires header
* Improved `onPageFallBackUrl` event

View File

@ -831,6 +831,31 @@ abstract class Utils
return $mimetypes;
}
/**
* Return all extensions for given mimetype. The first extension is the default one.
*
* @param string $mime Mime type (eg 'image/jpeg')
* @return string[] List of extensions eg. ['jpg', 'jpe', 'jpeg']
*/
public static function getExtensionsByMime($mime)
{
$mime = strtolower($mime);
$media_types = (array)Grav::instance()['config']->get('media.types');
$list = [];
foreach ($media_types as $extension => $type) {
if ($extension === '' || $extension === 'defaults') {
continue;
}
if (isset($type['mime']) && $type['mime'] === $mime) {
$list[] = $extension;
}
}
return $list;
}
/**
* Return the mimetype based on filename extension