ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilMMAbstractItemFacade Class Reference

Class ilMMAbstractItemFacade. More...

+ Inheritance diagram for ilMMAbstractItemFacade:
+ Collaboration diagram for ilMMAbstractItemFacade:

Public Member Functions

 __construct (protected IdentificationInterface $identification, Main $collector)
 ilMMAbstractItemFacade constructor. More...
 
 getId ()
 
 hasStorage ()
 
 supportsRoleBasedVisibility ()
 @inheritDoc More...
 
 canBeDeactivated ()
 
 hasRoleBasedVisibility ()
 @inheritDoc More...
 
 setRoleBasedVisibility (bool $role_based_visibility)
 @inheritDoc More...
 
 getGlobalRoleIDs ()
 @inheritDoc More...
 
 setGlobalRoleIDs (array $global_role_ids)
 @inheritDoc More...
 
 isEmpty ()
 
 itemStorage ()
 
 identification ()
 
 getRawItem ()
 
 getFilteredItem ()
 
 getAmountOfChildren ()
 
 isAvailable ()
 
 isActivated ()
 @inheritDoc More...
 
 isAlwaysAvailable ()
 @inheritDoc More...
 
 getProviderNameForPresentation ()
 
 getDefaultTitle ()
 
 setDefaultTitle (string $default_title)
 
 getStatus ()
 
 getTypeForPresentation ()
 
 getParentIdentificationString ()
 
 isCustomType ()
 
 isTopItem ()
 @inheritDoc More...
 
 canHaveChildren ()
 
 isChild ()
 
 isInLostItem ()
 @inheritDoc More...
 
 setIsTopItm (bool $top_item)
 @inheritDoc More...
 
 isInterchangeable ()
 @inheritDoc More...
 
 getType ()
 FSX check if doublette @inheritDoc. More...
 
 setParent (string $parent)
 
 setPosition (int $position)
 
 setActiveStatus (bool $status)
 
 supportsCustomIcon ()
 
 getIconID ()
 
 setIconID (string $icon_id)
 @inheritDoc More...
 
 update ()
 
 create ()
 
 getTitle ()
 
 delete ()
 @inheritDoc More...
 
- Public Member Functions inherited from ilMMItemFacadeInterface
 itemStorage ()
 
 getRawItem ()
 
 getFilteredItem ()
 
 identification ()
 
 getTypeForPresentation ()
 
 getProviderNameForPresentation ()
 
 getStatus ()
 
 isAvailable ()
 
 isActivated ()
 
 canBeDeactivated ()
 
 isEditable ()
 
 isDeletable ()
 
 isAlwaysAvailable ()
 
 getDefaultTitle ()
 
 getId ()
 
 getAmountOfChildren ()
 
 hasStorage ()
 
 supportsRoleBasedVisibility ()
 
 hasRoleBasedVisibility ()
 
 getGlobalRoleIDs ()
 
 setGlobalRoleIDs (array $global_role_ids)
 
 setRoleBasedVisibility (bool $role_based_visibility)
 
 isEmpty ()
 
 isCustom ()
 
 supportsCustomIcon ()
 
 isCustomType ()
 
 getParentIdentificationString ()
 
 getType ()
 
 isTopItem ()
 
 canHaveChildren ()
 
 isChild ()
 
 isInLostItem ()
 
 getIconID ()
 
 setAction (string $action)
 
 setActiveStatus (bool $status)
 
 setDefaultTitle (string $default_title)
 
 setIconID (string $icon_id)
 
 setPosition (int $position)
 
 setParent (string $parent)
 
 setType (string $type)
 
 setIsTopItm (bool $top_item)
 
 isInterchangeable ()
 
 update ()
 
 create ()
 
 delete ()
 
 getId ()
 
 getTitle ()
 

Protected Member Functions

 deleteAssociatedTranslations ()
 deletes all translations associated with the current identification. More...
 

Protected Attributes

bool $role_based_visibility = false
 
array $global_role_ids = []
 
TypeInformation $type_information
 
ilMMItemStorage $mm_item
 
isItem $filtered_item
 
isItem $raw_item
 
string $default_title = "-"
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilMMAbstractItemFacade::__construct ( protected IdentificationInterface  $identification,
Main  $collector 
)

ilMMAbstractItemFacade constructor.

Exceptions
Throwable

Definition at line 63 of file class.ilMMAbstractItemFacade.php.

66 {
67 $this->raw_item = $collector->getSingleItemFromRaw($this->identification);
68 $this->filtered_item = $collector->getSingleItemFromFilter($this->identification);
69 $this->type_information = $collector->getTypeInformationCollection()->get($this->raw_item::class);
70 $this->mm_item = ilMMItemStorage::register($this->raw_item);
71 }
static register(isItem $item)

References identification(), and ilMMItemStorage\register().

+ Here is the call graph for this function:

Member Function Documentation

◆ canBeDeactivated()

ilMMAbstractItemFacade::canBeDeactivated ( )

Implements ilMMItemFacadeInterface.

Definition at line 91 of file class.ilMMAbstractItemFacade.php.

91 : bool
92 {
93 return !$this->raw_item->isAlwaysAvailable();
94 }

◆ canHaveChildren()

ilMMAbstractItemFacade::canHaveChildren ( )

Implements ilMMItemFacadeInterface.

Definition at line 271 of file class.ilMMAbstractItemFacade.php.

271 : bool
272 {
273 return $this->raw_item instanceof isParent;
274 }

◆ create()

ilMMAbstractItemFacade::create ( )

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMNullItemFacade.

Definition at line 364 of file class.ilMMAbstractItemFacade.php.

364 : void
365 {
367 $this->mm_item->create();
368 ilMMItemStorage::register($this->raw_item);
369 }
static storeDefaultTranslation(IdentificationInterface $identification, string $translation)

References identification(), ilMMItemStorage\register(), and ilMMItemTranslationStorage\storeDefaultTranslation().

+ Here is the call graph for this function:

◆ delete()

ilMMAbstractItemFacade::delete ( )

@inheritDoc

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMCustomItemFacade.

Definition at line 396 of file class.ilMMAbstractItemFacade.php.

396 : void
397 {
398 if ($this->isDeletable()) {
400 $serialize = $this->identification->serialize();
401 $mm = ilMMItemStorage::find($serialize);
402 if ($mm instanceof ilMMItemStorage) {
403 $mm->delete();
404 }
405 }
406 }
deleteAssociatedTranslations()
deletes all translations associated with the current identification.
Class ilMMItemStorage.

References deleteAssociatedTranslations(), identification(), and ilMMItemFacadeInterface\isDeletable().

+ Here is the call graph for this function:

◆ deleteAssociatedTranslations()

ilMMAbstractItemFacade::deleteAssociatedTranslations ( )
protected

deletes all translations associated with the current identification.

Exceptions
Exception

Definition at line 375 of file class.ilMMAbstractItemFacade.php.

375 : void
376 {
378 'identification' => $this->identification->serialize(),
379 ], '=')->get();
380
381 foreach ($ts as $translation) {
382 if ($translation instanceof ilMMItemTranslationStorage) {
383 $translation->delete();
384 }
385 }
386 }
static where($where, $operator=null)
Class ilMMItemTranslationStorage.

References identification(), and ActiveRecord\where().

Referenced by delete().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAmountOfChildren()

ilMMAbstractItemFacade::getAmountOfChildren ( )

Implements ilMMItemFacadeInterface.

Definition at line 152 of file class.ilMMAbstractItemFacade.php.

152 : int
153 {
154 if ($this->filtered_item instanceof isParent || $this->filtered_item instanceof isTopItem) {
155 return $this->filtered_item->getAmountOfChildren();
156 }
157
158 return 0;
159 }

◆ getDefaultTitle()

ilMMAbstractItemFacade::getDefaultTitle ( )

Implements ilMMItemFacadeInterface.

Definition at line 193 of file class.ilMMAbstractItemFacade.php.

193 : string
194 {
195 $default_translation = ilMMItemTranslationStorage::getDefaultTranslation($this->identification);
196 if ($default_translation !== "") {
197 return $default_translation;
198 }
199 if ($this->default_title === "-" && $this->raw_item instanceof hasTitle) {
200 $this->default_title = $this->raw_item->getTitle();
201 }
202
204 }

References $default_title, and identification().

Referenced by getTitle().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFilteredItem()

ilMMAbstractItemFacade::getFilteredItem ( )

Implements ilMMItemFacadeInterface.

Definition at line 147 of file class.ilMMAbstractItemFacade.php.

References $filtered_item.

Referenced by getParentIdentificationString(), and isChild().

+ Here is the caller graph for this function:

◆ getGlobalRoleIDs()

ilMMAbstractItemFacade::getGlobalRoleIDs ( )

@inheritDoc

Implements ilMMItemFacadeInterface.

Definition at line 115 of file class.ilMMAbstractItemFacade.php.

115 : array
116 {
118 }

References $global_role_ids.

◆ getIconID()

ilMMAbstractItemFacade::getIconID ( )

Implements ilMMItemFacadeInterface.

Definition at line 343 of file class.ilMMAbstractItemFacade.php.

343 : ?string
344 {
345 return $this->mm_item->getIconId();
346 }

◆ getId()

ilMMAbstractItemFacade::getId ( )

Implements ilMMItemFacadeInterface.

Definition at line 73 of file class.ilMMAbstractItemFacade.php.

73 : string
74 {
75 return $this->identification->serialize();
76 }

References identification().

Referenced by hasStorage().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getParentIdentificationString()

ilMMAbstractItemFacade::getParentIdentificationString ( )

Implements ilMMItemFacadeInterface.

Definition at line 232 of file class.ilMMAbstractItemFacade.php.

232 : string
233 {
234 if ($this->getFilteredItem() instanceof isChild || $this->getFilteredItem() instanceof isInterchangeableItem) {
235 $provider_name_for_presentation = $this->raw_item->getParent()->serialize();
236
237 $storage_parent = $this->mm_item->getParentIdentification();
238 if ($storage_parent !== $provider_name_for_presentation) {
239 return $storage_parent;
240 }
241
242 return $provider_name_for_presentation;
243 }
244
245 return "";
246 }

References getFilteredItem().

+ Here is the call graph for this function:

◆ getProviderNameForPresentation()

ilMMAbstractItemFacade::getProviderNameForPresentation ( )

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMCustomItemFacade, and ilMMNullItemFacade.

Definition at line 188 of file class.ilMMAbstractItemFacade.php.

188 : string
189 {
190 return $this->identification->getProviderNameForPresentation();
191 }

References identification().

+ Here is the call graph for this function:

◆ getRawItem()

ilMMAbstractItemFacade::getRawItem ( )

Implements ilMMItemFacadeInterface.

Definition at line 143 of file class.ilMMAbstractItemFacade.php.

143 : isItem
144 {
145 return $this->raw_item;
146 }

References $raw_item.

Referenced by isActivated(), and isAlwaysAvailable().

+ Here is the caller graph for this function:

◆ getStatus()

ilMMAbstractItemFacade::getStatus ( )

Implements ilMMItemFacadeInterface.

Definition at line 211 of file class.ilMMAbstractItemFacade.php.

211 : ?Content
212 {
213 $non_available_reason = $this->raw_item->getNonAvailableReason();
214 if (!$this->raw_item->isAvailable()) {
215 return $non_available_reason;
216 }
217 if ($this->raw_item->isAlwaysAvailable()) {
218 return $non_available_reason;
219 }
220
221 return null;
222 }

◆ getTitle()

ilMMAbstractItemFacade::getTitle ( )

Implements ILIAS\GlobalScreen\GUI\I18n\MultiLanguage\TranslatableItem.

Definition at line 388 of file class.ilMMAbstractItemFacade.php.

388 : string
389 {
390 return $this->getDefaultTitle();
391 }

References getDefaultTitle().

+ Here is the call graph for this function:

◆ getType()

ilMMAbstractItemFacade::getType ( )

FSX check if doublette @inheritDoc.

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMCustomItemFacade.

Definition at line 315 of file class.ilMMAbstractItemFacade.php.

315 : string
316 {
317 return $this->type_information->getType();
318 }

◆ getTypeForPresentation()

ilMMAbstractItemFacade::getTypeForPresentation ( )
Exceptions
ReflectionException

Implements ilMMItemFacadeInterface.

Definition at line 227 of file class.ilMMAbstractItemFacade.php.

227 : string
228 {
229 return $this->type_information->getTypeNameForPresentation();
230 }

◆ hasRoleBasedVisibility()

ilMMAbstractItemFacade::hasRoleBasedVisibility ( )

@inheritDoc

Implements ilMMItemFacadeInterface.

Definition at line 99 of file class.ilMMAbstractItemFacade.php.

99 : bool
100 {
102 }

References $role_based_visibility.

◆ hasStorage()

ilMMAbstractItemFacade::hasStorage ( )

Implements ilMMItemFacadeInterface.

Definition at line 78 of file class.ilMMAbstractItemFacade.php.

78 : bool
79 {
80 return ilMMItemStorage::find($this->getId()) !== null;
81 }

References getId().

+ Here is the call graph for this function:

◆ identification()

ilMMAbstractItemFacade::identification ( )

Implements ilMMItemFacadeInterface.

Definition at line 138 of file class.ilMMAbstractItemFacade.php.

139 {
140 return $this->identification;
141 }

Referenced by __construct(), create(), delete(), deleteAssociatedTranslations(), getDefaultTitle(), getId(), getProviderNameForPresentation(), update(), and ilMMCustomItemFacade\update().

+ Here is the caller graph for this function:

◆ isActivated()

ilMMAbstractItemFacade::isActivated ( )

@inheritDoc

Implements ilMMItemFacadeInterface.

Definition at line 172 of file class.ilMMAbstractItemFacade.php.

172 : bool
173 {
174 if ($this->mm_item->isActive() && $this->getRawItem()->isAvailable()) {
175 return true;
176 }
177 return $this->getRawItem()->isAlwaysAvailable();
178 }

References getRawItem().

+ Here is the call graph for this function:

◆ isAlwaysAvailable()

ilMMAbstractItemFacade::isAlwaysAvailable ( )

@inheritDoc

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMNullItemFacade.

Definition at line 183 of file class.ilMMAbstractItemFacade.php.

183 : bool
184 {
185 return $this->getRawItem()->isAlwaysAvailable();
186 }

References getRawItem().

+ Here is the call graph for this function:

◆ isAvailable()

ilMMAbstractItemFacade::isAvailable ( )

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMNullItemFacade.

Definition at line 161 of file class.ilMMAbstractItemFacade.php.

161 : bool
162 {
163 if ($this->filtered_item->isAvailable()) {
164 return true;
165 }
166 return $this->filtered_item->isAlwaysAvailable();
167 }

◆ isChild()

ilMMAbstractItemFacade::isChild ( )

Implements ilMMItemFacadeInterface.

Definition at line 276 of file class.ilMMAbstractItemFacade.php.

276 : bool
277 {
278 $item = $this->getFilteredItem();
279 return $item instanceof isChild
280 || ($item instanceof isInterchangeableItem && $item->hasChanged());
281 }

References getFilteredItem(), and ILIAS\GlobalScreen\Scope\MainMenu\Factory\isInterchangeableItem\hasChanged().

+ Here is the call graph for this function:

◆ isCustomType()

ilMMAbstractItemFacade::isCustomType ( )

Implements ilMMItemFacadeInterface.

Definition at line 248 of file class.ilMMAbstractItemFacade.php.

248 : bool
249 {
250 $known_core_types = [
251 Complex::class,
252 Link::class,
253 LinkList::class,
254 Lost::class,
255 RepositoryLink::class,
256 Separator::class,
257 TopLinkItem::class,
258 TopParentItem::class,
259 ];
260 return !in_array($this->raw_item::class, $known_core_types, true);
261 }

◆ isEmpty()

ilMMAbstractItemFacade::isEmpty ( )

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMNullItemFacade.

Definition at line 128 of file class.ilMMAbstractItemFacade.php.

128 : bool
129 {
130 return $this->mm_item->getIdentification() === '';
131 }

◆ isInLostItem()

ilMMAbstractItemFacade::isInLostItem ( )

@inheritDoc

Implements ilMMItemFacadeInterface.

Definition at line 286 of file class.ilMMAbstractItemFacade.php.

286 : bool
287 {
288 if ($this->raw_item instanceof isChild) {
289 return $this->raw_item->getParent() instanceof NullIdentification;
290 }
291
292 return false;
293 }

◆ isInterchangeable()

ilMMAbstractItemFacade::isInterchangeable ( )

@inheritDoc

Implements ilMMItemFacadeInterface.

Definition at line 306 of file class.ilMMAbstractItemFacade.php.

306 : bool
307 {
308 return $this->raw_item instanceof isInterchangeableItem;
309 }

◆ isTopItem()

ilMMAbstractItemFacade::isTopItem ( )

@inheritDoc

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMCustomItemFacade, and ilMMNullItemFacade.

Definition at line 266 of file class.ilMMAbstractItemFacade.php.

266 : bool
267 {
268 return $this->raw_item instanceof isTopItem;
269 }

References isTopItem().

Referenced by isTopItem().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ itemStorage()

ilMMAbstractItemFacade::itemStorage ( )

Implements ilMMItemFacadeInterface.

Definition at line 133 of file class.ilMMAbstractItemFacade.php.

134 {
135 return $this->mm_item;
136 }

References $mm_item.

◆ setActiveStatus()

ilMMAbstractItemFacade::setActiveStatus ( bool  $status)

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMNullItemFacade.

Definition at line 333 of file class.ilMMAbstractItemFacade.php.

333 : void
334 {
335 $this->mm_item->setActive($status);
336 }

◆ setDefaultTitle()

ilMMAbstractItemFacade::setDefaultTitle ( string  $default_title)

Implements ilMMItemFacadeInterface.

Definition at line 206 of file class.ilMMAbstractItemFacade.php.

206 : void
207 {
208 $this->default_title = $default_title;
209 }

References $default_title.

◆ setGlobalRoleIDs()

ilMMAbstractItemFacade::setGlobalRoleIDs ( array  $global_role_ids)

@inheritDoc

Implements ilMMItemFacadeInterface.

Definition at line 123 of file class.ilMMAbstractItemFacade.php.

123 : void
124 {
125 $this->global_role_ids = $global_role_ids;
126 }

References $global_role_ids.

◆ setIconID()

ilMMAbstractItemFacade::setIconID ( string  $icon_id)

@inheritDoc

Implements ilMMItemFacadeInterface.

Definition at line 351 of file class.ilMMAbstractItemFacade.php.

351 : void
352 {
353 $this->mm_item->setIconId($icon_id);
354 }

◆ setIsTopItm()

ilMMAbstractItemFacade::setIsTopItm ( bool  $top_item)

@inheritDoc

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMCustomItemFacade, and ilMMNullItemFacade.

Definition at line 298 of file class.ilMMAbstractItemFacade.php.

298 : void
299 {
300 // TODO: Implement setIsTopItm() method.
301 }

◆ setParent()

ilMMAbstractItemFacade::setParent ( string  $parent)

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMNullItemFacade.

Definition at line 320 of file class.ilMMAbstractItemFacade.php.

320 : void
321 {
322 $this->mm_item->setParentIdentification($parent);
323 }

◆ setPosition()

ilMMAbstractItemFacade::setPosition ( int  $position)

Implements ilMMItemFacadeInterface.

Definition at line 328 of file class.ilMMAbstractItemFacade.php.

328 : void
329 {
330 $this->mm_item->setPosition($position);
331 }

◆ setRoleBasedVisibility()

ilMMAbstractItemFacade::setRoleBasedVisibility ( bool  $role_based_visibility)

@inheritDoc

Implements ilMMItemFacadeInterface.

Definition at line 107 of file class.ilMMAbstractItemFacade.php.

107 : void
108 {
109 $this->role_based_visibility = $role_based_visibility;
110 }

References $role_based_visibility.

◆ supportsCustomIcon()

ilMMAbstractItemFacade::supportsCustomIcon ( )

Implements ilMMItemFacadeInterface.

Definition at line 338 of file class.ilMMAbstractItemFacade.php.

338 : bool
339 {
340 return $this->raw_item instanceof hasSymbol;
341 }

References ILIAS\GlobalScreen\Scope\MainMenu\Factory\hasSymbol().

+ Here is the call graph for this function:

◆ supportsRoleBasedVisibility()

ilMMAbstractItemFacade::supportsRoleBasedVisibility ( )

@inheritDoc

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMCustomItemFacade, and ilMMNullItemFacade.

Definition at line 86 of file class.ilMMAbstractItemFacade.php.

86 : bool
87 {
88 return false;
89 }

◆ update()

ilMMAbstractItemFacade::update ( )

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMCustomItemFacade.

Definition at line 358 of file class.ilMMAbstractItemFacade.php.

358 : void
359 {
361 $this->mm_item->update();
362 }

References identification(), and ilMMItemTranslationStorage\storeDefaultTranslation().

+ Here is the call graph for this function:

Field Documentation

◆ $default_title

string ilMMAbstractItemFacade::$default_title = "-"
protected

Definition at line 57 of file class.ilMMAbstractItemFacade.php.

Referenced by getDefaultTitle(), and setDefaultTitle().

◆ $filtered_item

isItem ilMMAbstractItemFacade::$filtered_item
protected

Definition at line 55 of file class.ilMMAbstractItemFacade.php.

Referenced by getFilteredItem().

◆ $global_role_ids

array ilMMAbstractItemFacade::$global_role_ids = []
protected

Definition at line 50 of file class.ilMMAbstractItemFacade.php.

Referenced by getGlobalRoleIDs(), and setGlobalRoleIDs().

◆ $mm_item

ilMMItemStorage ilMMAbstractItemFacade::$mm_item
protected

Definition at line 54 of file class.ilMMAbstractItemFacade.php.

Referenced by itemStorage().

◆ $raw_item

isItem ilMMAbstractItemFacade::$raw_item
protected

Definition at line 56 of file class.ilMMAbstractItemFacade.php.

Referenced by getRawItem().

◆ $role_based_visibility

bool ilMMAbstractItemFacade::$role_based_visibility = false
protected

◆ $type_information

TypeInformation ilMMAbstractItemFacade::$type_information
protected

Definition at line 52 of file class.ilMMAbstractItemFacade.php.


The documentation for this class was generated from the following file: