ILIAS  release_8 Revision v8.19-1-g4e8f2f9140c
All Data Structures Namespaces Files Functions Variables Modules Pages
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 ()
 
 hasRoleBasedVisibility ()
 
 setRoleBasedVisibility (bool $role_based_visibility)
 
 getGlobalRoleIDs ()
 
 setGlobalRoleIDs (array $global_role_ids)
 
 isEmpty ()
 
 itemStorage ()
 
 identification ()
 
 getRawItem ()
 
 getFilteredItem ()
 
 getAmountOfChildren ()
 
 isAvailable ()
 
 isActivated ()
 
 isAlwaysAvailable ()
 
 getProviderNameForPresentation ()
 
 getDefaultTitle ()
 
 setDefaultTitle (string $default_title)
 
 getStatus ()
 
 getTypeForPresentation ()
 
 getParentIdentificationString ()
 
 isCustomType ()
 
 isTopItem ()
 
 isChild ()
 
 isInLostItem ()
 
 setIsTopItm (bool $top_item)
 
 isInterchangeable ()
 
 getType ()
 FSX check if doublette . More...
 
 setParent (string $parent)
 
 setPosition (int $position)
 
Parameters
int$position
More...
 
 setActiveStatus (bool $status)
 
 supportsCustomIcon ()
 
 getIconID ()
 
 setIconID (string $icon_id)
 
 update ()
 
 create ()
 
 delete ()
 
- Public Member Functions inherited from ilMMItemFacadeInterface
 isEditable ()
 
 isDeletable ()
 
 isCustom ()
 
 setAction (string $action)
 
 setType (string $type)
 

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

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

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

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)
+ Here is the call graph for this function:

Member Function Documentation

◆ create()

ilMMAbstractItemFacade::create ( )
Returns
void

Implements ilMMItemFacadeInterface.

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

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

373  : void
374  {
376  $this->mm_item->create();
377  ilMMItemStorage::register($this->raw_item);
378  }
static storeDefaultTranslation(IdentificationInterface $identification, string $translation)
static register(isItem $item)
+ Here is the call graph for this function:

◆ delete()

ilMMAbstractItemFacade::delete ( )

Implements ilMMItemFacadeInterface.

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

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

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.
+ 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.

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

Referenced by delete().

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.
+ 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.

References $default_title, and identification().

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 
198  return $this->default_title;
199  }
+ 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().

142  : isItem
143  {
144  return $this->filtered_item;
145  }
+ Here is the caller graph for this function:

◆ getGlobalRoleIDs()

ilMMAbstractItemFacade::getGlobalRoleIDs ( )

Implements ilMMItemFacadeInterface.

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

References $global_role_ids.

101  : array
102  {
103  return $this->global_role_ids;
104  }

◆ 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.

References identification().

Referenced by hasStorage().

61  : string
62  {
63  return $this->identification->serialize();
64  }
+ 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.

References getFilteredItem().

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  }
+ Here is the call graph for this function:

◆ getProviderNameForPresentation()

ilMMAbstractItemFacade::getProviderNameForPresentation ( )
Returns
string

Implements ilMMItemFacadeInterface.

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

References identification().

180  : string
181  {
182  return $this->identification->getProviderNameForPresentation();
183  }
+ Here is the call graph for this function:

◆ getRawItem()

ilMMAbstractItemFacade::getRawItem ( )

Implements ilMMItemFacadeInterface.

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

References $raw_item.

Referenced by isActivated(), and isAlwaysAvailable().

138  : isItem
139  {
140  return $this->raw_item;
141  }
+ Here is the caller graph for this function:

◆ getStatus()

ilMMAbstractItemFacade::getStatus ( )
Returns
string

Implements ilMMItemFacadeInterface.

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

References $DIC.

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

◆ getType()

ilMMAbstractItemFacade::getType ( )

FSX check if doublette .

Implements ilMMItemFacadeInterface.

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 ( )

Implements ilMMItemFacadeInterface.

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

References $role_based_visibility.

85  : bool
86  {
88  }

◆ hasStorage()

ilMMAbstractItemFacade::hasStorage ( )
Returns
bool

Implements ilMMItemFacadeInterface.

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

References getId().

69  : bool
70  {
71  return ilMMItemStorage::find($this->getId()) !== null;
72  }
+ 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(), ilMMCustomItemFacade\update(), and update().

134  {
135  return $this->identification;
136  }
IdentificationInterface $identification
+ Here is the caller graph for this function:

◆ isActivated()

ilMMAbstractItemFacade::isActivated ( )

Implements ilMMItemFacadeInterface.

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

References getRawItem().

164  : bool
165  {
166  return $this->mm_item->isActive() && $this->getRawItem()->isAvailable() || $this->getRawItem()->isAlwaysAvailable();
167  }
+ Here is the call graph for this function:

◆ isAlwaysAvailable()

ilMMAbstractItemFacade::isAlwaysAvailable ( )

Implements ilMMItemFacadeInterface.

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

References getRawItem().

172  : bool
173  {
174  return $this->getRawItem()->isAlwaysAvailable();
175  }
+ Here is the call graph for this function:

◆ isAvailable()

ilMMAbstractItemFacade::isAvailable ( )
Returns
bool

Implements ilMMItemFacadeInterface.

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 ( )

◆ 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.

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

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

◆ isInLostItem()

ilMMAbstractItemFacade::isInLostItem ( )

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 ( )

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 ( )

Implements ilMMItemFacadeInterface.

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

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

◆ itemStorage()

ilMMAbstractItemFacade::itemStorage ( )
Returns
ilMMItemStorage

Implements ilMMItemFacadeInterface.

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

References $mm_item.

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

◆ setActiveStatus()

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

Implements ilMMItemFacadeInterface.

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.

References $default_title.

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

◆ setGlobalRoleIDs()

ilMMAbstractItemFacade::setGlobalRoleIDs ( array  $global_role_ids)

Implements ilMMItemFacadeInterface.

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

References $global_role_ids.

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

◆ setIconID()

ilMMAbstractItemFacade::setIconID ( string  $icon_id)

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)

Implements ilMMItemFacadeInterface.

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.

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)

Implements ilMMItemFacadeInterface.

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

References $role_based_visibility.

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

◆ supportsCustomIcon()

ilMMAbstractItemFacade::supportsCustomIcon ( )
Returns
bool

Implements ilMMItemFacadeInterface.

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

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

347  : bool
348  {
349  return $this->raw_item instanceof hasSymbol;
350  }
+ Here is the call graph for this function:

◆ supportsRoleBasedVisibility()

ilMMAbstractItemFacade::supportsRoleBasedVisibility ( )

Implements ilMMItemFacadeInterface.

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

77  : bool
78  {
79  return false;
80  }

◆ update()

ilMMAbstractItemFacade::update ( )
Returns
void

Implements ilMMItemFacadeInterface.

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

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

367  : void
368  {
370  $this->mm_item->update();
371  }
static storeDefaultTranslation(IdentificationInterface $identification, string $translation)
+ 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

IdentificationInterface ilMMAbstractItemFacade::$identification
protected

◆ $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: