vendor/oneup/uploader-bundle/src/EventListener/AllowedMimetypeAndExtensionValidationListener.php line 12

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Oneup\UploaderBundle\EventListener;
  4. use Oneup\UploaderBundle\Event\ValidationEvent;
  5. use Oneup\UploaderBundle\Uploader\Exception\ValidationException;
  6. class AllowedMimetypeAndExtensionValidationListener
  7. {
  8.     public function onValidate(ValidationEvent $event): void
  9.     {
  10.         $config $event->getConfig();
  11.         $file $event->getFile();
  12.         if (empty($config['allowed_mimetypes'])) {
  13.             return;
  14.         }
  15.         $mimetype $file->getMimeType();
  16.         $extension strtolower($file->getExtension());
  17.         if (!isset($config['allowed_mimetypes'][$mimetype])) {
  18.             throw new ValidationException('error.whitelist');
  19.         }
  20.         if (empty($config['allowed_mimetypes'][$mimetype])
  21.             || \in_array($extension$config['allowed_mimetypes'][$mimetype], true)
  22.         ) {
  23.             return;
  24.         }
  25.         throw new ValidationException('error.whitelist');
  26.     }
  27. }