ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilSecureTokenSrcBuilder Class Reference
+ Inheritance diagram for ilSecureTokenSrcBuilder:
+ Collaboration diagram for ilSecureTokenSrcBuilder:

Public Member Functions

 __construct (private Services $file_delivery)
 
 getRevisionURL (Revision $revision, bool $signed=true, float $valid_for_at_least_minutes=60.0, ?string $filename=null)
 
 getFlavourURLs (Flavour $flavour, bool $signed=true)
 
 getRevisionURL (Revision $revision, bool $signed=true, float $valid_for_at_least_minutes=60.0, ?string $filename=null)
 
 getFlavourURLs (Flavour $flavour, bool $signed=true)
 

Private Attributes

InlineSrcBuilder $inline
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilSecureTokenSrcBuilder::__construct ( private Services  $file_delivery)

Definition at line 36 of file class.ilSecureTokenSrcBuilder.php.

References $file_delivery.

Member Function Documentation

◆ getFlavourURLs()

ilSecureTokenSrcBuilder::getFlavourURLs ( Flavour  $flavour,
bool  $signed = true 
)
Exceptions

RuntimeException if signing is not possible or failed, but was requested with $signed = true

Implements ILIAS\ResourceStorage\Consumer\SrcBuilder.

Definition at line 60 of file class.ilSecureTokenSrcBuilder.php.

60 : \Generator
61 {
62 try {
63 global $DIC;
64
66 ->resourceStorage()
67 ->manage()
68 ->getResource($flavour->getResourceId())
69 ->getSpecificRevision($flavour->getRevision())
70 ?->getInformation()
71 ->getTitle() ?? '';
72
73 $frindly_name = preg_replace(
74 '/[^a-zA-Z0-9-_]/',
75 '',
76 strtolower($flavour->getDefinition()->getInternalName())
77 );
78 } catch (Throwable) {
79 $filename = '';
80 $frindly_name = 'fl';
81 }
82
83
84 foreach ($flavour->getStreamResolvers() as $i => $stream_resolver) {
85 $stream = $stream_resolver->getStream();
86 if ($stream_resolver->isInMemory() || $stream->getMetadata()['uri'] === 'php://memory') {
87 // must deliver as data uri
88 yield $this->inline->buildDataURLFromStream($stream);
89 } else {
90
91 yield (string) $this->file_delivery->buildTokenURL(
92 $stream,
93 $frindly_name . '_' . $i . '_' . $filename,
94 Disposition::INLINE,
95 $GLOBALS['ilUser']->getId() ?? 0,
96 1
97 );
98 }
99 }
100 }
$filename
Definition: buildRTE.php:78
global $DIC
Definition: shib_login.php:26
$GLOBALS["DIC"]
Definition: wac.php:54

References $DIC, $filename, $GLOBALS, ILIAS\ResourceStorage\Flavour\Flavour\getDefinition(), ILIAS\Survey\Mode\getId(), ILIAS\ResourceStorage\Flavour\Flavour\getResourceId(), ILIAS\ResourceStorage\Flavour\Flavour\getRevision(), and ILIAS\ResourceStorage\Flavour\Flavour\getStreamResolvers().

+ Here is the call graph for this function:

◆ getRevisionURL()

ilSecureTokenSrcBuilder::getRevisionURL ( Revision  $revision,
bool  $signed = true,
float  $valid_for_at_least_minutes = 60.0,
?string  $filename = null 
)
Parameters
string | null$filename
Exceptions

RuntimeException if signing is not possible or failed, but was requested with $signed = true

Implements ILIAS\ResourceStorage\Consumer\SrcBuilder.

Definition at line 42 of file class.ilSecureTokenSrcBuilder.php.

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 }

Field Documentation

◆ $inline

InlineSrcBuilder ilSecureTokenSrcBuilder::$inline
private

Definition at line 34 of file class.ilSecureTokenSrcBuilder.php.


The documentation for this class was generated from the following file: