3 declare(strict_types=1);
55 $this->raw_item = $collector->getSingleItemFromRaw($identification);
56 $this->filtered_item = $collector->getSingleItemFromFilter($identification);
57 $this->type_information = $collector->getTypeInformationCollection()->get(get_class($this->raw_item));
71 return ilMMItemStorage::find($this->
getId()) !== null;
119 return $this->mm_item->getIdentification() ==
'';
149 if ($this->filtered_item instanceof
isParent) {
150 return count($this->filtered_item->getChildren());
158 return $this->filtered_item->isAvailable() || $this->filtered_item->isAlwaysAvailable();
166 return $this->mm_item->isActive() && $this->
getRawItem()->isAvailable() || $this->
getRawItem()->isAlwaysAvailable();
174 return $this->
getRawItem()->isAlwaysAvailable();
190 $default_translation = ilMMItemTranslationStorage::getDefaultTranslation($this->
identification);
191 if ($default_translation !==
"") {
192 return $default_translation;
194 if ($this->default_title ==
"-" && $this->raw_item instanceof
hasTitle) {
195 $this->default_title = $this->raw_item->getTitle();
215 if (!$this->raw_item->isAvailable() || $this->raw_item->isAlwaysAvailable()) {
216 return $DIC->ui()->renderer()->render($this->raw_item->getNonAvailableReason());
228 return $this->type_information->getTypeNameForPresentation();
234 $provider_name_for_presentation = $this->raw_item->getParent()->serialize();
236 $storage_parent = $this->mm_item->getParentIdentification();
237 if ($storage_parent !== $provider_name_for_presentation) {
238 return $storage_parent;
241 return $provider_name_for_presentation;
252 $known_core_types = [
257 RepositoryLink::class,
260 TopParentItem::class,
262 foreach ($known_core_types as $known_core_type) {
263 if (get_class($this->raw_item) === $known_core_type) {
276 return $this->raw_item instanceof
isTopItem;
282 return $item instanceof
isChild 291 if ($this->raw_item instanceof
isChild) {
320 return $this->type_information->getType();
328 $this->mm_item->setParentIdentification($parent);
336 $this->mm_item->setPosition($position);
344 $this->mm_item->setActive($status);
349 return $this->raw_item instanceof
hasSymbol;
354 return $this->mm_item->getIconId();
362 $this->mm_item->setIconId($icon_id);
370 $this->mm_item->update();
376 $this->mm_item->create();
391 foreach ($ts as $translation) {
393 $translation->delete();
402 public function delete():
void 407 $mm = ilMMItemStorage::find($serialize);
deleteAssociatedTranslations()
deletes all translations associated with the current identification.
getProviderNameForPresentation()
Class ilMMAbstractItemFacade.
Interface IdentificationInterface.
Class NullIdentification.
static storeDefaultTranslation(IdentificationInterface $identification, string $translation)
setRoleBasedVisibility(bool $role_based_visibility)
TypeInformation $type_information
static where($where, $operator=null)
IdentificationInterface $identification
static register(isItem $item)
bool $role_based_visibility
supportsRoleBasedVisibility()
setPosition(int $position)
setIconID(string $icon_id)
setGlobalRoleIDs(array $global_role_ids)
__construct(IdentificationInterface $identification, Main $collector)
ilMMAbstractItemFacade constructor.
getParentIdentificationString()
getType()
FSX check if doublette .
setActiveStatus(bool $status)
setIsTopItm(bool $top_item)
setParent(string $parent)
Interface ilMMItemFacadeInterface.
setDefaultTitle(string $default_title)
Class ilMMItemTranslationStorage.