custom/plugins/MoorlFoundation/src/Core/Subscriber/MoorlFoundationSubscriber.php line 27

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace MoorlFoundation\Core\Subscriber;
  3. use Shopware\Core\Content\Media\Event\MediaFileExtensionWhitelistEvent;
  4. use Shopware\Core\System\SystemConfig\SystemConfigService;
  5. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  6. class MoorlFoundationSubscriber implements EventSubscriberInterface
  7. {
  8.     private SystemConfigService $systemConfigService;
  9.     public function __construct(
  10.         SystemConfigService $systemConfigService
  11.     )
  12.     {
  13.         $this->systemConfigService $systemConfigService;
  14.     }
  15.     public static function getSubscribedEvents(): array
  16.     {
  17.         return [
  18.             MediaFileExtensionWhitelistEvent::class => 'onMediaFileExtensionWhitelist'
  19.         ];
  20.     }
  21.     public function onMediaFileExtensionWhitelist(MediaFileExtensionWhitelistEvent $event)
  22.     {
  23.         $whitelist $event->getWhitelist();
  24.         $whitelistConfig $this->systemConfigService->get('MoorlFoundation.config.fileExtensions');
  25.         if ($whitelistConfig) {
  26.             $whitelistConfig explode(","$whitelistConfig);
  27.             $whitelistConfig array_map('trim'$whitelistConfig);
  28.             if (is_array($whitelistConfig)) {
  29.                 $whitelist array_merge($whitelist$whitelistConfig);
  30.             }
  31.         }
  32.         $event->setWhitelist($whitelist);
  33.     }
  34. }