ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilPDSelectedItemsBlockMembershipsProvider Class Reference

Class ilPDSelectedItemsBlockMembershipsProvider. More...

+ Inheritance diagram for ilPDSelectedItemsBlockMembershipsProvider:
+ Collaboration diagram for ilPDSelectedItemsBlockMembershipsProvider:

Public Member Functions

 __construct (ilObjUser $actor)
 ilPDSelectedItemsBlockSelectedItemsProvider constructor. More...
 
 getItems ($object_type_white_list=array())
 
Parameters
array$object_type_white_listAn optional array of object_types used for filter purposes
Returns
array An array of repository items, each given as a structured array
More...
 

Protected Member Functions

 getObjectsByMembership (array $objTypes=[])
 Gets all objects the current user is member of. More...
 

Protected Attributes

 $actor
 
 $tree
 
 $access
 
 $settings
 

Private Attributes

 $repository
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilPDSelectedItemsBlockMembershipsProvider::__construct ( ilObjUser  $actor)

ilPDSelectedItemsBlockSelectedItemsProvider constructor.

Parameters
ilObjUser$actor

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

References $actor, $DIC, repository(), and settings().

39  {
40  global $DIC;
41 
42  $this->actor = $actor;
43  $this->tree = $DIC->repositoryTree();
44  $this->access = $DIC->access();
45  $this->settings = $DIC->settings();
47  $DIC->database(),
48  RECOVERY_FOLDER_ID
49  );
50  }
settings()
Definition: settings.php:2
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
repository()
Definition: repository.php:5
$DIC
Definition: xapitoken.php:46
+ Here is the call graph for this function:

Member Function Documentation

◆ getItems()

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

Parameters
array$object_type_white_listAn optional array of object_types used for filter purposes
Returns
array An array of repository items, each given as a structured array

Implements ilPDSelectedItemsBlockProvider.

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

References getObjectsByMembership().

115  {
116  return $this->getObjectsByMembership($object_type_white_list);
117  }
getObjectsByMembership(array $objTypes=[])
Gets all objects the current user is member of.
+ Here is the call graph for this function:

◆ getObjectsByMembership()

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

Gets all objects the current user is member of.

Parameters
string[]$objTypes
Returns
array array of objects

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

References $objId, $refId, IL_CAL_DATE, IL_CAL_UNIX, repository(), settings(), and ilUtil\shortenText().

Referenced by getItems().

57  : array
58  {
59  $short_desc = $this->settings->get("rep_shorten_description");
60  $short_desc_max_length = $this->settings->get("rep_shorten_description_length");
61 
62  if (!is_array($objTypes) || $objTypes === []) {
63  $objTypes = $this->repository->getValidObjectTypes();
64  }
65 
66  $references = [];
67  foreach ($this->repository->getForUser($this->actor, $objTypes, $this->actor->getLanguage()) as $item) {
68  $refId = $item->getRefId();
69  $objId = $item->getObjId();
70  $parentRefId = $item->getParentRefId();
71  $title = $item->getTitle();
72  $parentTreeLftValue = $item->getParentLftTree();
73  $parentTreeLftValue = sprintf("%010d", $parentTreeLftValue);
74 
75  if (!$this->access->checkAccess('visible', '', $refId)) {
76  continue;
77  }
78 
79  $periodStart = $periodEnd = null;
80  if ($item->getPeriodStart() !== null && $item->getPeriodEnd() !== null) {
81  if ($item->objectPeriodHasTime()) {
82  $periodStart = new ilDateTime($item->getPeriodStart()->getTimestamp(), IL_CAL_UNIX);
83  $periodEnd = new ilDateTime($item->getPeriodEnd()->getTimestamp(), IL_CAL_UNIX);
84  } else {
85  $periodStart = new ilDate($item->getPeriodStart()->format('Y-m-d'), IL_CAL_DATE);
86  $periodEnd = new ilDate($item->getPeriodEnd()->format('Y-m-d'), IL_CAL_DATE);
87  }
88  }
89 
90  $description = $item->getDescription();
91  if ($short_desc && $short_desc_max_length) {
92  $description = ilUtil::shortenText($description, $short_desc_max_length, true);
93  }
94 
95  $references[$parentTreeLftValue . $title . $refId] = [
96  'ref_id' => $refId,
97  'obj_id' => $objId,
98  'type' => $item->getType(),
99  'title' => $title,
100  'description' => $description,
101  'parent_ref' => $parentRefId,
102  'start' => $periodStart,
103  'end' => $periodEnd
104  ];
105  }
106  ksort($references);
107 
108  return $references;
109  }
settings()
Definition: settings.php:2
static shortenText( $a_str, $a_len, $a_dots=false, $a_next_blank=false, $a_keep_extension=false)
shorten a string to given length.
$objId
Definition: xapitoken.php:41
$refId
Definition: xapitoken.php:42
const IL_CAL_UNIX
repository()
Definition: repository.php:5
Class for single dates.
const IL_CAL_DATE
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $access

ilPDSelectedItemsBlockMembershipsProvider::$access
protected

◆ $actor

ilPDSelectedItemsBlockMembershipsProvider::$actor
protected

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

Referenced by __construct().

◆ $repository

ilPDSelectedItemsBlockMembershipsProvider::$repository
private

◆ $settings

ilPDSelectedItemsBlockMembershipsProvider::$settings
protected

◆ $tree

ilPDSelectedItemsBlockMembershipsProvider::$tree
protected

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