1<?php 2 3declare(strict_types=1); 4 5/* 6 * This file is part of the TYPO3 CMS project. 7 * 8 * It is free software; you can redistribute it and/or modify it under 9 * the terms of the GNU General Public License, either version 2 10 * of the License, or any later version. 11 * 12 * For the full copyright and license information, please read the 13 * LICENSE.txt file that was distributed with this source code. 14 * 15 * The TYPO3 project - inspiring people to share! 16 */ 17 18namespace TYPO3\CMS\Core\Resource\Security; 19 20class SvgHookHandler 21{ 22 /** 23 * @var SvgSanitizer 24 */ 25 protected $sanitizer; 26 27 /** 28 * @var SvgTypeCheck 29 */ 30 protected $typeCheck; 31 32 public function __construct(SvgSanitizer $sanitizer, SvgTypeCheck $typeCheck) 33 { 34 $this->sanitizer = $sanitizer; 35 $this->typeCheck = $typeCheck; 36 } 37 38 /** 39 * @param array $parameters 40 */ 41 public function processMoveUploadedFile(array $parameters) 42 { 43 $filePath = $parameters['source'] ?? null; 44 if ($filePath !== null && $this->typeCheck->forFilePath($filePath)) { 45 $this->sanitizer->sanitizeFile($filePath); 46 } 47 } 48} 49