18 declare(strict_types=1);
51 final public function getData(array $options = array()): array
61 $options = array_merge($_options, $options);
67 foreach ($users_per_position as $position_id => $users) {
72 $usr_data_filter = $usr_data_filter->withUserIds($users);
74 $this->dic->user()->getId(),
78 if (!empty($options[
'filters'][
'user'])) {
79 $usr_data_filter = $usr_data_filter->withUserIdentification($options[
'filters'][
'user']);
81 if (!empty($options[
'filters'][
'obj_title'])) {
82 $usr_data_filter = $usr_data_filter->withObjectTitle($options[
'filters'][
'obj_title']);
84 if (!empty($options[
'filters'][
'org_unit'])) {
85 $org_unit_id = (
int) $options[
'filters'][
'org_unit'];
86 $usr_data_filter = $usr_data_filter->withOrgUnitIds([$org_unit_id]);
89 if (!empty($options[
'sort'][
'field']) && !empty($options[
'sort'][
'direction'])) {
90 if ($options[
'sort'][
'field'] ===
"objectTitle" && $options[
'sort'][
'direction'] ===
"asc") {
91 $usr_data_filter = $usr_data_filter->withSortedObjectTitles(UserDataFilter::SORT_DIRECTION_ASC);
92 } elseif ($options[
'sort'][
'field'] ===
"objectTitle" && $options[
'sort'][
'direction'] ===
"desc") {
93 $usr_data_filter = $usr_data_filter->withSortedObjectTitles(UserDataFilter::SORT_DIRECTION_DESC);
94 } elseif ($options[
'sort'][
'field'] ===
"issuedOnTimestamp" && $options[
'sort'][
'direction'] ===
"asc") {
95 $usr_data_filter = $usr_data_filter->withSortedIssuedOnTimestamps(UserDataFilter::SORT_DIRECTION_ASC);
96 } elseif ($options[
'sort'][
'field'] ===
"issuedOnTimestamp" && $options[
'sort'][
'direction'] ===
"desc") {
97 $usr_data_filter = $usr_data_filter->withSortedIssuedOnTimestamps(UserDataFilter::SORT_DIRECTION_DESC);
98 } elseif ($options[
'sort'][
'field'] ===
"userLogin" && $options[
'sort'][
'direction'] ===
"asc") {
99 $usr_data_filter = $usr_data_filter->withSortedLogins(UserDataFilter::SORT_DIRECTION_ASC);
100 } elseif ($options[
'sort'][
'field'] ===
"userLogin" && $options[
'sort'][
'direction'] ===
"desc") {
101 $usr_data_filter = $usr_data_filter->withSortedLogins(UserDataFilter::SORT_DIRECTION_DESC);
102 } elseif ($options[
'sort'][
'field'] ===
"userFirstName" && $options[
'sort'][
'direction'] ===
"asc") {
103 $usr_data_filter = $usr_data_filter->withSortedFirstNames(UserDataFilter::SORT_DIRECTION_ASC);
104 } elseif ($options[
'sort'][
'field'] ===
"userFirstName" && $options[
'sort'][
'direction'] ===
"desc") {
105 $usr_data_filter = $usr_data_filter->withSortedFirstNames(UserDataFilter::SORT_DIRECTION_DESC);
106 } elseif ($options[
'sort'][
'field'] ===
"userLastName" && $options[
'sort'][
'direction'] ===
"asc") {
107 $usr_data_filter = $usr_data_filter->withSortedLastNames(UserDataFilter::SORT_DIRECTION_ASC);
108 } elseif ($options[
'sort'][
'field'] ===
"userLastName" && $options[
'sort'][
'direction'] ===
"desc") {
109 $usr_data_filter = $usr_data_filter->withSortedLastNames(UserDataFilter::SORT_DIRECTION_DESC);
110 } elseif ($options[
'sort'][
'field'] ===
"userEmail" && $options[
'sort'][
'direction'] ===
"asc") {
111 $usr_data_filter = $usr_data_filter->withSortedEmails(UserDataFilter::SORT_DIRECTION_ASC);
112 } elseif ($options[
'sort'][
'field'] ===
"userEmail" && $options[
'sort'][
'direction'] ===
"desc") {
113 $usr_data_filter = $usr_data_filter->withSortedEmails(UserDataFilter::SORT_DIRECTION_DESC);
117 if ((!empty($options[
'limit'][
'start']) || $options[
'limit'][
'start'] === 0)
118 && !empty($options[
'limit'][
'end'])
120 $usr_data_filter = $usr_data_filter->withLimitOffset((
int) $options[
'limit'][
'start']);
121 $usr_data_filter = $usr_data_filter->withLimitCount((
int) $options[
'limit'][
'end']);
124 $data = array_merge(
$data, $cert_api->getUserCertificateData(
126 [ilMyStaffGUI::class, ilMStListCertificatesGUI::class]
130 $unique_cert_data = [];
131 foreach (
$data as $cert_data) {
133 $unique_cert_data[$cert_data->getCertificateId()] = $cert_data;
136 return $unique_cert_data;
getData(array $options=array())
Class ilMStListCertificates.
Customizing of pimple-DIC for ILIAS.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const OP_VIEW_CERTIFICATES
__construct(Container $dic)
ilMStListCertificates constructor.