ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
FileUpload.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21namespace ILIAS;
22
27use ILIAS\FileUpload\FileUpload as FileUploadInterface;
37use ILIAS\Refinery\Factory as Refinery;
38
39class FileUpload implements Component
40{
41 public function init(
42 array | \ArrayAccess &$define,
43 array | \ArrayAccess &$implement,
44 array | \ArrayAccess &$use,
45 array | \ArrayAccess &$contribute,
46 array | \ArrayAccess &$seek,
47 array | \ArrayAccess &$provide,
48 array | \ArrayAccess &$pull,
49 array | \ArrayAccess &$internal,
50 ): void {
51 $define[] = FileUploadInterface::class;
52
53 $internal[PreProcessorCollection::class] = static fn() =>
54 new PreProcessorCollectionImpl($seek[PreProcessor::class]);
55
56 $internal[PreProcessorManagerImpl::class] = static fn() =>
57 new PreProcessorManagerImpl($internal[PreProcessorCollection::class]);
58
59 $implement[FileUploadInterface::class] = static fn() =>
61 $internal[PreProcessorManagerImpl::class],
62 $use[Filesystems::class],
63 $use[GlobalHttpState::class]
64 );
65
66 $internal[TempFileStore::class] = static fn() => new TempFileStore(
67 $use[FilesystemTemp::class],
68 );
69
74 $internal[Parameter::class] = static fn() => new Parameter(
75 $pull[Refinery::class],
76 );
77
85 $internal[FileParameter::class] = static fn() => new FileParameter(
86 $internal[TempFileStore::class],
87 $internal[PreProcessorManagerImpl::class],
88 $internal[Parameter::class],
89 $use[GlobalUploadLimit::class],
90 );
91
92 $provide[FileParameter::class] = static fn() => $internal[FileParameter::class];
93 $provide[TempFileStore::class] = static fn() => $internal[TempFileStore::class];
94 $provide[Parameter::class] = static fn() => $internal[Parameter::class];
95 }
96}
Builds data types.
Definition: Factory.php:36
A file as a parameter of an activity: how it is described, and how it is read.
The place where the low level file activities put their files: a folder in the temp filesystem of the...
init(array|\ArrayAccess &$define, array|\ArrayAccess &$implement, array|\ArrayAccess &$use, array|\ArrayAccess &$contribute, array|\ArrayAccess &$seek, array|\ArrayAccess &$provide, array|\ArrayAccess &$pull, array|\ArrayAccess &$internal,)
Definition: FileUpload.php:41
Collection of pre-processors contributed by components via the bootstrap $contribute/$seek mechanism.
The Filesystems interface defines the access methods which can be used to fetch the different filesys...
Definition: Filesystems.php:30
Interface GlobalHttpState.
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.