55 $this->as_ascii = $this->
settings->isASCIIConvertionEnabled();
60 $filename = $this->sanitizer->sanitize(basename($filename_with_extension));
61 if ($this->as_ascii) {
72 foreach ($this->umlaut_mapping as $src => $tgt) {
73 $filename = str_replace($src, $tgt, $filename);
76 $ascii_filename = htmlentities($filename, ENT_NOQUOTES,
'UTF-8');
77 $ascii_filename = preg_replace(
'/\&(.)[^;]*;/',
'\\1', $ascii_filename);
78 $ascii_filename = preg_replace(
'/[\x7f-\xff]/',
'_', $ascii_filename);
81 $ascii_filename = preg_replace(
82 '/[:\x5c\/\*\?\"<>\|]/',
86 return $ascii_filename;
91 if ($this->
settings->isByPassAllowedForCurrentUser()) {
94 return parent::isBlockedExtension($extension);
Class ilFileServicesPolicy.
prepareFileNameForConsumer(string $filename_with_extension)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(ilFileServicesSettings $settings)
ilFileServicesSettings $settings
isBlockedExtension(string $extension)
Class ilFileServicesFilenameSanitizer.
ilFileServicesFilenameSanitizer $sanitizer
Class WhiteAndBlacklistedFileNamePolicy.