19declare(strict_types=1);
44 float $valid_for_at_least_minutes = 60.0,
48 throw new \RuntimeException(
'InlineSrcBuilder does not support signed URLs');
50 $sream_resolver = $revision->maybeStreamResolver();
51 if ($sream_resolver !==
null) {
52 $stream = $sream_resolver->getStream();
53 if ($sream_resolver->isInMemory()) {
57 $this->file_delivery->buildTokenURL(
73 throw new \RuntimeException(
'InlineSrcBuilder does not support signed URLs');
75 foreach ($flavour->getStreamResolvers() as $stream_resolver) {
76 $stream = $stream_resolver->getStream();
77 yield $this->buildDataURLFromStream($stream);
83 $mime_type = mime_content_type($stream->getMetadata()[
'uri']) ?:
'application/octet-stream';
84 $base64 = base64_encode((
string) $stream);
85 return "data:$mime_type;base64,$base64";
__construct(private Services $file_delivery)
buildDataURLFromStream(FileStream $stream)
getFlavourURLs(Flavour $flavour, bool $signed=true)
getRevisionURL(Revision $revision, bool $signed=true, float $valid_for_at_least_minutes=60.0, ?string $filename=null)
The base interface for all filesystem streams.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
if(!file_exists('../ilias.ini.php'))