ILIAS  trunk Revision v12.0_alpha-1221-g4e438232683
ilPDSelectedItemsBlockViewSettings Class Reference
+ Inheritance diagram for ilPDSelectedItemsBlockViewSettings:
+ Collaboration diagram for ilPDSelectedItemsBlockViewSettings:

Public Member Functions

 __construct (protected readonly ilObjUser $actor, protected readonly int $view=self::VIEW_SELECTED_ITEMS, ?Setting $settings=null, protected readonly DashboardAccess $access=new DashboardAccess())
 
 getMembershipsView ()
 
 getSelectedItemsView ()
 
 getStudyProgrammeView ()
 
 getLearningSequenceView ()
 
 getRecommendedContentView ()
 
 getListPresentationMode ()
 
 getTilePresentationMode ()
 
 isMembershipsViewActive ()
 
 isRecommendedContentViewActive ()
 
 isSelectedItemsViewActive ()
 
 isStudyProgrammeViewActive ()
 
 isLearningSequenceViewActive ()
 
 getSortByStartDateMode ()
 
 getSortByLocationMode ()
 
 getSortByTypeMode ()
 
 getSortByAlphabetMode ()
 
 getAvailableSortOptionsByView (int $view)
 
 getDefaultSortingByView (int $view)
 
 getPresentationViews ()
 
 getAvailablePresentationsByView (int $view)
 
 storeViewSorting (int $view, string $type, array $active)
 
 storeViewSortingOptions (int $view, array $options)
 
 getActiveSortingsByView (int $view)
 
 storeViewPresentation (int $view, string $default, array $active)
 
 getDefaultPresentationByView (int $view)
 
 getActivePresentationsByView (int $view)
 
 setViewPositions (array $positions)
 
 getViewPositions ()
 
 isViewEnabled (int $view)
 
 enableView (int $view, bool $status)
 
 enabledMemberships ()
 
 enabledSelectedItems ()
 
 enableMemberships (bool $status)
 
 enableSelectedItems (bool $status)
 
 allViewsEnabled ()
 
 getDefaultView ()
 
 storeDefaultView (int $view)
 
 parse ()
 
 getEffectivePresentationMode ()
 
 getEffectiveSortingMode ()
 
 getSelectableSortingModes ()
 
 getSelectablePresentationModes ()
 
 storeActorPresentationMode (string $presentationMode)
 
 storeActorSortingMode (string $sortingMode)
 
 getActor ()
 
 getView ()
 
 getCurrentSortOption ()
 
 isValidView (int $view)
 
 getDefaultSorting ()
 
 isSortedByType ()
 
 isSortedByAlphabet ()
 
 isSortedByLocation ()
 
 isSortedByStartDate ()
 
 isTilePresentation ()
 
 isListPresentation ()
 
 enabledRecommendedContent ()
 
 enabledLearningSequences ()
 
 enabledStudyProgrammes ()
 
 enableLearningSequences (bool $status)
 
 enableStudyProgrammes (bool $status)
 
 getViewName (int $view)
 
 getEffectiveSortingData ()
 
 getEffectiveSortingOptions ()
 
 storeActorSortingData (array $data)
 
 getAvailableOptionsBySortation (string $sortation)
 
 getSortingOptionsByView (int $view)
 

Protected Member Functions

 allViewsDisabled ()
 

Protected Attributes

Setting $settings
 
string $current_sort_option = self::SORT_BY_LOCATION
 
string $current_presentation_option = self::PRESENTATION_LIST
 

Static Private Attributes

static array $has_data = [self::SORT_MANUALLY]
 
static array $has_options = [self::SORT_MANUALLY]
 
static array $options_by_sortation
 

Additional Inherited Members

- Data Fields inherited from ilPDSelectedItemsBlockConstants
const VIEW_SELECTED_ITEMS = 0
 
const VIEW_RECOMMENDED_CONTENT = 1
 
const VIEW_MY_MEMBERSHIPS = 2
 
const VIEW_LEARNING_SEQUENCES = 3
 
const VIEW_MY_STUDYPROGRAMME = 4
 
const SORT_BY_TYPE = 'type'
 
const SORT_BY_LOCATION = 'location'
 
const SORT_BY_START_DATE = 'start_date'
 
const SORT_BY_ALPHABET = 'alphabet'
 
const SORT_MANUALLY = 'manually'
 
const PRESENTATION_LIST = 'list'
 
const PRESENTATION_TILE = 'tile'
 
const AVAILABLE_VIEWS
 
const VIEW_NAMES
 
const AVAILABLE_SORT_OPTIONS_BY_VIEW
 
const AVAILABLE_PRESENTATION_BY_VIEW
 

Detailed Description

Definition at line 24 of file class.ilPDSelectedItemsBlockViewSettings.php.

Constructor & Destructor Documentation

◆ __construct()

ilPDSelectedItemsBlockViewSettings::__construct ( protected readonly ilObjUser  $actor,
protected readonly int  $view = self::VIEW_SELECTED_ITEMS,
?Setting  $settings = null,
protected readonly DashboardAccess  $access = new DashboardAccess() 
)

Definition at line 36 of file class.ilPDSelectedItemsBlockViewSettings.php.

41 {
42 global $DIC;
43 $this->settings = $settings ?? $DIC->settings();
44 }
global $DIC
Definition: shib_login.php:26

References $DIC, and ILIAS\Repository\settings().

+ Here is the call graph for this function:

Member Function Documentation

◆ allViewsDisabled()

ilPDSelectedItemsBlockViewSettings::allViewsDisabled ( )
protected

◆ allViewsEnabled()

ilPDSelectedItemsBlockViewSettings::allViewsEnabled ( )

Definition at line 311 of file class.ilPDSelectedItemsBlockViewSettings.php.

311 : bool
312 {
313 return $this->enabledMemberships() && $this->enabledSelectedItems();
314 }

References enabledMemberships(), and enabledSelectedItems().

+ Here is the call graph for this function:

◆ enabledLearningSequences()

ilPDSelectedItemsBlockViewSettings::enabledLearningSequences ( )

Definition at line 464 of file class.ilPDSelectedItemsBlockViewSettings.php.

464 : bool
465 {
466 return (int) $this->settings->get('disable_learning_sequences', '1') === 0;
467 }

References ILIAS\Repository\settings().

Referenced by isViewEnabled().

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

◆ enabledMemberships()

ilPDSelectedItemsBlockViewSettings::enabledMemberships ( )

Definition at line 291 of file class.ilPDSelectedItemsBlockViewSettings.php.

291 : bool
292 {
293 return (int) $this->settings->get('disable_my_memberships', '0') === 0;
294 }

References ILIAS\Repository\settings().

Referenced by allViewsDisabled(), allViewsEnabled(), and isViewEnabled().

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

◆ enabledRecommendedContent()

ilPDSelectedItemsBlockViewSettings::enabledRecommendedContent ( )
final

Definition at line 459 of file class.ilPDSelectedItemsBlockViewSettings.php.

459 : bool
460 {
461 return true;
462 }

Referenced by isViewEnabled().

+ Here is the caller graph for this function:

◆ enabledSelectedItems()

ilPDSelectedItemsBlockViewSettings::enabledSelectedItems ( )

Definition at line 296 of file class.ilPDSelectedItemsBlockViewSettings.php.

296 : bool
297 {
298 return (int) $this->settings->get('disable_my_offers', '0') === 0;
299 }

References ILIAS\Repository\settings().

Referenced by allViewsDisabled(), allViewsEnabled(), and isViewEnabled().

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

◆ enabledStudyProgrammes()

ilPDSelectedItemsBlockViewSettings::enabledStudyProgrammes ( )

Definition at line 469 of file class.ilPDSelectedItemsBlockViewSettings.php.

469 : bool
470 {
471 return (int) $this->settings->get('disable_study_programmes', '1') === 0;
472 }

References ILIAS\Repository\settings().

Referenced by isViewEnabled().

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

◆ enableLearningSequences()

ilPDSelectedItemsBlockViewSettings::enableLearningSequences ( bool  $status)

Definition at line 474 of file class.ilPDSelectedItemsBlockViewSettings.php.

474 : void
475 {
476 $this->settings->set('disable_learning_sequences', $status ? '0' : '1');
477 }

References ILIAS\Repository\settings().

Referenced by enableView().

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

◆ enableMemberships()

ilPDSelectedItemsBlockViewSettings::enableMemberships ( bool  $status)

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

301 : void
302 {
303 $this->settings->set('disable_my_memberships', $status ? '0' : '1');
304 }

References ILIAS\Repository\settings().

Referenced by enableView(), and DashboardViewSettingsTest\testDisableMemberships().

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

◆ enableSelectedItems()

ilPDSelectedItemsBlockViewSettings::enableSelectedItems ( bool  $status)

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

306 : void
307 {
308 $this->settings->set('disable_my_offers', $status ? '0' : '1');
309 }

References ILIAS\Repository\settings().

Referenced by enableView(), and DashboardViewSettingsTest\testDisableSelectedItems().

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

◆ enableStudyProgrammes()

ilPDSelectedItemsBlockViewSettings::enableStudyProgrammes ( bool  $status)

Definition at line 479 of file class.ilPDSelectedItemsBlockViewSettings.php.

479 : void
480 {
481 $this->settings->set('disable_study_programmes', $status ? '0' : '1');
482 }

References ILIAS\Repository\settings().

Referenced by enableView().

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

◆ enableView()

ilPDSelectedItemsBlockViewSettings::enableView ( int  $view,
bool  $status 
)

Definition at line 269 of file class.ilPDSelectedItemsBlockViewSettings.php.

269 : void
270 {
271 switch ($view) {
272 case $this->getMembershipsView():
273 $this->enableMemberships($status);
274 break;
275 case $this->getSelectedItemsView():
276 $this->enableSelectedItems($status);
277 break;
278 case $this->getStudyProgrammeView():
279 $this->enableStudyProgrammes($status);
280 break;
281 case $this->getRecommendedContentView():
282 break;
283 case $this->getLearningSequenceView():
284 $this->enableLearningSequences($status);
285 break;
286 default:
287 throw new InvalidArgumentException('Unknown view: $view');
288 }
289 }

References enableLearningSequences(), enableMemberships(), enableSelectedItems(), enableStudyProgrammes(), getLearningSequenceView(), getMembershipsView(), getRecommendedContentView(), getSelectedItemsView(), and getStudyProgrammeView().

+ Here is the call graph for this function:

◆ getActivePresentationsByView()

ilPDSelectedItemsBlockViewSettings::getActivePresentationsByView ( int  $view)
Returns
string[]

Definition at line 223 of file class.ilPDSelectedItemsBlockViewSettings.php.

223 : array
224 {
225 $val = $this->settings->get('pd_active_pres_view_' . $view, '');
226
227 return (!$val)
228 ? $this->getAvailablePresentationsByView($view)
229 : unserialize($val, ['allowed_classes' => false]);
230 }

References getAvailablePresentationsByView(), and ILIAS\Repository\settings().

Referenced by getSelectablePresentationModes().

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

◆ getActiveSortingsByView()

ilPDSelectedItemsBlockViewSettings::getActiveSortingsByView ( int  $view)
Returns
string[]

Definition at line 185 of file class.ilPDSelectedItemsBlockViewSettings.php.

185 : array
186 {
187 $val = $this->settings->get('pd_active_sort_view_' . $view);
188 if ($val === '' || $val === null) {
189 $active_sortings = $this->getAvailableSortOptionsByView($view);
190 } else {
191 $active_sortings = unserialize($val, ['allowed_classes' => false]);
192 }
193 return array_filter(
194 $active_sortings,
195 fn(string $sorting): bool => in_array(
196 $sorting,
197 $this->getAvailableSortOptionsByView($view),
198 true
199 )
200 );
201 }

References getAvailableSortOptionsByView(), and ILIAS\Repository\settings().

Referenced by getSelectableSortingModes().

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

◆ getActor()

ilPDSelectedItemsBlockViewSettings::getActor ( )
final

Definition at line 404 of file class.ilPDSelectedItemsBlockViewSettings.php.

404 : ilObjUser
405 {
406 return $this->actor;
407 }
User class.

◆ getAvailableOptionsBySortation()

ilPDSelectedItemsBlockViewSettings::getAvailableOptionsBySortation ( string  $sortation)

Definition at line 514 of file class.ilPDSelectedItemsBlockViewSettings.php.

514 : array
515 {
516 return self::$options_by_sortation[$sortation] ?? [];
517 }

◆ getAvailablePresentationsByView()

ilPDSelectedItemsBlockViewSettings::getAvailablePresentationsByView ( int  $view)
final
Returns
string[]

Definition at line 154 of file class.ilPDSelectedItemsBlockViewSettings.php.

154 : array
155 {
156 return self::AVAILABLE_PRESENTATION_BY_VIEW[$view];
157 }

Referenced by getActivePresentationsByView(), and getSelectablePresentationModes().

+ Here is the caller graph for this function:

◆ getAvailableSortOptionsByView()

ilPDSelectedItemsBlockViewSettings::getAvailableSortOptionsByView ( int  $view)
final
Returns
string[]

Definition at line 129 of file class.ilPDSelectedItemsBlockViewSettings.php.

129 : array
130 {
131 return self::AVAILABLE_SORT_OPTIONS_BY_VIEW[$view] ?? [];
132 }

Referenced by getActiveSortingsByView(), getDefaultSortingByView(), getSelectableSortingModes(), storeViewSorting(), and storeViewSortingOptions().

+ Here is the caller graph for this function:

◆ getCurrentSortOption()

ilPDSelectedItemsBlockViewSettings::getCurrentSortOption ( )
final

◆ getDefaultPresentationByView()

ilPDSelectedItemsBlockViewSettings::getDefaultPresentationByView ( int  $view)

Definition at line 215 of file class.ilPDSelectedItemsBlockViewSettings.php.

215 : string
216 {
217 return $this->settings->get('pd_def_pres_view_' . $view, 'list');
218 }

References ILIAS\Repository\settings().

Referenced by getEffectivePresentationMode(), and getSelectablePresentationModes().

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

◆ getDefaultSorting()

ilPDSelectedItemsBlockViewSettings::getDefaultSorting ( )

Definition at line 424 of file class.ilPDSelectedItemsBlockViewSettings.php.

424 : string
425 {
426 return $this->settings->get('dash_def_sort', $this->getSortByLocationMode());
427 }

References getSortByLocationMode(), and ILIAS\Repository\settings().

+ Here is the call graph for this function:

◆ getDefaultSortingByView()

ilPDSelectedItemsBlockViewSettings::getDefaultSortingByView ( int  $view)

Definition at line 134 of file class.ilPDSelectedItemsBlockViewSettings.php.

134 : string
135 {
136 $sorting = $this->settings->get('pd_def_sort_view_' . $view, self::SORT_BY_LOCATION);
137 if (!in_array($sorting, $this->getAvailableSortOptionsByView($view), true)) {
138 return $this->getAvailableSortOptionsByView($view)[0];
139 }
140 return $sorting;
141 }

References getAvailableSortOptionsByView(), and ILIAS\Repository\settings().

Referenced by getEffectiveSortingMode().

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

◆ getDefaultView()

ilPDSelectedItemsBlockViewSettings::getDefaultView ( )

Definition at line 321 of file class.ilPDSelectedItemsBlockViewSettings.php.

321 : int
322 {
323 return (int) $this->settings->get('personal_items_default_view', (string) $this->getSelectedItemsView());
324 }

References getSelectedItemsView(), and ILIAS\Repository\settings().

+ Here is the call graph for this function:

◆ getEffectivePresentationMode()

ilPDSelectedItemsBlockViewSettings::getEffectivePresentationMode ( )

Definition at line 337 of file class.ilPDSelectedItemsBlockViewSettings.php.

337 : string
338 {
339 $mode = $this->actor->getPref('pd_view_pres_' . $this->view);
340
341 if (!in_array($mode, $this->getSelectablePresentationModes(), true)) {
342 $mode = $this->getDefaultPresentationByView($this->view);
343 }
344
345 return $mode;
346 }

References getDefaultPresentationByView(), and getSelectablePresentationModes().

Referenced by parse().

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

◆ getEffectiveSortingData()

ilPDSelectedItemsBlockViewSettings::getEffectiveSortingData ( )
Returns
string

Definition at line 492 of file class.ilPDSelectedItemsBlockViewSettings.php.

492 : ?array
493 {
494 $mode = $this->getEffectiveSortingMode();
495 $key = 'pd_order_data_' . $this->getView() . '_' . $mode;
496 return in_array($mode, self::$has_data, true) ?
497 json_decode($this->actor->getPref($key) ?: '[]', true, 2) :
498 null;
499 }

References getEffectiveSortingMode(), and getView().

+ Here is the call graph for this function:

◆ getEffectiveSortingMode()

ilPDSelectedItemsBlockViewSettings::getEffectiveSortingMode ( )

Definition at line 348 of file class.ilPDSelectedItemsBlockViewSettings.php.

348 : string
349 {
350 $mode = $this->actor->getPref('pd_order_items_' . $this->view);
351
352 if (!in_array($mode, $this->getSelectableSortingModes(), true)) {
353 $mode = $this->getDefaultSortingByView($this->view);
354 }
355
356 return $mode;
357 }

References getDefaultSortingByView(), and getSelectableSortingModes().

Referenced by getEffectiveSortingData(), getEffectiveSortingOptions(), parse(), and storeActorSortingData().

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

◆ getEffectiveSortingOptions()

ilPDSelectedItemsBlockViewSettings::getEffectiveSortingOptions ( )

Definition at line 501 of file class.ilPDSelectedItemsBlockViewSettings.php.

501 : array
502 {
503 return $this->getSortingOptionsByView($this->getView())[$this->getEffectiveSortingMode()] ?? [];
504 }

References getEffectiveSortingMode(), getSortingOptionsByView(), and getView().

+ Here is the call graph for this function:

◆ getLearningSequenceView()

ilPDSelectedItemsBlockViewSettings::getLearningSequenceView ( )
final

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

References ilPDSelectedItemsBlockConstants\VIEW_LEARNING_SEQUENCES.

Referenced by enableView(), and isViewEnabled().

+ Here is the caller graph for this function:

◆ getListPresentationMode()

ilPDSelectedItemsBlockViewSettings::getListPresentationMode ( )
final

Definition at line 71 of file class.ilPDSelectedItemsBlockViewSettings.php.

References ilPDSelectedItemsBlockConstants\PRESENTATION_LIST.

Referenced by isListPresentation().

+ Here is the caller graph for this function:

◆ getMembershipsView()

ilPDSelectedItemsBlockViewSettings::getMembershipsView ( )
final

◆ getPresentationViews()

ilPDSelectedItemsBlockViewSettings::getPresentationViews ( )
final

◆ getRecommendedContentView()

ilPDSelectedItemsBlockViewSettings::getRecommendedContentView ( )
final

Definition at line 66 of file class.ilPDSelectedItemsBlockViewSettings.php.

References ilPDSelectedItemsBlockConstants\VIEW_RECOMMENDED_CONTENT.

Referenced by enableView(), and isViewEnabled().

+ Here is the caller graph for this function:

◆ getSelectablePresentationModes()

ilPDSelectedItemsBlockViewSettings::getSelectablePresentationModes ( )
Returns
string[]

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

373 : array
374 {
375 if (!$this->access->canChangePresentation($this->actor->getId())) {
376 return [$this->getDefaultPresentationByView($this->view)];
377 }
378 return array_intersect(
379 $this->getActivePresentationsByView($this->view),
380 $this->getAvailablePresentationsByView($this->view)
381 );
382 }

References ILIAS\Repository\access(), getActivePresentationsByView(), getAvailablePresentationsByView(), and getDefaultPresentationByView().

Referenced by getEffectivePresentationMode(), and storeActorPresentationMode().

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

◆ getSelectableSortingModes()

ilPDSelectedItemsBlockViewSettings::getSelectableSortingModes ( )
Returns
string[]

Definition at line 362 of file class.ilPDSelectedItemsBlockViewSettings.php.

362 : array
363 {
364 return array_intersect(
365 $this->getActiveSortingsByView($this->view),
366 $this->getAvailableSortOptionsByView($this->view)
367 );
368 }

References getActiveSortingsByView(), and getAvailableSortOptionsByView().

Referenced by getEffectiveSortingMode(), and storeActorSortingMode().

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

◆ getSelectedItemsView()

ilPDSelectedItemsBlockViewSettings::getSelectedItemsView ( )
final

◆ getSortByAlphabetMode()

ilPDSelectedItemsBlockViewSettings::getSortByAlphabetMode ( )
final

Definition at line 121 of file class.ilPDSelectedItemsBlockViewSettings.php.

References ilPDSelectedItemsBlockConstants\SORT_BY_ALPHABET.

Referenced by isSortedByAlphabet().

+ Here is the caller graph for this function:

◆ getSortByLocationMode()

ilPDSelectedItemsBlockViewSettings::getSortByLocationMode ( )
final

Definition at line 111 of file class.ilPDSelectedItemsBlockViewSettings.php.

References ilPDSelectedItemsBlockConstants\SORT_BY_LOCATION.

Referenced by getDefaultSorting(), and isSortedByLocation().

+ Here is the caller graph for this function:

◆ getSortByStartDateMode()

ilPDSelectedItemsBlockViewSettings::getSortByStartDateMode ( )
final

Definition at line 106 of file class.ilPDSelectedItemsBlockViewSettings.php.

References ilPDSelectedItemsBlockConstants\SORT_BY_START_DATE.

Referenced by isSortedByStartDate().

+ Here is the caller graph for this function:

◆ getSortByTypeMode()

ilPDSelectedItemsBlockViewSettings::getSortByTypeMode ( )
final

Definition at line 116 of file class.ilPDSelectedItemsBlockViewSettings.php.

References ilPDSelectedItemsBlockConstants\SORT_BY_TYPE.

Referenced by isSortedByType().

+ Here is the caller graph for this function:

◆ getSortingOptionsByView()

ilPDSelectedItemsBlockViewSettings::getSortingOptionsByView ( int  $view)
Returns
array<string, array<string, mixed>>

Definition at line 522 of file class.ilPDSelectedItemsBlockViewSettings.php.

522 : array
523 {
524 return array_merge(...array_map(fn($sorting) => [
525 $sorting => json_decode(
526 $this->settings->get('pd_sort_options_' . $view . '_' . $sorting) ?: '[]',
527 true,
528 2
529 ),
530 ], self::$has_options));
531 }

References ILIAS\Repository\settings().

Referenced by getEffectiveSortingOptions().

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

◆ getStudyProgrammeView()

ilPDSelectedItemsBlockViewSettings::getStudyProgrammeView ( )
final

◆ getTilePresentationMode()

ilPDSelectedItemsBlockViewSettings::getTilePresentationMode ( )
final

Definition at line 76 of file class.ilPDSelectedItemsBlockViewSettings.php.

References ilPDSelectedItemsBlockConstants\PRESENTATION_TILE.

Referenced by isTilePresentation().

+ Here is the caller graph for this function:

◆ getView()

ilPDSelectedItemsBlockViewSettings::getView ( )
final

Definition at line 409 of file class.ilPDSelectedItemsBlockViewSettings.php.

409 : int
410 {
411 return $this->view;
412 }

Referenced by getEffectiveSortingData(), getEffectiveSortingOptions(), and storeActorSortingData().

+ Here is the caller graph for this function:

◆ getViewName()

ilPDSelectedItemsBlockViewSettings::getViewName ( int  $view)
final

Definition at line 484 of file class.ilPDSelectedItemsBlockViewSettings.php.

484 : string
485 {
486 return self::VIEW_NAMES[$view];
487 }

◆ getViewPositions()

ilPDSelectedItemsBlockViewSettings::getViewPositions ( )
Returns
int[]

Definition at line 243 of file class.ilPDSelectedItemsBlockViewSettings.php.

243 : array
244 {
245 $val = $this->settings->get('pd_view_positions', '');
246 return (!$val)
248 : unserialize($val, ['allowed_classes' => false]);
249 }

References ilPDSelectedItemsBlockConstants\AVAILABLE_VIEWS, and ILIAS\Repository\settings().

+ Here is the call graph for this function:

◆ isLearningSequenceViewActive()

ilPDSelectedItemsBlockViewSettings::isLearningSequenceViewActive ( )
final

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

101 : bool
102 {
103 return $this->view === self::VIEW_LEARNING_SEQUENCES;
104 }

References ilPDSelectedItemsBlockConstants\VIEW_LEARNING_SEQUENCES.

◆ isListPresentation()

ilPDSelectedItemsBlockViewSettings::isListPresentation ( )

Definition at line 454 of file class.ilPDSelectedItemsBlockViewSettings.php.

454 : bool
455 {
456 return $this->current_presentation_option === $this->getListPresentationMode();
457 }

References getListPresentationMode().

+ Here is the call graph for this function:

◆ isMembershipsViewActive()

ilPDSelectedItemsBlockViewSettings::isMembershipsViewActive ( )

Definition at line 81 of file class.ilPDSelectedItemsBlockViewSettings.php.

81 : bool
82 {
83 return $this->view === $this->getMembershipsView();
84 }

References getMembershipsView().

+ Here is the call graph for this function:

◆ isRecommendedContentViewActive()

ilPDSelectedItemsBlockViewSettings::isRecommendedContentViewActive ( )
final

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

86 : bool
87 {
88 return $this->view === self::VIEW_RECOMMENDED_CONTENT;
89 }

References ilPDSelectedItemsBlockConstants\VIEW_RECOMMENDED_CONTENT.

◆ isSelectedItemsViewActive()

ilPDSelectedItemsBlockViewSettings::isSelectedItemsViewActive ( )

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

91 : bool
92 {
93 return $this->view === $this->getSelectedItemsView();
94 }

References getSelectedItemsView().

+ Here is the call graph for this function:

◆ isSortedByAlphabet()

ilPDSelectedItemsBlockViewSettings::isSortedByAlphabet ( )

Definition at line 434 of file class.ilPDSelectedItemsBlockViewSettings.php.

434 : bool
435 {
436 return $this->current_sort_option === $this->getSortByAlphabetMode();
437 }

References getSortByAlphabetMode().

+ Here is the call graph for this function:

◆ isSortedByLocation()

ilPDSelectedItemsBlockViewSettings::isSortedByLocation ( )

Definition at line 439 of file class.ilPDSelectedItemsBlockViewSettings.php.

439 : bool
440 {
441 return $this->current_sort_option === $this->getSortByLocationMode();
442 }

References getSortByLocationMode().

+ Here is the call graph for this function:

◆ isSortedByStartDate()

ilPDSelectedItemsBlockViewSettings::isSortedByStartDate ( )

Definition at line 444 of file class.ilPDSelectedItemsBlockViewSettings.php.

444 : bool
445 {
446 return $this->current_sort_option === $this->getSortByStartDateMode();
447 }

References getSortByStartDateMode().

+ Here is the call graph for this function:

◆ isSortedByType()

ilPDSelectedItemsBlockViewSettings::isSortedByType ( )

Definition at line 429 of file class.ilPDSelectedItemsBlockViewSettings.php.

429 : bool
430 {
431 return $this->current_sort_option === $this->getSortByTypeMode();
432 }

References getSortByTypeMode().

+ Here is the call graph for this function:

◆ isStudyProgrammeViewActive()

ilPDSelectedItemsBlockViewSettings::isStudyProgrammeViewActive ( )

Definition at line 96 of file class.ilPDSelectedItemsBlockViewSettings.php.

96 : bool
97 {
98 return $this->view === $this->getStudyProgrammeView();
99 }

References getStudyProgrammeView().

+ Here is the call graph for this function:

◆ isTilePresentation()

ilPDSelectedItemsBlockViewSettings::isTilePresentation ( )

Definition at line 449 of file class.ilPDSelectedItemsBlockViewSettings.php.

449 : bool
450 {
451 return $this->current_presentation_option === $this->getTilePresentationMode();
452 }

References getTilePresentationMode().

+ Here is the call graph for this function:

◆ isValidView()

ilPDSelectedItemsBlockViewSettings::isValidView ( int  $view)
final

Definition at line 419 of file class.ilPDSelectedItemsBlockViewSettings.php.

419 : bool
420 {
421 return in_array($view, self::AVAILABLE_VIEWS, true);
422 }

◆ isViewEnabled()

ilPDSelectedItemsBlockViewSettings::isViewEnabled ( int  $view)

Definition at line 251 of file class.ilPDSelectedItemsBlockViewSettings.php.

251 : bool
252 {
253 switch ($view) {
254 case $this->getMembershipsView():
255 return $this->enabledMemberships();
256 case $this->getSelectedItemsView():
258 case $this->getStudyProgrammeView():
260 case $this->getRecommendedContentView():
262 case $this->getLearningSequenceView():
264 default:
265 return false;
266 }
267 }
return['delivery_method'=> 'php',]
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References enabledLearningSequences(), enabledMemberships(), enabledRecommendedContent(), enabledSelectedItems(), enabledStudyProgrammes(), getLearningSequenceView(), getMembershipsView(), getRecommendedContentView(), getSelectedItemsView(), and getStudyProgrammeView().

+ Here is the call graph for this function:

◆ parse()

ilPDSelectedItemsBlockViewSettings::parse ( )

Definition at line 331 of file class.ilPDSelectedItemsBlockViewSettings.php.

331 : void
332 {
333 $this->current_sort_option = $this->getEffectiveSortingMode();
334 $this->current_presentation_option = $this->getEffectivePresentationMode();
335 }

References getEffectivePresentationMode(), and getEffectiveSortingMode().

+ Here is the call graph for this function:

◆ setViewPositions()

ilPDSelectedItemsBlockViewSettings::setViewPositions ( array  $positions)
Parameters
int[]$positions

Definition at line 235 of file class.ilPDSelectedItemsBlockViewSettings.php.

235 : void
236 {
237 $this->settings->set('pd_view_positions', serialize($positions));
238 }

References ILIAS\Repository\settings().

+ Here is the call graph for this function:

◆ storeActorPresentationMode()

ilPDSelectedItemsBlockViewSettings::storeActorPresentationMode ( string  $presentationMode)

Definition at line 384 of file class.ilPDSelectedItemsBlockViewSettings.php.

384 : void
385 {
386 if (in_array($presentationMode, $this->getSelectablePresentationModes())) {
387 $this->actor->writePref(
388 'pd_view_pres_' . $this->view,
389 $presentationMode
390 );
391 }
392 }

References getSelectablePresentationModes().

+ Here is the call graph for this function:

◆ storeActorSortingData()

ilPDSelectedItemsBlockViewSettings::storeActorSortingData ( array  $data)

Definition at line 506 of file class.ilPDSelectedItemsBlockViewSettings.php.

506 : void
507 {
508 $mode = $this->getEffectiveSortingMode();
509 if (in_array($mode, self::$has_options, true)) {
510 $this->actor->writePref('pd_order_data_' . $this->getView() . '_' . $mode, json_encode($data));
511 }
512 }

References $data, getEffectiveSortingMode(), and getView().

+ Here is the call graph for this function:

◆ storeActorSortingMode()

ilPDSelectedItemsBlockViewSettings::storeActorSortingMode ( string  $sortingMode)

Definition at line 394 of file class.ilPDSelectedItemsBlockViewSettings.php.

394 : void
395 {
396 if (in_array($sortingMode, $this->getSelectableSortingModes())) {
397 $this->actor->writePref(
398 'pd_order_items_' . $this->view,
399 $sortingMode
400 );
401 }
402 }

References getSelectableSortingModes().

+ Here is the call graph for this function:

◆ storeDefaultView()

ilPDSelectedItemsBlockViewSettings::storeDefaultView ( int  $view)

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

326 : void
327 {
328 $this->settings->set('personal_items_default_view', (string) $view);
329 }

References ILIAS\Repository\settings().

+ Here is the call graph for this function:

◆ storeViewPresentation()

ilPDSelectedItemsBlockViewSettings::storeViewPresentation ( int  $view,
string  $default,
array  $active 
)
Parameters
string[]$active

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

206 : void
207 {
208 if (!in_array($default, $active, true)) {
209 $active[] = $default;
210 }
211 $this->settings->set('pd_def_pres_view_' . $view, $default);
212 $this->settings->set('pd_active_pres_view_' . $view, serialize($active));
213 }

References ILIAS\Repository\settings().

+ Here is the call graph for this function:

◆ storeViewSorting()

ilPDSelectedItemsBlockViewSettings::storeViewSorting ( int  $view,
string  $type,
array  $active 
)

Definition at line 159 of file class.ilPDSelectedItemsBlockViewSettings.php.

159 : void
160 {
161 if (!in_array($type, $active, true)) {
162 $active[] = $type;
163 }
164
165 assert(in_array($type, $this->getAvailableSortOptionsByView($view), true));
166
167 $this->settings->set('pd_def_sort_view_' . $view, $type);
168 $this->settings->set('pd_active_sort_view_' . $view, serialize($active));
169 }

References getAvailableSortOptionsByView(), and ILIAS\Repository\settings().

+ Here is the call graph for this function:

◆ storeViewSortingOptions()

ilPDSelectedItemsBlockViewSettings::storeViewSortingOptions ( int  $view,
array  $options 
)

Definition at line 171 of file class.ilPDSelectedItemsBlockViewSettings.php.

171 : void
172 {
173 foreach ($options as $sorting => $option) {
174 if (in_array($sorting, $this->getAvailableSortOptionsByView($view), true)) {
175 $this->settings->set(
176 'pd_sort_options_' . $view . '_' . $sorting,
177 json_encode($option)
178 );
179 }
180 }
181 }

References ILIAS\UI\Implementation\Component\Input\Field\$options, getAvailableSortOptionsByView(), and ILIAS\Repository\settings().

+ Here is the call graph for this function:

Field Documentation

◆ $current_presentation_option

string ilPDSelectedItemsBlockViewSettings::$current_presentation_option = self::PRESENTATION_LIST
protected

Definition at line 34 of file class.ilPDSelectedItemsBlockViewSettings.php.

◆ $current_sort_option

string ilPDSelectedItemsBlockViewSettings::$current_sort_option = self::SORT_BY_LOCATION
protected

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

Referenced by getCurrentSortOption().

◆ $has_data

array ilPDSelectedItemsBlockViewSettings::$has_data = [self::SORT_MANUALLY]
staticprivate

Definition at line 26 of file class.ilPDSelectedItemsBlockViewSettings.php.

◆ $has_options

array ilPDSelectedItemsBlockViewSettings::$has_options = [self::SORT_MANUALLY]
staticprivate

Definition at line 27 of file class.ilPDSelectedItemsBlockViewSettings.php.

◆ $options_by_sortation

array ilPDSelectedItemsBlockViewSettings::$options_by_sortation
staticprivate
Initial value:
= [
self::SORT_MANUALLY => ['top', 'bot'],
]

Definition at line 28 of file class.ilPDSelectedItemsBlockViewSettings.php.

◆ $settings

Setting ilPDSelectedItemsBlockViewSettings::$settings
protected

Definition at line 32 of file class.ilPDSelectedItemsBlockViewSettings.php.


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