ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
class.ilMStListCertificates.php
Go to the documentation of this file.
1<?php
2
4
10use ilLPStatus;
12use ilMyStaffGUI;
14
21{
22
26 protected $dic;
27
28
34 public function __construct(Container $dic)
35 {
36 $this->dic = $dic;
37 }
38
39
46 public function getData(array $options = array()) : array
47 {
48 //Permission Filter
50
51
52 $_options = array(
53 'filters' => array(),
54 'sort' => array(),
55 'limit' => array(),
56 );
57 $options = array_merge($_options, $options);
58
59 $cert_api = new UserCertificateAPI();
60
61 $data = [];
62 $users_per_position = ilMyStaffAccess::getInstance()->getUsersForUserPerPosition($this->dic->user()->getId());
63 foreach ($users_per_position as $position_id => $users) {
64 $usr_data_filter = new UserDataFilter();
65 $usr_data_filter = $usr_data_filter->withUserIds($users);
66 $usr_data_filter = $usr_data_filter->withObjIds(ilMyStaffAccess::getInstance()->getIdsForUserAndOperation($this->dic->user()->getId(), $operation_access));
67
68
69 if (!empty($options['filters']['user'])) {
70 $usr_data_filter = $usr_data_filter->withUserLogin($options['filters']['user']);
71 }
72 if (!empty($options['filters']['obj_title'])) {
73 $usr_data_filter = $usr_data_filter->withObjectTitle($options['filters']['obj_title']);
74 }
75
76
77 $data = array_merge($data, $cert_api->getUserCertificateData($usr_data_filter, [ilMyStaffGUI::class, ilMStListCertificatesGUI::class]));
78 }
79
80 $unique_cert_data = [];
81 foreach ($data as $cert_data) {
85 $unique_cert_data[$cert_data->getCertificateId()] = $cert_data;
86 }
87
88 return $unique_cert_data;
89 }
90}
An exception for terminatinating execution or to throw for unit testing.
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:18
__construct(Container $dic)
ilMStListCertificates constructor.
Abstract class ilLPStatus for all learning progress modes E.g ilLPStatusManual, ilLPStatusObjectives ...
Class ilMStListCertificatesGUI.
Class ilMyStaffGUI.
Class ilOrgUnitOperation.
$data
Definition: storeScorm.php:23