19 declare(strict_types=1);
68 $this->raw_item = $collector->getSingleItemFromRaw($this->
identification);
69 $this->filtered_item = $collector->getSingleItemFromFilter($this->
identification);
70 $this->type_information = $collector->getTypeInformationCollection()->get($this->raw_item::class);
84 return ilMMItemStorage::find($this->
getId()) !==
null;
132 return $this->mm_item->getIdentification() ===
'';
148 return $this->identification;
162 if ($this->filtered_item instanceof
isParent) {
163 return count($this->filtered_item->getChildren());
171 if ($this->filtered_item->isAvailable()) {
174 return $this->filtered_item->isAlwaysAvailable();
182 if ($this->mm_item->isActive() && $this->
getRawItem()->isAvailable()) {
185 return $this->
getRawItem()->isAlwaysAvailable();
193 return $this->
getRawItem()->isAlwaysAvailable();
209 $default_translation = ilMMItemTranslationStorage::getDefaultTranslation($this->
identification);
210 if ($default_translation !==
"") {
211 return $default_translation;
213 if ($this->default_title ===
"-" && $this->raw_item instanceof
hasTitle) {
214 $this->default_title = $this->raw_item->getTitle();
234 if (!$this->raw_item->isAvailable() || $this->raw_item->isAlwaysAvailable()) {
235 return $DIC->ui()->renderer()->render($this->raw_item->getNonAvailableReason());
247 return $this->type_information->getTypeNameForPresentation();
253 $provider_name_for_presentation = $this->raw_item->getParent()->serialize();
255 $storage_parent = $this->mm_item->getParentIdentification();
256 if ($storage_parent !== $provider_name_for_presentation) {
257 return $storage_parent;
260 return $provider_name_for_presentation;
271 $known_core_types = [
276 RepositoryLink::class,
279 TopParentItem::class,
281 return !in_array($this->raw_item::class, $known_core_types,
true);
289 return $this->raw_item instanceof
isTopItem;
295 return $item instanceof
isChild 304 if ($this->raw_item instanceof
isChild) {
333 return $this->type_information->getType();
341 $this->mm_item->setParentIdentification($parent);
349 $this->mm_item->setPosition($position);
357 $this->mm_item->setActive($status);
362 return $this->raw_item instanceof
hasSymbol;
367 return $this->mm_item->getIconId();
375 $this->mm_item->setIconId($icon_id);
383 $this->mm_item->update();
389 $this->mm_item->create();
404 foreach ($ts as $translation) {
406 $translation->delete();
415 public function delete():
void 420 $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
__construct(protected IdentificationInterface $identification, Main $collector)
ilMMAbstractItemFacade constructor.
static where($where, $operator=null)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
static register(isItem $item)
bool $role_based_visibility
supportsRoleBasedVisibility()
setPosition(int $position)
setIconID(string $icon_id)
setGlobalRoleIDs(array $global_role_ids)
getParentIdentificationString()
getType()
FSX check if doublette .
setActiveStatus(bool $status)
setIsTopItm(bool $top_item)
setParent(string $parent)
Interface ilMMItemFacadeInterface.
setDefaultTitle(string $default_title)
Class ilMMItemTranslationStorage.