ILIAS
release_10 Revision v10.1-43-ga1241a92c2f
◀ ilDoc Overview
class.ilSecureTokenSrcBuilder.php
Go to the documentation of this file.
1
<?php
18
declare(strict_types=1);
19
20
use
ILIAS\GlobalScreen\Scope\MainMenu\Collector\Renderer\Hasher
;
21
use
ILIAS\ResourceStorage\Consumer\InlineSrcBuilder
;
22
use
ILIAS\ResourceStorage\Consumer\SrcBuilder
;
23
use
ILIAS\ResourceStorage\Flavour\Flavour
;
24
use
ILIAS\ResourceStorage\Revision\Revision
;
25
use
ILIAS\ResourceStorage\StorageHandler\StorageHandler
;
26
use
ILIAS\FileDelivery\Delivery\Disposition
;
27
use
ILIAS\FileDelivery\Services
;
28
32
class
ilSecureTokenSrcBuilder
implements
SrcBuilder
33
{
34
private
InlineSrcBuilder
$inline
;
35
36
public
function
__construct
(
37
private
Services
$file_delivery
,
38
) {
39
$this->
inline
=
new
InlineSrcBuilder
($file_delivery);
40
}
41
42
public
function
getRevisionURL
(
43
Revision
$revision,
44
bool
$signed =
true
,
45
float
$valid_for_at_least_minutes = 60.0,
46
string
$filename
= null
47
): string {
48
// get stream from revision
49
$stream = $revision->
maybeStreamResolver
()?->getStream();
50
51
return
(
string
) $this->file_delivery->buildTokenURL(
52
$stream,
53
$filename
?? $revision->
getTitle
(),
54
Disposition::INLINE,
55
$GLOBALS
[
'ilUser'
]->getId() ?? 0,
56
(
int
) (ceil($valid_for_at_least_minutes / 60))
57
);
58
}
59
60
public
function
getFlavourURLs
(
Flavour
$flavour,
bool
$signed =
true
): \
Generator
61
{
62
foreach
($flavour->
getStreamResolvers
() as $stream_resolver) {
63
$stream = $stream_resolver->getStream();
64
if
($stream_resolver->isInMemory() || $stream->getMetadata()[
'uri'
] ===
'php://memory'
) {
65
// must deliver as data uri
66
yield $this->
inline
->buildDataURLFromStream($stream);
67
}
else
{
68
yield (
string
) $this->file_delivery->buildTokenURL(
69
$stream,
70
''
,
71
Disposition::INLINE,
72
$GLOBALS
[
'ilUser'
]->
getId
() ?? 0,
73
1
74
);
75
}
76
}
77
}
78
79
}
ILIAS\Survey\Mode\getId
getId()
Definition:
trait.ModeProviderBase.php:35
ILIAS\LegalDocuments\Consumer\InlineSrcBuilder
Definition:
InlineSrcBuilder.php:33
Services
ILIAS\ResourceStorage\Revision\Revision\getTitle
getTitle()
ILIAS\ResourceStorage\Flavour\Flavour\getStreamResolvers
getStreamResolvers()
Definition:
Flavour.php:81
Revision
ILIAS\ResourceStorage\Revision\Revision\maybeStreamResolver
maybeStreamResolver()
Services
$GLOBALS
$GLOBALS["DIC"]
Definition:
wac.php:30
ILIAS\LegalDocuments\Consumer\SrcBuilder
Definition:
SrcBuilder.php:29
SrcBuilder
ILIAS\ResourceStorage\Flavour\Flavour
ILIAS\FileDelivery\Delivery\Disposition
Disposition
Definition:
Disposition.php:26
$filename
$filename
Definition:
buildRTE.php:78
Hasher
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Generator
ilSecureTokenSrcBuilder\__construct
__construct(private Services $file_delivery,)
Definition:
class.ilSecureTokenSrcBuilder.php:36
ilSecureTokenSrcBuilder
Definition:
class.ilSecureTokenSrcBuilder.php:32
$file_delivery
$file_delivery
Definition:
deliver.php:13
ilSecureTokenSrcBuilder\getFlavourURLs
getFlavourURLs(Flavour $flavour, bool $signed=true)
Definition:
class.ilSecureTokenSrcBuilder.php:60
ILIAS\ResourceStorage\Revision\Revision
Class FileRevision.
Definition:
Revision.php:31
StorageHandler
InlineSrcBuilder
ilSecureTokenSrcBuilder\getRevisionURL
getRevisionURL(Revision $revision, bool $signed=true, float $valid_for_at_least_minutes=60.0, string $filename=null)
Definition:
class.ilSecureTokenSrcBuilder.php:42
ilSecureTokenSrcBuilder\$inline
InlineSrcBuilder $inline
Definition:
class.ilSecureTokenSrcBuilder.php:34
ILIAS\Repository\int
int(string $key)
Definition:
trait.BaseGUIRequest.php:61
ILIAS\ResourceStorage\Flavour\Flavour
Definition:
Flavour.php:31
components
ILIAS
FileDelivery
classes
class.ilSecureTokenSrcBuilder.php
Generated on Wed Sep 10 2025 15:15:37 for ILIAS by
1.8.13 (using
Doxyfile
)