ILIAS
release_7 Revision v7.30-3-g800a261c036
◀ ilDoc Overview
Main Page
Related Pages
Modules
+
Namespaces
Namespace List
+
Namespace Members
+
All
$
_
a
b
c
d
e
f
g
h
i
j
l
m
p
r
s
t
w
+
Functions
_
a
b
c
f
g
h
i
r
s
t
w
+
Variables
$
c
d
e
f
g
h
j
l
m
p
s
t
+
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
+
Data Fields
+
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Variables
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Files
File List
+
Globals
+
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
+
Variables
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Examples
•
All
Data Structures
Namespaces
Files
Functions
Variables
Modules
Pages
WhitelistFileHeaderPreProcessor.php
Go to the documentation of this file.
1
<?php
2
3
namespace
ILIAS\FileUpload\Processor
;
4
5
use
ILIAS\Filesystem\Stream\FileStream
;
6
use
ILIAS\FileUpload\DTO\Metadata
;
7
use
ILIAS\FileUpload\DTO\ProcessingStatus
;
8
use
ILIAS\FileUpload\ScalarTypeCheckAware
;
9
use
Psr\Http\Message\StreamInterface
;
10
20
final
class
WhitelistFileHeaderPreProcessor
implements
PreProcessor
21
{
22
use
ScalarTypeCheckAware
;
23
27
private
$fileHeader
;
31
private
$fileHeaderLength
;
32
33
39
public
function
__construct
(
$fileHeader
)
40
{
41
$this->stringTypeCheck(
$fileHeader
,
'fileHeader'
);
42
43
$this->fileHeaderLength = strlen(
$fileHeader
);
44
$this->fileHeader =
$fileHeader
;
45
}
46
47
51
public
function
process
(
FileStream
$stream,
Metadata
$metadata)
52
{
53
$header = $stream->read($this->fileHeaderLength);
54
if
(strcmp($this->fileHeader, $header) === 0) {
55
return
new
ProcessingStatus
(
ProcessingStatus::OK
,
'File header complies with whitelist.'
);
56
}
57
58
return
new
ProcessingStatus
(
ProcessingStatus::REJECTED
,
'File header don\'t complies with whitelist.'
);
59
}
60
}
ILIAS\FileUpload\Processor\PreProcessor
Class PreProcessor.
Definition:
PreProcessor.php:22
ILIAS\FileUpload\DTO\ProcessingStatus
Class ProcessingStatus.
Definition:
ProcessingStatus.php:36
ILIAS\FileUpload\DTO\ProcessingStatus\REJECTED
const REJECTED
Upload got rejected by a processor.
Definition:
ProcessingStatus.php:46
ILIAS\FileUpload\Processor\WhitelistFileHeaderPreProcessor\__construct
__construct($fileHeader)
WhitelistFileHeaderPreProcessor constructor.
Definition:
WhitelistFileHeaderPreProcessor.php:39
ILIAS\FileUpload\Processor\WhitelistFileHeaderPreProcessor\$fileHeader
$fileHeader
Definition:
WhitelistFileHeaderPreProcessor.php:27
ILIAS\FileUpload\Processor\WhitelistFileHeaderPreProcessor\process
process(FileStream $stream, Metadata $metadata)
Definition:
WhitelistFileHeaderPreProcessor.php:51
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\FileUpload\DTO\Metadata
Class Metadata.
Definition:
Metadata.php:21
StreamInterface
ILIAS\FileUpload\Processor\WhitelistFileHeaderPreProcessor
Class WhitelistFileHeaderPreProcessor.
Definition:
WhitelistFileHeaderPreProcessor.php:20
Metadata
ScalarTypeCheckAware
FileStream
ILIAS\FileUpload\Processor\WhitelistFileHeaderPreProcessor\$fileHeaderLength
$fileHeaderLength
Definition:
WhitelistFileHeaderPreProcessor.php:31
ILIAS\Filesystem\Stream\FileStream
Interface FileStream The base interface for all filesystem streams.
Definition:
FileStream.php:17
ILIAS\FileUpload\DTO\ProcessingStatus\OK
const OK
Upload is ok.
Definition:
ProcessingStatus.php:42
src
FileUpload
Processor
WhitelistFileHeaderPreProcessor.php
Generated on Sun Apr 6 2025 21:01:46 for ILIAS by
1.8.13 (using
Doxyfile
)