ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\ResourceStorage\Manager\ContainerManager Class Reference
+ Inheritance diagram for ILIAS\ResourceStorage\Manager\ContainerManager:
+ Collaboration diagram for ILIAS\ResourceStorage\Manager\ContainerManager:

Public Member Functions

 containerFromUpload (UploadResult $result, ResourceStakeholder $stakeholder, ?string $revision_title=null)
 
 containerFromStream (FileStream $stream, ResourceStakeholder $stakeholder, ?string $revision_title=null)
 
 createDirectoryInsideContainer (ResourceIdentification $container, string $path_inside_container)
 
 removePathInsideContainer (ResourceIdentification $container, string $path_inside_container)
 
 addUploadToContainer (ResourceIdentification $container, UploadResult $result, string $parent_path_inside_container,)
 
 addStreamToContainer (ResourceIdentification $container, FileStream $stream, string $path_inside_container,)
 
- Public Member Functions inherited from ILIAS\ResourceStorage\Manager\BaseManager
 __construct (protected ResourceBuilder $resource_builder, protected CollectionBuilder $collection_builder, protected RepositoryPreloader $preloader)
 Manager constructor. More...
 
 publish (ResourceIdentification $rid)
 @description Publish a resource. More...
 
 unpublish (ResourceIdentification $rid)
 @description Unpublish a resource. More...
 
 find (string $identification)
 
 getResource (ResourceIdentification $i)
 
 remove (ResourceIdentification $identification, ResourceStakeholder $stakeholder)
 
 clone (ResourceIdentification $identification)
 
 appendNewRevision (ResourceIdentification $identification, UploadResult $result, ResourceStakeholder $stakeholder, ?string $revision_title=null, bool $draft=false)
 @description Append a new revision from an UploadResult. More...
 
 replaceWithUpload (ResourceIdentification $identification, UploadResult $result, ResourceStakeholder $stakeholder, ?string $revision_title=null)
 
 appendNewRevisionFromStream (ResourceIdentification $identification, FileStream $stream, ResourceStakeholder $stakeholder, ?string $revision_title=null, bool $draft=false)
 @description Append a new revision from a stream. More...
 
 replaceWithStream (ResourceIdentification $identification, FileStream $stream, ResourceStakeholder $stakeholder, ?string $revision_title=null)
 
 getCurrentRevision (ResourceIdentification $identification)
 
 getCurrentRevisionIncludingDraft (ResourceIdentification $identification)
 
 updateRevision (Revision $revision)
 
 rollbackRevision (ResourceIdentification $identification, int $revision_number)
 
 removeRevision (ResourceIdentification $identification, int $revision_number)
 

Protected Member Functions

 normalizePath (string $path_inside_container)
 
- Protected Member Functions inherited from ILIAS\ResourceStorage\Manager\BaseManager
 checkZIP (bool|string $mimetype)
 
 newStreamBased (FileStream $stream, ResourceStakeholder $stakeholder, ResourceType $type, ?string $revision_title=null)
 

Detailed Description

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

Definition at line 32 of file ContainerManager.php.

Member Function Documentation

◆ addStreamToContainer()

ILIAS\ResourceStorage\Manager\ContainerManager::addStreamToContainer ( ResourceIdentification  $container,
FileStream  $stream,
string  $path_inside_container 
)

Definition at line 112 of file ContainerManager.php.

116 : bool {
117 $path_inside_container = $this->normalizePath($path_inside_container);
118 if (empty($path_inside_container)) {
119 return false;
120 }
121 return $this->resource_builder->addStreamToContainer(
122 $this->getResource($container),
123 $stream,
124 $path_inside_container
125 );
126 }
getResource(ResourceIdentification $i)
normalizePath(string $path_inside_container)

◆ addUploadToContainer()

ILIAS\ResourceStorage\Manager\ContainerManager::addUploadToContainer ( ResourceIdentification  $container,
UploadResult  $result,
string  $parent_path_inside_container 
)

Definition at line 96 of file ContainerManager.php.

100 : bool {
101 $parent_path_inside_container = $this->normalizePath($parent_path_inside_container);
102 if (empty($parent_path_inside_container)) {
103 $parent_path_inside_container = '/';
104 }
105 return $this->resource_builder->addUploadToContainer(
106 $this->getResource($container),
107 $result,
108 $parent_path_inside_container
109 );
110 }

◆ containerFromStream()

ILIAS\ResourceStorage\Manager\ContainerManager::containerFromStream ( FileStream  $stream,
ResourceStakeholder  $stakeholder,
?string  $revision_title = null 
)

Definition at line 53 of file ContainerManager.php.

58 // check if stream is a ZIP
59 $this->checkZIP(mime_content_type($stream->getMetadata()['uri']));
60
61 return $this->newStreamBased(
62 $stream,
63 $stakeholder,
65 $revision_title
66 );
67 }
newStreamBased(FileStream $stream, ResourceStakeholder $stakeholder, ResourceType $type, ?string $revision_title=null)
Definition: BaseManager.php:79

◆ containerFromUpload()

ILIAS\ResourceStorage\Manager\ContainerManager::containerFromUpload ( UploadResult  $result,
ResourceStakeholder  $stakeholder,
?string  $revision_title = null 
)

Definition at line 42 of file ContainerManager.php.

47 // check if stream is a ZIP
48 $this->checkZIP(mime_content_type($result->getMimeType()));
49
50 return $this->upload($result, $stakeholder, $revision_title);
51 }
upload(UploadResult $result, ResourceStakeholder $stakeholder, ?string $revision_title=null)
@description Creates a new resource from an upload, the status in this case is always PUBLISHED.
Definition: Manager.php:38

◆ createDirectoryInsideContainer()

ILIAS\ResourceStorage\Manager\ContainerManager::createDirectoryInsideContainer ( ResourceIdentification  $container,
string  $path_inside_container 
)

Definition at line 69 of file ContainerManager.php.

72 : bool {
73 $path_inside_container = $this->normalizePath($path_inside_container);
74 if (empty($path_inside_container)) {
75 return false;
76 }
77 return $this->resource_builder->createDirectoryInsideContainer(
78 $this->getResource($container),
79 $path_inside_container
80 );
81 }

◆ normalizePath()

ILIAS\ResourceStorage\Manager\ContainerManager::normalizePath ( string  $path_inside_container)
protected

Definition at line 34 of file ContainerManager.php.

34 : string
35 {
36 $path_inside_container = '/' . ltrim($path_inside_container, './');
37 $path_inside_container = rtrim($path_inside_container, '/');
38
39 return $path_inside_container;
40 }

◆ removePathInsideContainer()

ILIAS\ResourceStorage\Manager\ContainerManager::removePathInsideContainer ( ResourceIdentification  $container,
string  $path_inside_container 
)

Definition at line 83 of file ContainerManager.php.

86 : bool {
87 if (empty($path_inside_container)) {
88 return false;
89 }
90 return $this->resource_builder->removePathInsideContainer(
91 $this->getResource($container),
92 $path_inside_container
93 );
94 }

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