ILIAS  release_8 Revision v8.24
ilMMAbstractItemFacade Class Reference

Class ilMMAbstractItemFacade. More...

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

Public Member Functions

 __construct (IdentificationInterface $identification, Main $collector)
 ilMMAbstractItemFacade constructor. More...
 
 getId ()
 
 hasStorage ()
 
 supportsRoleBasedVisibility ()
 @inheritDoc More...
 
 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...
 
 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)
 
Parameters
int$position
More...
 
 setActiveStatus (bool $status)
 
 supportsCustomIcon ()
 
 getIconID ()
 
 setIconID (string $icon_id)
 @inheritDoc More...
 
 update ()
 
 create ()
 
 delete ()
 @inheritDoc More...
 
- Public Member Functions inherited from ilMMItemFacadeInterface
 itemStorage ()
 
 getRawItem ()
 
 getFilteredItem ()
 
 identification ()
 
 getTypeForPresentation ()
 
 getProviderNameForPresentation ()
 
 getStatus ()
 
 isAvailable ()
 
 isActivated ()
 
 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 ()
 
 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 ()
 

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
 
IdentificationInterface $identification
 
string $default_title = "-"
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

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

ilMMAbstractItemFacade constructor.

Parameters
IdentificationInterface$identification
Main$collector
Exceptions
Throwable

Reimplemented in ilMMCustomItemFacade, ilMMItemFacade, and ilMMNullItemFacade.

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

53 {
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));
58 $this->mm_item = ilMMItemStorage::register($this->raw_item);
59 }
IdentificationInterface $identification
static register(isItem $item)

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

+ Here is the call graph for this function:

Member Function Documentation

◆ create()

ilMMAbstractItemFacade::create ( )
Returns
void

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMNullItemFacade.

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

373 : void
374 {
376 $this->mm_item->create();
377 ilMMItemStorage::register($this->raw_item);
378 }
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 402 of file class.ilMMAbstractItemFacade.php.

402 : void
403 {
404 if ($this->isDeletable()) {
406 $serialize = $this->identification->serialize();
407 $mm = ilMMItemStorage::find($serialize);
408 if ($mm instanceof ilMMItemStorage) {
409 $mm->delete();
410 }
411 }
412 }
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 384 of file class.ilMMAbstractItemFacade.php.

384 : void
385 {
387 'identification' => $this->identification->serialize(),
388 ], '=')->get();
389
390 if (!empty($ts)) {
391 foreach ($ts as $translation) {
392 if ($translation instanceof ilMMItemTranslationStorage) {
393 $translation->delete();
394 }
395 }
396 }
397 }
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 ( )
Returns
int

Implements ilMMItemFacadeInterface.

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

147 : int
148 {
149 if ($this->filtered_item instanceof isParent) {
150 return count($this->filtered_item->getChildren());
151 }
152
153 return 0;
154 }

◆ getDefaultTitle()

ilMMAbstractItemFacade::getDefaultTitle ( )
Returns
string

Implements ilMMItemFacadeInterface.

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

188 : string
189 {
190 $default_translation = ilMMItemTranslationStorage::getDefaultTranslation($this->identification);
191 if ($default_translation !== "") {
192 return $default_translation;
193 }
194 if ($this->default_title == "-" && $this->raw_item instanceof hasTitle) {
195 $this->default_title = $this->raw_item->getTitle();
196 }
197
199 }

References $default_title, and identification().

+ Here is the call graph for this function:

◆ getFilteredItem()

ilMMAbstractItemFacade::getFilteredItem ( )

Implements ilMMItemFacadeInterface.

Definition at line 142 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 101 of file class.ilMMAbstractItemFacade.php.

101 : array
102 {
104 }

References $global_role_ids.

◆ getIconID()

ilMMAbstractItemFacade::getIconID ( )

Implements ilMMItemFacadeInterface.

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

352 : ?string
353 {
354 return $this->mm_item->getIconId();
355 }

◆ getId()

ilMMAbstractItemFacade::getId ( )
Returns
string

Implements ilMMItemFacadeInterface.

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

61 : string
62 {
63 return $this->identification->serialize();
64 }

References identification().

Referenced by hasStorage().

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

◆ getParentIdentificationString()

ilMMAbstractItemFacade::getParentIdentificationString ( )
Returns
string

Implements ilMMItemFacadeInterface.

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

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

References getFilteredItem().

+ Here is the call graph for this function:

◆ getProviderNameForPresentation()

ilMMAbstractItemFacade::getProviderNameForPresentation ( )
Returns
string

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMCustomItemFacade, and ilMMNullItemFacade.

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

180 : string
181 {
182 return $this->identification->getProviderNameForPresentation();
183 }

References identification().

+ Here is the call graph for this function:

◆ getRawItem()

ilMMAbstractItemFacade::getRawItem ( )

Implements ilMMItemFacadeInterface.

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

138 : isItem
139 {
140 return $this->raw_item;
141 }

References $raw_item.

Referenced by isActivated(), and isAlwaysAvailable().

+ Here is the caller graph for this function:

◆ getStatus()

ilMMAbstractItemFacade::getStatus ( )
Returns
string

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMCustomItemFacade.

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

212 : string
213 {
214 global $DIC;
215 if (!$this->raw_item->isAvailable() || $this->raw_item->isAlwaysAvailable()) {
216 return $DIC->ui()->renderer()->render($this->raw_item->getNonAvailableReason());
217 }
218
219 return "";
220 }
global $DIC
Definition: feed.php:28

References $DIC.

◆ getType()

ilMMAbstractItemFacade::getType ( )

FSX check if doublette @inheritDoc.

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMCustomItemFacade.

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

318 : string
319 {
320 return $this->type_information->getType();
321 }

◆ getTypeForPresentation()

ilMMAbstractItemFacade::getTypeForPresentation ( )
Returns
string
Exceptions
ReflectionException

Implements ilMMItemFacadeInterface.

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

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

◆ hasRoleBasedVisibility()

ilMMAbstractItemFacade::hasRoleBasedVisibility ( )

@inheritDoc

Implements ilMMItemFacadeInterface.

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

85 : bool
86 {
88 }

References $role_based_visibility.

◆ hasStorage()

ilMMAbstractItemFacade::hasStorage ( )
Returns
bool

Implements ilMMItemFacadeInterface.

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

69 : bool
70 {
71 return ilMMItemStorage::find($this->getId()) !== null;
72 }

References getId().

+ Here is the call graph for this function:

◆ identification()

ilMMAbstractItemFacade::identification ( )
Returns
IdentificationInterface

Implements ilMMItemFacadeInterface.

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

References $identification.

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 164 of file class.ilMMAbstractItemFacade.php.

164 : bool
165 {
166 return $this->mm_item->isActive() && $this->getRawItem()->isAvailable() || $this->getRawItem()->isAlwaysAvailable();
167 }

References getRawItem().

+ Here is the call graph for this function:

◆ isAlwaysAvailable()

ilMMAbstractItemFacade::isAlwaysAvailable ( )

@inheritDoc

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMNullItemFacade.

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

172 : bool
173 {
174 return $this->getRawItem()->isAlwaysAvailable();
175 }

References getRawItem().

+ Here is the call graph for this function:

◆ isAvailable()

ilMMAbstractItemFacade::isAvailable ( )
Returns
bool

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMNullItemFacade.

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

156 : bool
157 {
158 return $this->filtered_item->isAvailable() || $this->filtered_item->isAlwaysAvailable();
159 }

◆ isChild()

ilMMAbstractItemFacade::isChild ( )
Returns
bool

Implements ilMMItemFacadeInterface.

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

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

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

+ Here is the call graph for this function:

◆ isCustomType()

ilMMAbstractItemFacade::isCustomType ( )
Returns
bool

Implements ilMMItemFacadeInterface.

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

250 : bool
251 {
252 $known_core_types = [
253 Complex::class,
254 Link::class,
255 LinkList::class,
256 Lost::class,
257 RepositoryLink::class,
258 Separator::class,
259 TopLinkItem::class,
260 TopParentItem::class,
261 ];
262 foreach ($known_core_types as $known_core_type) {
263 if (get_class($this->raw_item) === $known_core_type) {
264 return false;
265 }
266 }
267
268 return true;
269 }

◆ isEmpty()

ilMMAbstractItemFacade::isEmpty ( )
Returns
bool

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMNullItemFacade.

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

117 : bool
118 {
119 return $this->mm_item->getIdentification() == '';
120 }

◆ isInLostItem()

ilMMAbstractItemFacade::isInLostItem ( )

@inheritDoc

Implements ilMMItemFacadeInterface.

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

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

◆ isInterchangeable()

ilMMAbstractItemFacade::isInterchangeable ( )

@inheritDoc

Implements ilMMItemFacadeInterface.

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

309 : bool
310 {
311 return $this->raw_item instanceof isInterchangeableItem;
312 }

◆ isTopItem()

ilMMAbstractItemFacade::isTopItem ( )

@inheritDoc

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMCustomItemFacade, and ilMMNullItemFacade.

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

274 : bool
275 {
276 return $this->raw_item instanceof isTopItem;
277 }

References isTopItem().

Referenced by isTopItem().

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

◆ itemStorage()

ilMMAbstractItemFacade::itemStorage ( )
Returns
ilMMItemStorage

Implements ilMMItemFacadeInterface.

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

126 {
127 return $this->mm_item;
128 }

References $mm_item.

◆ setActiveStatus()

ilMMAbstractItemFacade::setActiveStatus ( bool  $status)
Parameters
bool$status

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMNullItemFacade.

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

342 : void
343 {
344 $this->mm_item->setActive($status);
345 }

◆ setDefaultTitle()

ilMMAbstractItemFacade::setDefaultTitle ( string  $default_title)
Parameters
string$default_title

Implements ilMMItemFacadeInterface.

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

204 : void
205 {
206 $this->default_title = $default_title;
207 }

References $default_title.

◆ setGlobalRoleIDs()

ilMMAbstractItemFacade::setGlobalRoleIDs ( array  $global_role_ids)

@inheritDoc

Implements ilMMItemFacadeInterface.

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

109 : void
110 {
111 $this->global_role_ids = $global_role_ids;
112 }

References $global_role_ids.

◆ setIconID()

ilMMAbstractItemFacade::setIconID ( string  $icon_id)

@inheritDoc

Implements ilMMItemFacadeInterface.

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

360 : void
361 {
362 $this->mm_item->setIconId($icon_id);
363 }

◆ setIsTopItm()

ilMMAbstractItemFacade::setIsTopItm ( bool  $top_item)

@inheritDoc

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMCustomItemFacade, and ilMMNullItemFacade.

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

301 : void
302 {
303 // TODO: Implement setIsTopItm() method.
304 }

◆ setParent()

ilMMAbstractItemFacade::setParent ( string  $parent)
Parameters
string$parent

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMNullItemFacade.

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

326 : void
327 {
328 $this->mm_item->setParentIdentification($parent);
329 }

◆ setPosition()

ilMMAbstractItemFacade::setPosition ( int  $position)

Parameters
int$position

Implements ilMMItemFacadeInterface.

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

334 : void
335 {
336 $this->mm_item->setPosition($position);
337 }

◆ setRoleBasedVisibility()

ilMMAbstractItemFacade::setRoleBasedVisibility ( bool  $role_based_visibility)

@inheritDoc

Implements ilMMItemFacadeInterface.

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

93 : void
94 {
95 $this->role_based_visibility = $role_based_visibility;
96 }

References $role_based_visibility.

◆ supportsCustomIcon()

ilMMAbstractItemFacade::supportsCustomIcon ( )
Returns
bool

Implements ilMMItemFacadeInterface.

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

347 : bool
348 {
349 return $this->raw_item instanceof hasSymbol;
350 }

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 77 of file class.ilMMAbstractItemFacade.php.

77 : bool
78 {
79 return false;
80 }

◆ update()

ilMMAbstractItemFacade::update ( )
Returns
void

Implements ilMMItemFacadeInterface.

Reimplemented in ilMMCustomItemFacade.

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

367 : void
368 {
370 $this->mm_item->update();
371 }

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 42 of file class.ilMMAbstractItemFacade.php.

Referenced by getDefaultTitle(), and setDefaultTitle().

◆ $filtered_item

isItem ilMMAbstractItemFacade::$filtered_item
protected

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

Referenced by getFilteredItem().

◆ $global_role_ids

array ilMMAbstractItemFacade::$global_role_ids = []
protected

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

Referenced by getGlobalRoleIDs(), and setGlobalRoleIDs().

◆ $identification

◆ $mm_item

ilMMItemStorage ilMMAbstractItemFacade::$mm_item
protected

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

Referenced by itemStorage().

◆ $raw_item

isItem ilMMAbstractItemFacade::$raw_item
protected

Definition at line 39 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 35 of file class.ilMMAbstractItemFacade.php.


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