ILIAS  trunk Revision v11.0_alpha-1761-g6dbbfa7b760
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ILIAS\MetaData\Repository\Validation\Processor\FilenameSanitizerPreProcessor Class Reference

Class FilenameSanitizerPreProcessor. More...

+ Inheritance diagram for ILIAS\MetaData\Repository\Validation\Processor\FilenameSanitizerPreProcessor:
+ Collaboration diagram for ILIAS\MetaData\Repository\Validation\Processor\FilenameSanitizerPreProcessor:

Public Member Functions

 process (FileStream $stream, Metadata $metadata)
 

Private Member Functions

 normalizeRelativePath (string $path)
 

Detailed Description

Class FilenameSanitizerPreProcessor.

PreProcessor which overrides the filename with a given one

Author
Fabian Schmid fs@st.nosp@m.uder.nosp@m.-raim.nosp@m.ann..nosp@m.ch
Since
5.3
Version
1.0.0

Definition at line 35 of file FilenameSanitizerPreProcessor.php.

Member Function Documentation

◆ normalizeRelativePath()

ILIAS\MetaData\Repository\Validation\Processor\FilenameSanitizerPreProcessor::normalizeRelativePath ( string  $path)
private

Definition at line 51 of file FilenameSanitizerPreProcessor.php.

References $parts.

51  : string
52  {
53  $path = str_replace('\\', '/', $path);
54  $path = preg_replace('#\p{C}+#u', '', $path);
55  $parts = [];
56 
57  foreach (explode('/', (string) $path) as $part) {
58  switch ($part) {
59  case '':
60  case '.':
61  break;
62 
63  case '..':
64  if (empty($parts)) {
65  throw new \LogicException(
66  'Path is outside of the defined root, path: [' . $path . ']'
67  );
68  }
69  array_pop($parts);
70  break;
71 
72  default:
73  $parts[] = $part;
74  break;
75  }
76  }
77 
78  return implode('/', $parts);
79  }
if($clientAssertionType !='urn:ietf:params:oauth:client-assertion-type:jwt-bearer'|| $grantType !='client_credentials') $parts
Definition: ltitoken.php:61
$path
Definition: ltiservices.php:29

◆ process()

ILIAS\MetaData\Repository\Validation\Processor\FilenameSanitizerPreProcessor::process ( FileStream  $stream,
Metadata  $metadata 
)

Implements ILIAS\MetaData\Repository\Validation\Processor\PreProcessor.

Definition at line 40 of file FilenameSanitizerPreProcessor.php.

References $filename, ILIAS\FileUpload\DTO\ProcessingStatus\OK, and ILIAS\Filesystem\Util\sanitizeFileName().

40  : ProcessingStatus
41  {
42  $filename = $metadata->getFilename();
43  // remove some special characters
45 
46  $metadata->setFilename($filename);
47 
48  return new ProcessingStatus(ProcessingStatus::OK, 'Filename changed');
49  }
static sanitizeFileName(string $filename)
Definition: Util.php:48
$filename
Definition: buildRTE.php:78
+ Here is the call graph for this function:

The documentation for this class was generated from the following file: