ILIAS
trunk Revision v11.0_alpha-2662-g519ff7d528f
◀ ilDoc Overview
BlacklistFileHeaderPreProcessor.php
Go to the documentation of this file.
1
<?php
2
19
namespace
ILIAS\FileUpload\Processor
;
20
21
use
ILIAS\Filesystem\Stream\FileStream
;
22
use
ILIAS\FileUpload\DTO\Metadata
;
23
use
ILIAS\FileUpload\DTO\ProcessingStatus
;
24
use
ILIAS\FileUpload\ScalarTypeCheckAware
;
25
35
final
class
BlacklistFileHeaderPreProcessor
implements
PreProcessor
36
{
37
use
ScalarTypeCheckAware
;
38
39
private
string
$fileHeader
;
40
private
int
$fileHeaderLength
;
41
42
46
public
function
__construct
(
string
$fileHeader)
47
{
48
$this->stringTypeCheck($fileHeader,
'fileHeader'
);
49
50
$this->fileHeaderLength = strlen($fileHeader);
51
$this->fileHeader =
$fileHeader
;
52
}
53
54
58
public
function
process
(FileStream $stream,
Metadata
$metadata): ProcessingStatus
59
{
60
$header = $stream->read($this->fileHeaderLength);
61
if
(strcmp($this->fileHeader, $header) !== 0) {
62
return
new
ProcessingStatus(
ProcessingStatus::OK
,
'File header does not match blacklist.'
);
63
}
64
65
return
new
ProcessingStatus(
ProcessingStatus::REJECTED
,
'File header matches blacklist.'
);
66
}
67
}
ILIAS\MetaData\Repository\Validation\Processor\PreProcessor
Class PreProcessor.
Definition:
PreProcessor.php:37
ILIAS\FileUpload\DTO\ProcessingStatus\REJECTED
const REJECTED
Definition:
ProcessingStatus.php:45
ILIAS\MetaData\Repository\Validation\Processor\BlacklistFileHeaderPreProcessor\__construct
__construct(string $fileHeader)
BlacklistFileHeaderPreProcessor constructor.
Definition:
BlacklistFileHeaderPreProcessor.php:46
ILIAS\MetaData\Repository\Validation\Processor\BlacklistFileHeaderPreProcessor\$fileHeader
string $fileHeader
Definition:
BlacklistFileHeaderPreProcessor.php:39
ILIAS\MetaData\Repository\Validation\Processor\BlacklistFileHeaderPreProcessor
Class BlacklistFileHeaderPreProcessor.
Definition:
BlacklistFileHeaderPreProcessor.php:35
ProcessingStatus
ScalarTypeCheckAware
ILIAS\FileUpload\Processor
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition:
AbstractRecursiveZipPreProcessor.php:19
ILIAS\MetaData\Repository\Validation\Processor\BlacklistFileHeaderPreProcessor\$fileHeaderLength
int $fileHeaderLength
Definition:
BlacklistFileHeaderPreProcessor.php:40
ILIAS\MetaData\Repository\Validation\Processor\BlacklistFileHeaderPreProcessor\process
process(FileStream $stream, Metadata $metadata)
Definition:
BlacklistFileHeaderPreProcessor.php:58
ILIAS\FileUpload\DTO\Metadata
ScalarTypeCheckAware
FileStream
ServicesInterface
ILIAS\FileUpload\DTO\ProcessingStatus\OK
const OK
Definition:
ProcessingStatus.php:40
components
ILIAS
FileUpload
src
Processor
BlacklistFileHeaderPreProcessor.php
Generated on Wed Sep 3 2025 23:03:04 for ILIAS by
1.8.13 (using
Doxyfile
)