ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.ilLPCollectionOfMediaObjects.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=0);
26{
27 protected static array $possible_items = array();
28
29 public function getPossibleItems(): array
30 {
31 if (!isset(self::$possible_items[$this->obj_id])) {
32 $items = array();
33
34 $cast = new ilObjMediaCast($this->obj_id, false);
35
36 foreach ($cast->getSortedItemsArray() as $item) {
37 $items[$item["mob_id"]] = array("title" => $item["title"]);
38 }
39 self::$possible_items[$this->obj_id] = $items;
40 }
41 return self::$possible_items[$this->obj_id];
42 }
43
44 public function getTableGUIData(int $a_parent_ref_id): array
45 {
46 $data = array();
47
48 foreach ($this->getPossibleItems() as $mob_id => $item) {
49 $tmp = array();
50 $tmp['id'] = $mob_id;
51 $tmp['ref_id'] = 0;
52 $tmp['type'] = 'mob';
53 $tmp['title'] = $item['title'];
54 $tmp['status'] = $this->isAssignedEntry($mob_id);
55
56 $data[] = $tmp;
57 }
58
59 return $data;
60 }
61
68 public function cloneCollection(int $a_target_id, int $a_copy_id, ?array $mob_mapping = null): void
69 {
70 $target_obj_id = ilObject::_lookupObjId($a_target_id);
71 $new_collection = new static($target_obj_id, $this->mode);
72 $possible_items = $new_collection->getPossibleItems();
73 foreach ($this->items as $item_id) {
74 if (isset($mob_mapping[$item_id]) && isset($possible_items[$mob_mapping[$item_id]])) {
75 $new_collection->addEntry($mob_mapping[$item_id]);
76 }
77 }
78 }
79}
cloneCollection(int $a_target_id, int $a_copy_id, ?array $mob_mapping=null)
Scorm items are not copied, they are newly created by reading the manifest.
LP collection base class.
isAssignedEntry(int $a_item_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _lookupObjId(int $ref_id)