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

Public Member Functions

 __construct (protected readonly ilObjUser $actor)
 
 getItems (array $object_type_white_list=[])
 
 getItems (array $object_type_white_list=[])
 

Protected Member Functions

 getObjectsByMembership (array $objTypes=[])
 

Protected Attributes

readonly ilTree $tree
 
readonly ilAccessHandler $access
 
readonly ilSetting $settings
 
readonly ilPDSelectedItemsBlockMembershipsObjectRepository $repository
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilPDSelectedItemsBlockMembershipsProvider::__construct ( protected readonly ilObjUser  $actor)

Member Function Documentation

◆ getItems()

ilPDSelectedItemsBlockMembershipsProvider::getItems ( array  $object_type_white_list = [])

Implements ilPDSelectedItemsBlockProvider.

Definition at line 94 of file class.ilPDSelectedItemsBlockMembershipsProvider.php.

94 : array
95 {
96 return $this->getObjectsByMembership($object_type_white_list);
97 }

References getObjectsByMembership().

+ Here is the call graph for this function:

◆ getObjectsByMembership()

ilPDSelectedItemsBlockMembershipsProvider::getObjectsByMembership ( array  $objTypes = [])
protected

Definition at line 41 of file class.ilPDSelectedItemsBlockMembershipsProvider.php.

41 : array
42 {
43 $short_desc = $this->settings->get('rep_shorten_description');
44 $short_desc_max_length = (int) $this->settings->get('rep_shorten_description_length');
45
46 if (!is_array($objTypes) || $objTypes === []) {
47 $objTypes = $this->repository->getValidObjectTypes();
48 }
49
50 $references = [];
51 foreach ($this->repository->getForUser($this->actor, $objTypes, $this->actor->getLanguage()) as $item) {
52 $refId = $item->getRefId();
53 $objId = $item->getObjId();
54 $parentRefId = $item->getParentRefId();
55 $title = $item->getTitle();
56 $parentTreeLftValue = $item->getParentLftTree();
57 $parentTreeLftValue = sprintf('%010d', $parentTreeLftValue);
58
59 if (!$this->access->checkAccess('visible', '', $refId)) {
60 continue;
61 }
62
63 $periodStart = $periodEnd = null;
64 if ($item->getPeriodStart() !== null && $item->getPeriodEnd() !== null) {
65 if ($item->objectPeriodHasTime()) {
66 $periodStart = new ilDateTime($item->getPeriodStart()->getTimestamp(), IL_CAL_UNIX);
67 $periodEnd = new ilDateTime($item->getPeriodEnd()->getTimestamp(), IL_CAL_UNIX);
68 } else {
69 $periodStart = new ilDate($item->getPeriodStart()->format('Y-m-d'), IL_CAL_DATE);
70 $periodEnd = new ilDate($item->getPeriodEnd()->format('Y-m-d'), IL_CAL_DATE);
71 }
72 }
73
74 $description = $item->getDescription();
75 if ($short_desc && $short_desc_max_length !== 0) {
76 $description = ilStr::shortenTextExtended($description, $short_desc_max_length, true);
77 }
78
79 $references[$parentTreeLftValue . $title . $refId] = [
80 'ref_id' => $refId,
81 'obj_id' => $objId,
82 'type' => $item->getType(),
83 'title' => $title,
84 'description' => $description,
85 'parent_ref' => $parentRefId,
86 'start' => $periodStart,
87 'end' => $periodEnd
88 ];
89 }
90
91 return $references;
92 }
const IL_CAL_DATE
const IL_CAL_UNIX
@classDescription Date and time handling
Class for single dates.
static shortenTextExtended(string $a_str, int $a_len, bool $a_dots=false, bool $a_next_blank=false, bool $a_keep_extension=false)
$objId
Definition: xapitoken.php:55
$refId
Definition: xapitoken.php:56

References $objId, $refId, ILIAS\Repository\access(), IL_CAL_DATE, IL_CAL_UNIX, ILIAS\Repository\int(), ILIAS\UI\examples\Deck\repository(), ILIAS\Repository\settings(), and ilStr\shortenTextExtended().

Referenced by getItems().

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

Field Documentation

◆ $access

readonly ilAccessHandler ilPDSelectedItemsBlockMembershipsProvider::$access
protected

◆ $repository

readonly ilPDSelectedItemsBlockMembershipsObjectRepository ilPDSelectedItemsBlockMembershipsProvider::$repository
protected

◆ $settings

readonly ilSetting ilPDSelectedItemsBlockMembershipsProvider::$settings
protected

◆ $tree

readonly ilTree ilPDSelectedItemsBlockMembershipsProvider::$tree
protected

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