ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
ILIAS\FileDelivery\Services Class Reference
+ Collaboration diagram for ILIAS\FileDelivery\Services:

Public Member Functions

 __construct (private \ILIAS\FileDelivery\Delivery\StreamDelivery $delivery, private LegacyDelivery $legacy_delivery, private DataSigner $data_signer)
 
 delivery ()
 
 legacyDelivery ()
 
 buildTokenURL (FileStream $stream, string $filename, Disposition $disposition, int $user_id, int $valid_for_at_least_hours)
 

Data Fields

const DELIVERY_ENDPOINT = '/src/FileDelivery/deliver.php/'
 

Detailed Description

Author
Fabian Schmid fabia.nosp@m.n@sr.nosp@m..solu.nosp@m.tion.nosp@m.s

Definition at line 32 of file Services.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\FileDelivery\Services::__construct ( private \ILIAS\FileDelivery\Delivery\StreamDelivery  $delivery,
private LegacyDelivery  $legacy_delivery,
private DataSigner  $data_signer 
)

Definition at line 36 of file Services.php.

40  {
41  }

Member Function Documentation

◆ buildTokenURL()

ILIAS\FileDelivery\Services::buildTokenURL ( FileStream  $stream,
string  $filename,
Disposition  $disposition,
int  $user_id,
int  $valid_for_at_least_hours 
)

Definition at line 53 of file Services.php.

References $token.

59  : URI {
60  // a new DateTimeImmutable which is set to the end of now + $valid_for_at_least_hours hours
61  $valid_for_at_least_hours++;
62  $until = new \DateTimeImmutable(
63  (new \DateTimeImmutable("now +$valid_for_at_least_hours hours"))->format('Y-m-d H:00')
64  );
65 
66  $token = $this->data_signer->getSignedStreamToken(
67  $stream,
68  $filename,
69  $disposition,
70  $user_id,
71  $until
72  );
73  return new URI(
74  rtrim(ILIAS_HTTP_PATH, '/') . self::DELIVERY_ENDPOINT . $token
75  );
76  }
$token
Definition: xapitoken.php:70
$filename
Definition: buildRTE.php:78

◆ delivery()

ILIAS\FileDelivery\Services::delivery ( )

Definition at line 43 of file Services.php.

◆ legacyDelivery()

ILIAS\FileDelivery\Services::legacyDelivery ( )

Definition at line 48 of file Services.php.

48  : LegacyDelivery
49  {
50  return $this->legacy_delivery;
51  }

Field Documentation

◆ DELIVERY_ENDPOINT

const ILIAS\FileDelivery\Services::DELIVERY_ENDPOINT = '/src/FileDelivery/deliver.php/'

Definition at line 34 of file Services.php.


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