19 declare(strict_types=1);
36 protected \ILIAS\FileUpload\FileUpload
$upload;
37 protected \ILIAS\ResourceStorage\Services
$irss;
44 $this->irss = $DIC->resourceStorage();
45 $this->
upload = $DIC->upload();
51 return $this->irss->collection()->id();
62 $new_collection = $this->irss->collection()->get($new_id);
63 $this->irss->collection()->store($new_collection);
64 return $new_id->serialize();
69 return $this->irss->collection()->get($this->irss->collection()->id($rcid));
76 $id = $this->irss->collection()->id($rcid);
77 $this->irss->collection()->remove(
$id, $stakeholder,
true);
85 $collection = $this->irss->collection()->get($this->irss->collection()->id($rcid));
86 foreach ($collection->getResourceIdentifications() as $rid) {
87 $info = $this->irss->manage()->getResource($rid)
88 ->getCurrentRevision()
90 $stream = $this->irss->consume()->stream($rid);
91 $stream->getContents();
102 if (is_array($file_input)) {
103 if (!$upload->hasBeenProcessed()) {
106 foreach ($upload->getResults() as $name => $result) {
108 if (!in_array($name, $file_input[
"tmp_name"] ?? [],
true)) {
112 if (!$result->isOK()) {
117 $rid = $this->irss->manage()->upload(
122 $collection->
add($rid);
125 $this->irss->collection()->store($collection);
138 if (!$sourceFS->hasDir($sourceDir)) {
142 $sourceList = $sourceFS->listContents($sourceDir,
false);
144 foreach ($sourceList as $item) {
145 if ($item->isDir()) {
149 $stream = $sourceFS->readStream($item->getPath());
150 $rid = $this->irss->manage()->stream(
154 $collection->
add($rid);
158 $this->irss->collection()->store($collection);
163 return $this->irss->manage()->find($rid);
172 if (is_array($file_input)) {
173 if (!$upload->hasBeenProcessed()) {
176 foreach ($upload->getResults() as $name => $result) {
178 if ($name !== ($file_input[
"tmp_name"] ??
"")) {
182 if (!$result->isOK()) {
187 $rid = $this->irss->manage()->upload(
191 return $rid->serialize();
202 if (!$result->
isOK()) {
207 $rid = $this->irss->manage()->upload(
211 return $rid->serialize();
218 $this->irss->consume()->download(
$id)->run();
226 return $this->irss->consume()->stream(
$id)->getStream();
235 $info = $this->irss->manage()->getResource($rid)
236 ->getCurrentRevision()
238 $src = $this->irss->consume()->src($rid)->getSrc();
239 yield $this->data->resourceInformation(
243 $info->getCreationDate()->getTimestamp(),
244 $info->getMimeType(),
253 if ($from_rc_id !==
"") {
254 $cloned_rcid = $this->irss->collection()->clone($this->irss->collection()->id($from_rc_id));
255 return $cloned_rcid->serialize();
263 if ($from_rid !==
"") {
265 return $cloned_rid->serialize();
286 $entry_parts = explode(
"/", $entry);
287 $zip_path = $this->
stream($rid)->getMetadata(
"uri");
293 $feedback_rid = $this->irss->manage()->stream(
298 $target_collection->
add($feedback_rid);
299 $this->irss->collection()->store($target_collection);
static createRelativePath(string $absolute_path)
Creates a relative path from an absolute path which starts with a valid storage location.
getResourceIdentifications()
Class ChatMainBarProvider .
static ofFileInsideZIP(string $path_to_zip, string $path_inside_zip)
Class ResourceCollectionIdentification.
Class ResourceCollection.
Class ResourceIdentification.
add(ResourceIdentification $identification)
Internal factory for data objects.
static deriveFilesystemFrom(string $absolute_path)
Tries to fetch the filesystem responsible for the absolute path.
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Interface ResourceStakeholder.
The base interface for all filesystem streams.