46 public function getData(array $options = array()) : array
57 $options = array_merge($_options, $options);
63 foreach ($users_per_position as $position_id => $users) {
68 $usr_data_filter = $usr_data_filter->withUserIds($users);
69 $usr_data_filter = $usr_data_filter->withObjIds(
ilMyStaffAccess::getInstance()->getIdsForUserAndOperation($this->dic->user()->getId(), $operation_access));
72 if (!empty($options[
'filters'][
'user'])) {
73 $usr_data_filter = $usr_data_filter->withUserIdentification($options[
'filters'][
'user']);
75 if (!empty($options[
'filters'][
'obj_title'])) {
76 $usr_data_filter = $usr_data_filter->withObjectTitle($options[
'filters'][
'obj_title']);
79 if (!empty($options[
'filters'][
'org_unit'])) {
80 $org_unit_id = (int) $options[
'filters'][
'org_unit'];
81 $usr_data_filter = $usr_data_filter->withOrgUnitIds([$org_unit_id]);
84 if (!empty($options[
'sort'][
'field']) && !empty($options[
'sort'][
'direction'])) {
85 if ($options[
'sort'][
'field'] ===
"objectTitle" && $options[
'sort'][
'direction'] ===
"asc") {
87 } elseif ($options[
'sort'][
'field'] ===
"objectTitle" && $options[
'sort'][
'direction'] ===
"desc") {
89 } elseif ($options[
'sort'][
'field'] ===
"issuedOnTimestamp" && $options[
'sort'][
'direction'] ===
"asc") {
91 } elseif ($options[
'sort'][
'field'] ===
"issuedOnTimestamp" && $options[
'sort'][
'direction'] ===
"desc") {
93 } elseif ($options[
'sort'][
'field'] ===
"userLogin" && $options[
'sort'][
'direction'] ===
"asc") {
95 } elseif ($options[
'sort'][
'field'] ===
"userLogin" && $options[
'sort'][
'direction'] ===
"desc") {
97 } elseif ($options[
'sort'][
'field'] ===
"userFirstName" && $options[
'sort'][
'direction'] ===
"asc") {
99 } elseif ($options[
'sort'][
'field'] ===
"userFirstName" && $options[
'sort'][
'direction'] ===
"desc") {
101 } elseif ($options[
'sort'][
'field'] ===
"userLastName" && $options[
'sort'][
'direction'] ===
"asc") {
103 } elseif ($options[
'sort'][
'field'] ===
"userLastName" && $options[
'sort'][
'direction'] ===
"desc") {
105 } elseif ($options[
'sort'][
'field'] ===
"userEmail" && $options[
'sort'][
'direction'] ===
"asc") {
107 } elseif ($options[
'sort'][
'field'] ===
"userEmail" && $options[
'sort'][
'direction'] ===
"desc") {
112 if ((!empty($options[
'limit'][
'start']) || $options[
'limit'][
'start'] === 0)
113 && !empty($options[
'limit'][
'end'])
115 $usr_data_filter = $usr_data_filter->withLimitOffset((
int) $options[
'limit'][
'start']);
116 $usr_data_filter = $usr_data_filter->withLimitCount((
int) $options[
'limit'][
'end']);
120 $data = array_merge(
$data, $cert_api->getUserCertificateData($usr_data_filter, [ilMyStaffGUI::class, ilMStListCertificatesGUI::class]));
123 $unique_cert_data = [];
124 foreach (
$data as $cert_data) {
128 $unique_cert_data[$cert_data->getCertificateId()] = $cert_data;
131 return $unique_cert_data;
Class ilMStListCertificates.
const SORT_DIRECTION_DESC
Customizing of pimple-DIC for ILIAS.
const OP_VIEW_CERTIFICATES
__construct(Container $dic)
ilMStListCertificates constructor.