ILIAS  trunk Revision v11.0_alpha-1866-gfa368f7776e
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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)
 Publish a resource. More...
 
 unpublish (ResourceIdentification $rid)
 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)
 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)
 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.

References ILIAS\ResourceStorage\Manager\BaseManager\getResource(), and ILIAS\ResourceStorage\Manager\ContainerManager\normalizePath().

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  }
normalizePath(string $path_inside_container)
$container
Definition: wac.php:36
getResource(ResourceIdentification $i)
+ Here is the call graph for this function:

◆ addUploadToContainer()

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

Definition at line 96 of file ContainerManager.php.

References ILIAS\ResourceStorage\Manager\BaseManager\getResource(), and ILIAS\ResourceStorage\Manager\ContainerManager\normalizePath().

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  }
normalizePath(string $path_inside_container)
$container
Definition: wac.php:36
getResource(ResourceIdentification $i)
+ Here is the call graph for this function:

◆ containerFromStream()

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

Definition at line 53 of file ContainerManager.php.

References ILIAS\ResourceStorage\Manager\BaseManager\checkZIP(), ILIAS\ResourceStorage\Resource\CONTAINER, and ILIAS\ResourceStorage\Manager\BaseManager\newStreamBased().

57  : ResourceIdentification {
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
+ Here is the call graph for this function:

◆ containerFromUpload()

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

Definition at line 42 of file ContainerManager.php.

References ILIAS\ResourceStorage\Manager\BaseManager\checkZIP(), ILIAS\FileUpload\DTO\UploadResult\getMimeType(), and ILIAS\ResourceStorage\Manager\Manager\upload().

46  : ResourceIdentification {
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)
Creates a new resource from an upload, the status in this case is always PUBLISHED.
Definition: Manager.php:38
+ Here is the call graph for this function:

◆ createDirectoryInsideContainer()

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

Definition at line 69 of file ContainerManager.php.

References ILIAS\ResourceStorage\Manager\BaseManager\getResource(), and ILIAS\ResourceStorage\Manager\ContainerManager\normalizePath().

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(string $path_inside_container)
$container
Definition: wac.php:36
getResource(ResourceIdentification $i)
+ Here is the call graph for this function:

◆ normalizePath()

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

Definition at line 34 of file ContainerManager.php.

Referenced by ILIAS\ResourceStorage\Manager\ContainerManager\addStreamToContainer(), ILIAS\ResourceStorage\Manager\ContainerManager\addUploadToContainer(), and ILIAS\ResourceStorage\Manager\ContainerManager\createDirectoryInsideContainer().

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  }
+ Here is the caller graph for this function:

◆ removePathInsideContainer()

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

Definition at line 83 of file ContainerManager.php.

References ILIAS\ResourceStorage\Manager\BaseManager\getResource().

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  }
$container
Definition: wac.php:36
getResource(ResourceIdentification $i)
+ Here is the call graph for this function:

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