‪TYPO3CMS  11.5
OnlineMediaHelperRegistry.php
Go to the documentation of this file.
1 <?php
2 
3 /*
4  * This file is part of the TYPO3 CMS project.
5  *
6  * It is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU General Public License, either version 2
8  * of the License, or any later version.
9  *
10  * For the full copyright and license information, please read the
11  * LICENSE.txt file that was distributed with this source code.
12  *
13  * The TYPO3 project - inspiring people to share!
14  */
15 
17 
22 
27 {
34  public static function ‪getInstance()
35  {
36  trigger_error(__CLASS__ . '::getInstance() will be removed in TYPO3 v12.0. Use Dependency Injection or GeneralUtility::makeInstance() if DI is not possible.', E_USER_DEPRECATED);
37  return GeneralUtility::makeInstance(self::class);
38  }
39 
46  public function ‪hasOnlineMediaHelper(string $fileExtension): bool
47  {
48  return isset(‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['fal']['onlineMediaHelpers'][$fileExtension]);
49  }
50 
57  public function ‪getOnlineMediaHelper(‪File $file)
58  {
59  $registeredHelpers = ‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['fal']['onlineMediaHelpers'];
60  if (isset($registeredHelpers[$file->‪getExtension()])) {
61  return GeneralUtility::makeInstance($registeredHelpers[$file->‪getExtension()], $file->‪getExtension());
62  }
63  return false;
64  }
65 
74  public function ‪transformUrlToFile($url, ‪Folder $targetFolder, $allowedExtensions = [])
75  {
76  $registeredHelpers = ‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['fal']['onlineMediaHelpers'];
77  foreach ($registeredHelpers as $extension => $className) {
78  if (!empty($allowedExtensions) && !in_array($extension, $allowedExtensions, true)) {
79  continue;
80  }
82  $helper = GeneralUtility::makeInstance($className, $extension);
83  $file = $helper->transformUrlToFile($url, $targetFolder);
84  if ($file !== null) {
85  return $file;
86  }
87  }
88  return null;
89  }
90 
97  {
98  return array_keys(‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['fal']['onlineMediaHelpers']);
99  }
100 }
‪TYPO3\CMS\Core\Resource\OnlineMedia\Helpers\OnlineMediaHelperRegistry
Definition: OnlineMediaHelperRegistry.php:27
‪TYPO3\CMS\Core\Resource\OnlineMedia\Helpers\OnlineMediaHelperRegistry\transformUrlToFile
‪File null transformUrlToFile($url, Folder $targetFolder, $allowedExtensions=[])
Definition: OnlineMediaHelperRegistry.php:74
‪TYPO3\CMS\Core\Resource\OnlineMedia\Helpers\OnlineMediaHelperRegistry\getSupportedFileExtensions
‪string[] getSupportedFileExtensions()
Definition: OnlineMediaHelperRegistry.php:96
‪TYPO3\CMS\Core\Resource\Folder
Definition: Folder.php:37
‪TYPO3\CMS\Core\Resource\File
Definition: File.php:24
‪TYPO3\CMS\Core\Resource\OnlineMedia\Helpers\OnlineMediaHelperRegistry\getInstance
‪static OnlineMediaHelperRegistry getInstance()
Definition: OnlineMediaHelperRegistry.php:34
‪TYPO3\CMS\Core\Resource\AbstractFile\getExtension
‪string getExtension()
Definition: AbstractFile.php:255
‪TYPO3\CMS\Core\SingletonInterface
Definition: SingletonInterface.php:22
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Core\Resource\OnlineMedia\Helpers\OnlineMediaHelperInterface
Definition: OnlineMediaHelperInterface.php:25
‪TYPO3\CMS\Core\Resource\OnlineMedia\Helpers\OnlineMediaHelperRegistry\hasOnlineMediaHelper
‪bool hasOnlineMediaHelper(string $fileExtension)
Definition: OnlineMediaHelperRegistry.php:46
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:50
‪TYPO3\CMS\Core\Resource\OnlineMedia\Helpers
Definition: AbstractOEmbedHelper.php:16
‪TYPO3\CMS\Core\Resource\OnlineMedia\Helpers\OnlineMediaHelperRegistry\getOnlineMediaHelper
‪false OnlineMediaHelperInterface getOnlineMediaHelper(File $file)
Definition: OnlineMediaHelperRegistry.php:57