70 $this->raw_item = $collector->getSingleItemFromRaw($identification);
71 $this->filtered_item = $collector->getSingleItemFromFilter($identification);
72 $this->type_information = $collector->getTypeInformationCollection()->get(get_class($this->raw_item));
76 public function getId() : string
134 return $this->mm_item->getIdentification() ==
'';
165 if ($this->filtered_item instanceof
isParent) {
166 return count($this->filtered_item->getChildren());
174 return (
bool) ($this->filtered_item->isAvailable() || $this->filtered_item->isAlwaysAvailable());
182 return (
bool) ($this->mm_item->isActive() && $this->
getRawItem()->isAvailable()) || $this->
getRawItem()->isAlwaysAvailable();
190 return $this->
getRawItem()->isAlwaysAvailable();
206 $default_translation = ilMMItemTranslationStorage::getDefaultTranslation($this->
identification);
207 if ($default_translation !==
"") {
208 return $default_translation;
210 if ($this->default_title ==
"-" && $this->raw_item instanceof \
ILIAS\GlobalScreen\Scope\MainMenu\Factory\hasTitle) {
211 $this->default_title = $this->raw_item->getTitle();
231 if (!$this->raw_item->isAvailable() || $this->raw_item->isAlwaysAvailable()) {
232 return $DIC->ui()->renderer()->render($this->raw_item->getNonAvailableReason());
244 return $this->type_information->getTypeNameForPresentation();
249 if ($this->raw_item instanceof
isChild) {
250 $provider_name_for_presentation = $this->raw_item->getParent()->serialize();
252 $storage_parent = $this->mm_item->getParentIdentification();
253 if ($storage_parent !== $provider_name_for_presentation) {
254 return $storage_parent;
257 return $provider_name_for_presentation;
268 $known_core_types = [
273 RepositoryLink::class,
276 TopParentItem::class,
278 foreach ($known_core_types as $known_core_type) {
279 if (get_class($this->raw_item) === $known_core_type) {
292 return $this->raw_item instanceof
isTopItem;
305 if ($this->raw_item instanceof
isChild) {
334 return $this->type_information->getType();
342 $this->mm_item->setParentIdentification($parent);
350 $this->mm_item->setPosition($position);
358 $this->mm_item->setActive($status);
363 return $this->raw_item instanceof
hasSymbol;
368 return $this->mm_item->getIconId();
376 $this->mm_item->setIconId($icon_id);
384 $this->mm_item->update();
390 $this->mm_item->create();
405 foreach ($ts as $translation) {
407 $translation->delete();
416 public function delete()
deleteAssociatedTranslations()
deletes all translations associated with the current identification.
getProviderNameForPresentation()
Class ilMMAbstractItemFacade.
static find($primary_key, array $add_constructor_args=array())
Class ChatMainBarProvider .
__construct(\ILIAS\GlobalScreen\Identification\IdentificationInterface $identification, Main $collector)
ilMMAbstractItemFacade constructor.
Class NullIdentification.
static storeDefaultTranslation(IdentificationInterface $identification, string $translation)
setRoleBasedVisibility(bool $role_based_visibility)
static where($where, $operator=null)
static register(isItem $item)
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.