ILIAS
trunk Revision v11.0_alpha-2662-g519ff7d528f
◀ ilDoc Overview
class.ilVirusScannerPreProcessor.php
Go to the documentation of this file.
1
<?php
2
19
declare(strict_types=1);
20
21
use
ILIAS\Filesystem\Stream\FileStream
;
22
use
ILIAS\FileUpload\DTO\Metadata
;
23
use
ILIAS\FileUpload\DTO\ProcessingStatus
;
24
use
ILIAS\FileUpload\Processor\PreProcessor
;
25
26
final
class
ilVirusScannerPreProcessor
implements
PreProcessor
27
{
28
protected
ilVirusScanner
$scanner
;
29
30
public
function
__construct
(
ilVirusScanner
$scanner)
31
{
32
$this->scanner =
$scanner
;
33
}
34
35
public
function
process
(
FileStream
$stream,
Metadata
$metadata):
ProcessingStatus
36
{
37
$uri = $stream->getMetadata()[
'uri'
];
38
// chmod($uri, 0755); // we must find a way e.g. ClamAV can read the file
39
if
($this->scanner->scanFile($uri) !==
''
) {
40
return
new
ProcessingStatus
(ProcessingStatus::DENIED,
'Virus detected.'
);
41
}
42
43
return
new
ProcessingStatus
(ProcessingStatus::OK,
'No Virus detected.'
);
44
}
45
}
ILIAS\MetaData\Repository\Validation\Processor\PreProcessor
Class PreProcessor.
Definition:
PreProcessor.php:37
ilVirusScannerPreProcessor
ILIAS\FileUpload\DTO\ProcessingStatus
Class ProcessingStatus.
Definition:
ProcessingStatus.php:34
ProcessingStatus
ilVirusScannerPreProcessor\process
process(FileStream $stream, Metadata $metadata)
Definition:
class.ilVirusScannerPreProcessor.php:35
ilVirusScannerPreProcessor\$scanner
ilVirusScanner $scanner
Definition:
class.ilVirusScannerPreProcessor.php:28
ilVirusScannerPreProcessor\__construct
__construct(ilVirusScanner $scanner)
Definition:
class.ilVirusScannerPreProcessor.php:30
ilVirusScanner
Definition:
class.ilVirusScanner.php:21
ILIAS\FileUpload\DTO\Metadata
FileStream
ServicesInterface
ILIAS\Filesystem\Stream\FileStream
The base interface for all filesystem streams.
Definition:
FileStream.php:31
PreProcessor
components
ILIAS
VirusScanner
classes
class.ilVirusScannerPreProcessor.php
Generated on Wed Sep 3 2025 23:04:26 for ILIAS by
1.8.13 (using
Doxyfile
)