ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
ilFileDelivery Class Reference

Class ilFileDelivery. More...

+ Inheritance diagram for ilFileDelivery:
+ Collaboration diagram for ilFileDelivery:

Public Member Functions

 __construct (string $file_path)
 ilFileDelivery constructor. More...
 
 __call (string $name, array $arguments)
 Workaround because legacy components try to call methods which are moved to the Deliver class. More...
 

Static Public Member Functions

static deliverFileAttached (string $path_to_file, ?string $download_file_name=null, ?string $mime_type=null, bool $delete_file=false)
 
static streamVideoInline (string $path_to_file, ?string $download_file_name=null)
 
static deliverFileInline (string $path_to_file, ?string $download_file_name=null)
 
static returnASCIIFileName (string $original_filename)
 Converts a UTF-8 filename to ASCII. More...
 
static deliverFileLegacy (string $a_file, ?string $a_filename=null, ?string $a_mime=null, ?bool $isInline=false, ?bool $removeAfterDelivery=false, ?bool $a_exit_after=true)
 

Data Fields

const DIRECT_PHP_OUTPUT = Delivery::DIRECT_PHP_OUTPUT
 
const DELIVERY_METHOD_XSENDFILE = DeliveryMethod::XSENDFILE
 
const DELIVERY_METHOD_XACCEL = DeliveryMethod::XACCEL
 
const DELIVERY_METHOD_PHP = DeliveryMethod::PHP
 
const DELIVERY_METHOD_PHP_CHUNKED = DeliveryMethod::PHP_CHUNKED
 
const DISP_ATTACHMENT = Delivery::DISP_ATTACHMENT
 
const DISP_INLINE = Delivery::DISP_INLINE
 

Private Attributes

Delivery $delivery
 

Detailed Description

Class ilFileDelivery.

Author
Fabian Schmid fs@st.nosp@m.uder.nosp@m.-raim.nosp@m.ann..nosp@m.ch
Version
1.0.0

Definition at line 35 of file class.ilFileDelivery.php.

Constructor & Destructor Documentation

◆ __construct()

ilFileDelivery::__construct ( string  $file_path)

ilFileDelivery constructor.

Parameters
string$file_path

Definition at line 53 of file class.ilFileDelivery.php.

References ILIAS\FileDelivery\http().

54  {
55  $this->delivery = new Delivery($file_path, self::http());
56  }
static http()
Fetches the global http state from ILIAS.
Class Delivery.
Definition: Delivery.php:38
+ Here is the call graph for this function:

Member Function Documentation

◆ __call()

ilFileDelivery::__call ( string  $name,
array  $arguments 
)

Workaround because legacy components try to call methods which are moved to the Deliver class.

Parameters
string$nameThe function name which was not found on the current object.
array$argumentsThe function arguments passed to the function which was not existent on the current object.

Definition at line 114 of file class.ilFileDelivery.php.

115  {
116  throw new LogicException('');
117  }

◆ deliverFileAttached()

static ilFileDelivery::deliverFileAttached ( string  $path_to_file,
?string  $download_file_name = null,
?string  $mime_type = null,
bool  $delete_file = false 
)
static

Implements ILIAS\FileDelivery\ilFileDeliveryService.

Definition at line 58 of file class.ilFileDelivery.php.

References ILIAS\FileDelivery\http().

Referenced by ilFileDataMail\deliverAttachmentsAsZip(), ilPortfolioCertificateFileService\deliverCertificate(), ilSkinStyleContainer\export(), ILIAS\MediaCast\BackgroundTasks\DownloadAllZipInteraction\interaction(), ilCalendarDownloadZipInteraction\interaction(), ilExDownloadSubmissionsZipInteraction\interaction(), ilDownloadZipInteraction\interaction(), ilObjBibliographicGUI\sendFile(), and ilExcel\sendToClient().

63  : void {
64  $obj = new Delivery($path_to_file, self::http());
65 
66  if ($download_file_name !== null) {
67  $obj->setDownloadFileName($download_file_name);
68  }
69  if ($mime_type !== null) {
70  $obj->setMimeType($mime_type);
71  }
72  $obj->setDisposition(self::DISP_ATTACHMENT);
73  $obj->setDeleteFile($delete_file);
74  $obj->deliver();
75  }
static http()
Fetches the global http state from ILIAS.
Class Delivery.
Definition: Delivery.php:38
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deliverFileInline()

static ilFileDelivery::deliverFileInline ( string  $path_to_file,
?string  $download_file_name = null 
)
static

Implements ILIAS\FileDelivery\ilFileDeliveryService.

Definition at line 89 of file class.ilFileDelivery.php.

References ILIAS\FileDelivery\http().

92  : void {
93  $obj = new Delivery($path_to_file, self::http());
94  if ($download_file_name !== null) {
95  $obj->setDownloadFileName($download_file_name);
96  }
97  $obj->setDisposition(self::DISP_INLINE);
98  $obj->deliver();
99  }
static http()
Fetches the global http state from ILIAS.
Class Delivery.
Definition: Delivery.php:38
+ Here is the call graph for this function:

◆ deliverFileLegacy()

static ilFileDelivery::deliverFileLegacy ( string  $a_file,
?string  $a_filename = null,
?string  $a_mime = null,
?bool  $isInline = false,
?bool  $removeAfterDelivery = false,
?bool  $a_exit_after = true 
)
static
Deprecated:

Definition at line 122 of file class.ilFileDelivery.php.

References $DIC, ILIAS\LTI\ToolProvider\$settings, ILIAS\FileDelivery\Delivery\deliver(), ILIAS\FileDelivery\Delivery\setConvertFileNameToAsci(), ILIAS\FileDelivery\Delivery\setDeleteFile(), ILIAS\FileDelivery\Delivery\setDisposition(), ILIAS\FileDelivery\Delivery\setDownloadFileName(), ILIAS\FileDelivery\Delivery\setExitAfter(), and ILIAS\FileDelivery\Delivery\setMimeType().

Referenced by ILIAS\Exercise\SampleSolution\SampleSolutionManager\deliver(), ilObjExerciseVerificationGUI\deliver(), ilObjCmiXapiVerificationGUI\deliver(), ilObjLTIConsumerVerificationGUI\deliver(), ilObjSCORMVerificationGUI\deliver(), ilObjTestVerificationGUI\deliver(), ilObjCourseVerificationGUI\deliver(), ILIAS\Exercise\InstructionFile\InstructionFileManager\deliver(), ILIAS\Exercise\TutorFeedbackFile\TutorFeedbackFileManager\deliver(), ilMailFolderGUI\deliverAttachments(), ilWikiUserHTMLExport\deliverFile(), ilFileDataForumDraftsLegacyImplementation\deliverFile(), ilFileDataForumLegacyImplementation\deliverFile(), ilMailFolderGUI\deliverFile(), ilBookingObjectGUI\deliverInfo(), ilNewsItem\deliverMobFile(), ILIAS\BookingManager\BookingProcess\ProcessUtilGUI\deliverPostFile(), ilFileDataForumDraftsLegacyImplementation\deliverZipFile(), ilFileDataForumLegacyImplementation\deliverZipFile(), ilTestExportGUI\download(), ilExportGUI\download(), ilBlogExerciseGUI\downloadExcAssFile(), ilPortfolioExerciseGUI\downloadExcAssFile(), ilBlogExerciseGUI\downloadExcSubFile(), ilPortfolioExerciseGUI\downloadExcSubFile(), ilWikiPageGUI\downloadExcSubFile(), ilGlossaryPresentationGUI\downloadExportFile(), ilLMPresentationGUI\downloadExportFile(), ilObjSurveyQuestionPoolGUI\downloadExportFileObject(), ilObjUserFolderGUI\downloadExportFileObject(), ilAdvancedMDSettingsGUI\downloadFile(), ilFileSystemGUI\downloadFile(), ilExSubmission\downloadMultipleFiles(), ilExPeerReviewGUI\downloadPeerReviewObject(), ilExSubmission\downloadSingleFile(), ilSAHSEditGUI\executeCommand(), ilObjPortfolioBaseGUI\export(), ilObjBlogGUI\export(), ILIAS\Notes\Export\NotesHtmlExport\exportHTML(), ilPageLayoutAdministrationGUI\exportLayout(), ilObjQuestionPoolGUI\exportQuestions(), ilObjStyleSheetGUI\exportStyleObject(), ilOrgUnitExporter\sendAndCreateSimpleExportFile(), ilDclRecordListGUI\sendFile(), ilObjCourseGUI\sendFileObject(), ilObjUser\sendPersonalDataFile(), ilObjUserFolderGUI\usrExportCsvObject(), ilObjUserFolderGUI\usrExportX86Object(), ilObjUserFolderGUI\usrExportXmlObject(), and ilUserCertificateZip\zipCertificatesInArchiveDirectory().

129  : void {
130  global $DIC;
131  // should we fail silently?
132  if (!file_exists($a_file)) {
133  return;
134  }
135  $delivery = new Delivery($a_file, $DIC->http());
136 
137  if ($isInline) {
138  $delivery->setDisposition(self::DISP_INLINE);
139  } else {
140  $delivery->setDisposition(self::DISP_ATTACHMENT);
141  }
142 
143  if ($a_mime !== null && $a_mime !== '') {
144  $delivery->setMimeType($a_mime);
145  }
146 
147  $settings = new General();
148  $delivery->setDownloadFileName($a_filename);
149  $delivery->setConvertFileNameToAsci($settings->isDownloadWithAsciiFileName());
150  $delivery->setDeleteFile($removeAfterDelivery);
151  $delivery->setExitAfter($a_exit_after);
152  $delivery->deliver();
153  }
setConvertFileNameToAsci(bool $convert_file_name_to_asci)
Definition: Delivery.php:342
setDeleteFile(bool $delete_file)
Definition: Delivery.php:533
setMimeType(string $mime_type)
Definition: Delivery.php:270
array $settings
Setting values (LTI parameters, custom parameters and local parameters).
Definition: System.php:200
global $DIC
Definition: feed.php:28
setDisposition(string $disposition)
Definition: Delivery.php:306
setExitAfter(bool $exit_after)
Definition: Delivery.php:330
setDownloadFileName(string $download_file_name)
Definition: Delivery.php:294
Class Delivery.
Definition: Delivery.php:38
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ returnASCIIFileName()

static ilFileDelivery::returnASCIIFileName ( string  $original_filename)
static

Converts a UTF-8 filename to ASCII.

Implements ILIAS\FileDelivery\ilFileDeliveryService.

Definition at line 101 of file class.ilFileDelivery.php.

101  : string
102  {
103  return Delivery::returnASCIIFileName($original_filename);
104  }

◆ streamVideoInline()

static ilFileDelivery::streamVideoInline ( string  $path_to_file,
?string  $download_file_name = null 
)
static

Implements ILIAS\FileDelivery\ilFileDeliveryService.

Definition at line 77 of file class.ilFileDelivery.php.

References ILIAS\FileDelivery\http().

80  : void {
81  $obj = new Delivery($path_to_file, self::http());
82  if ($download_file_name !== null) {
83  $obj->setDownloadFileName($download_file_name);
84  }
85  $obj->setDisposition(self::DISP_INLINE);
86  $obj->stream();
87  }
static http()
Fetches the global http state from ILIAS.
Class Delivery.
Definition: Delivery.php:38
+ Here is the call graph for this function:

Field Documentation

◆ $delivery

Delivery ilFileDelivery::$delivery
private

Definition at line 46 of file class.ilFileDelivery.php.

◆ DELIVERY_METHOD_PHP

const ilFileDelivery::DELIVERY_METHOD_PHP = DeliveryMethod::PHP

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

◆ DELIVERY_METHOD_PHP_CHUNKED

const ilFileDelivery::DELIVERY_METHOD_PHP_CHUNKED = DeliveryMethod::PHP_CHUNKED

Definition at line 43 of file class.ilFileDelivery.php.

◆ DELIVERY_METHOD_XACCEL

const ilFileDelivery::DELIVERY_METHOD_XACCEL = DeliveryMethod::XACCEL

Definition at line 41 of file class.ilFileDelivery.php.

◆ DELIVERY_METHOD_XSENDFILE

const ilFileDelivery::DELIVERY_METHOD_XSENDFILE = DeliveryMethod::XSENDFILE

Definition at line 40 of file class.ilFileDelivery.php.

◆ DIRECT_PHP_OUTPUT

const ilFileDelivery::DIRECT_PHP_OUTPUT = Delivery::DIRECT_PHP_OUTPUT

Definition at line 39 of file class.ilFileDelivery.php.

Referenced by ilPHPOutputDelivery\start().

◆ DISP_ATTACHMENT

const ilFileDelivery::DISP_ATTACHMENT = Delivery::DISP_ATTACHMENT

Definition at line 44 of file class.ilFileDelivery.php.

Referenced by ilPHPOutputDelivery\start().

◆ DISP_INLINE

const ilFileDelivery::DISP_INLINE = Delivery::DISP_INLINE

Definition at line 45 of file class.ilFileDelivery.php.


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