50 $this->main_collector = $DIC->globalScreen()->collector()->mainmenu();
51 $this->services = $DIC->globalScreen();
53 foreach ($this->main_collector->getStackedTopItemsForPresentation() as $top_item) {
56 foreach ($top_item->getChildren() as $child) {
65 private function sync() : bool
67 if ($this->synced ===
false || $this->synced === null) {
69 foreach ($provider->getAllIdentifications() as $identification) {
74 $this->storage->db()->manipulate(
75 "DELETE FROM il_mm_items 76 WHERE EXISTS (SELECT null FROM il_gs_identifications 77 WHERE il_gs_identifications.identification = il_mm_items.identification 78 AND il_gs_identifications.identification IS NULL)" 100 $this->storage->cache()->flush();
110 $top_items = $this->main_collector->getStackedTopItemsForPresentation();
124 return $this->main_collector->getSingleItem($identification);
143 return ilMMItemStorage::where(
" parent_identification = '' OR parent_identification IS NULL ")->orderBy(
'position')->getArray();
152 $r = $this->storage->db()->query(
153 "SELECT sub_items.*, top_items.position AS parent_position 154 FROM il_mm_items AS sub_items 155 LEFT JOIN il_mm_items AS top_items ON top_items.identification = sub_items.parent_identification 156 WHERE sub_items.parent_identification != '' ORDER BY top_items.position, parent_identification, sub_items.position ASC" 159 while (
$data = $this->storage->db()->fetchAssoc(
$r)) {
169 $item_facade = $this->
getItemFacade($this->services->identification()->fromSerializedIdentification($item[
'identification']));
170 if (Lost::class === $item_facade->getType()) {
171 $item_facade->delete();
176 $item_facade = $this->
getItemFacade($this->services->identification()->fromSerializedIdentification($item[
'identification']));
177 if (Lost::class === $item_facade->getType()) {
178 $item_facade->delete();
186 $item_facade = $this->
getItemFacade($this->services->identification()->fromSerializedIdentification($item[
'identification']));
187 if (Lost::class === $item_facade->getType()) {
193 $item_facade = $this->
getItemFacade($this->services->identification()->fromSerializedIdentification($item[
'identification']));
194 if (Lost::class === $item_facade->getType()) {
213 if ($identification->getClassName() === ilMMCustomProvider::class) {
217 return new ilMMItemFacade($identification, $this->main_collector);
229 $id = $this->services->identification()->fromSerializedIdentification($identification);
238 if (is_null($parents)) {
241 $identification = $this->services->identification()->fromSerializedIdentification($top_item_identification);
244 $parents[$top_item_identification] = $this->
getItemFacade($identification)
263 foreach ($this->main_collector->getTypeInformationCollection()->getAll() as $information) {
264 if ($information->isCreationPrevented()) {
267 if ($information->isChild()) {
268 $types[$information->getType()] = $information->getTypeNameForPresentation();
282 foreach ($this->main_collector->getTypeInformationCollection()->getAll() as $information) {
283 if ($information->isCreationPrevented()) {
286 if ($information->isChild()) {
287 $types[$information->getType()] = $information;
303 foreach ($this->main_collector->getTypeInformationCollection()->getAll() as $information) {
304 if ($information->isTop()) {
305 $types[$information->getType()] = $information->getTypeNameForPresentation();
319 foreach ($this->main_collector->getTypeInformationCollection()->getAll() as $information) {
320 if ($information->isTop()) {
321 $types[$information->getType()] = $information;
340 return $this->main_collector->getHandlerForItem($item);
351 $this->storage->cache()->flush();
362 $this->storage->cache()->flush();
373 $this->storage->cache()->flush();
getItemFacadeForIdentificationString(string $identification)
getEmptyItemForTypeString(string $class_name)
deleteItem(ilMMItemFacadeInterface $item_facade)
static getAllGlobalScreenProviders()
Class ilMMNullItemFacade.
Interface IdentificationInterface.
getPossibleParentsForFormAndTable()
Class NullIdentification.
if(!array_key_exists('StateId', $_REQUEST)) $id
getTypeHandlerForType(string $type)
static where($where, $operator=null)
Class ilMMItemRepository.
getPossibleTopItemTypesForForm()
updateItem(ilMMItemFacadeInterface $item_facade)
static register(isItem $item)
getPossibleSubItemTypesWithInformation()
getPossibleSubItemTypesForForm()
__construct()
ilMMItemRepository constructor.
getPossibleTopItemTypesWithInformation()
static registerIdentification(\ILIAS\GlobalScreen\Identification\IdentificationInterface $identification, \ILIAS\GlobalScreen\Provider\Provider $provider)
Class ilMMCustomItemFacade.
createItem(ilMMItemFacadeInterface $item_facade)
getStackedTopItemsForPresentation()
getItemFacade(IdentificationInterface $identification=null)
Class NullPluginIdentification.
Interface ilMMItemFacadeInterface.
getSingleItem(IdentificationInterface $identification)