ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilMStListCertificates.php
Go to the documentation of this file.
1 <?php
2 
4 
10 use ilLPStatus;
12 use 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
49  $operation_access = ilOrgUnitOperation::OP_VIEW_CERTIFICATES;
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 }
$data
Definition: storeScorm.php:23
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:17
__construct(Container $dic)
ilMStListCertificates constructor.