ILIAS
trunk Revision v11.0_alpha-3011-gc6b235a2e85
◀ 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\FileUpload\DTO\Metadata
Class Metadata.
Definition:
Metadata.php:38
ILIAS\FileUpload\DTO\ProcessingStatus
Class ProcessingStatus.
Definition:
ProcessingStatus.php:35
ILIAS\FileUpload\DTO\ProcessingStatus\OK
const OK
Definition:
ProcessingStatus.php:40
ILIAS\FileUpload\DTO\ProcessingStatus\REJECTED
const REJECTED
Definition:
ProcessingStatus.php:45
ILIAS\FileUpload\Processor\BlacklistFileHeaderPreProcessor
Class BlacklistFileHeaderPreProcessor.
Definition:
BlacklistFileHeaderPreProcessor.php:36
ILIAS\FileUpload\Processor\BlacklistFileHeaderPreProcessor\process
process(FileStream $stream, Metadata $metadata)
@inheritDoc
Definition:
BlacklistFileHeaderPreProcessor.php:58
ILIAS\FileUpload\Processor\BlacklistFileHeaderPreProcessor\__construct
__construct(string $fileHeader)
BlacklistFileHeaderPreProcessor constructor.
Definition:
BlacklistFileHeaderPreProcessor.php:46
ILIAS\FileUpload\Processor\BlacklistFileHeaderPreProcessor\$fileHeader
string $fileHeader
Definition:
BlacklistFileHeaderPreProcessor.php:39
ILIAS\FileUpload\Processor\BlacklistFileHeaderPreProcessor\$fileHeaderLength
int $fileHeaderLength
Definition:
BlacklistFileHeaderPreProcessor.php:40
ILIAS\FileUpload\Processor\PreProcessor
Class PreProcessor.
Definition:
PreProcessor.php:38
ILIAS\Filesystem\Stream\FileStream
The base interface for all filesystem streams.
Definition:
FileStream.php:32
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
components
ILIAS
FileUpload
src
Processor
BlacklistFileHeaderPreProcessor.php
Generated on Sat Oct 18 2025 23:03:04 for ILIAS by
1.9.4 (using
Doxyfile
)