ILIAS  trunk Revision v11.0_alpha-1715-g7fc467680fb
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
OrgUnit\User\ilOrgUnitUserRepository Class Reference

Class ilOrgUnitUserRepository. More...

+ Collaboration diagram for OrgUnit\User\ilOrgUnitUserRepository:

Public Member Functions

 __construct ()
 ilOrgUnitUserRepository constructor. More...
 
 withSuperiors ()
 
 withPositions ()
 
 getOrgUnitUsers (array $arr_user_id)
 
 getOrgUnitUser (int $user_id)
 
 loadSuperiors (array $user_ids)
 
 getEmailAdressesOfSuperiors (array $user_ids)
 
 loadPositions (array $user_ids)
 

Protected Member Functions

 getAssignmentRepo ()
 
 getSuperiorsSql (array $user_ids)
 

Protected Attributes

ILIAS DI Container $dic
 
ilOrgUnitPositionDBRepository $positionRepo
 
array $orgu_users
 
bool $with_superiors = false
 
bool $with_positions = false
 
ilOrgUnitUserAssignmentDBRepository $assignmentRepo
 

Static Protected Attributes

static array $instance
 

Private Member Functions

 getPositionRepo ()
 
 loadUsersByUserIds (array $user_ids)
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

OrgUnit\User\ilOrgUnitUserRepository::__construct ( )

ilOrgUnitUserRepository constructor.

Definition at line 48 of file class.ilOrgUnitUserRepository.php.

References $DIC.

49  {
50  global $DIC;
51  $this->dic = $DIC;
52  }
global $DIC
Definition: shib_login.php:22

Member Function Documentation

◆ getAssignmentRepo()

OrgUnit\User\ilOrgUnitUserRepository::getAssignmentRepo ( )
protected

Definition at line 64 of file class.ilOrgUnitUserRepository.php.

References OrgUnit\User\ilOrgUnitUserRepository\$assignmentRepo, and ilOrgUnitLocalDIC\dic().

Referenced by OrgUnit\User\ilOrgUnitUserRepository\loadPositions().

65  {
66  if (!isset($this->assignmentRepo)) {
68  $this->assignmentRepo = $dic["repo.UserAssignments"];
69  }
70 
71  return $this->assignmentRepo;
72  }
ilOrgUnitUserAssignmentDBRepository $assignmentRepo
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getEmailAdressesOfSuperiors()

OrgUnit\User\ilOrgUnitUserRepository::getEmailAdressesOfSuperiors ( array  $user_ids)
Parameters
array$user_ids
Returns
array

Definition at line 158 of file class.ilOrgUnitUserRepository.php.

References $data, $DIC, and OrgUnit\User\ilOrgUnitUserRepository\getSuperiorsSql().

158  : array
159  {
160  global $DIC;
161 
162  $st = $DIC->database()->query($this->getSuperiorsSql($user_ids));
163 
164  $arr_email_sup = [];
165  while ($data = $DIC->database()->fetchAssoc($st)) {
166  $arr_email_sup[] = $data['sup_email'];
167  }
168 
169  return $arr_email_sup;
170  }
global $DIC
Definition: shib_login.php:22
+ Here is the call graph for this function:

◆ getOrgUnitUser()

OrgUnit\User\ilOrgUnitUserRepository::getOrgUnitUser ( int  $user_id)
Parameters
int$user_id
Returns
ilOrgUnitUser|null

Definition at line 117 of file class.ilOrgUnitUserRepository.php.

References OrgUnit\User\ilOrgUnitUserRepository\loadSuperiors(), OrgUnit\User\ilOrgUnitUserRepository\loadUsersByUserIds(), and null.

117  : ?ilOrgUnitUser
118  {
119  $this->orgu_users = $this->loadUsersByUserIds([$user_id]);
120 
121  if (count($this->orgu_users) == 0) {
122  return null;
123  }
124 
125  if ($this->with_superiors === true) {
126  $this->loadSuperiors([$user_id]);
127  }
128 
129  return $this->orgu_users[0];
130  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:

◆ getOrgUnitUsers()

OrgUnit\User\ilOrgUnitUserRepository::getOrgUnitUsers ( array  $arr_user_id)
Parameters
array$arr_user_id
Returns
array

Definition at line 98 of file class.ilOrgUnitUserRepository.php.

References OrgUnit\User\ilOrgUnitUserRepository\$orgu_users, OrgUnit\User\ilOrgUnitUserRepository\loadPositions(), OrgUnit\User\ilOrgUnitUserRepository\loadSuperiors(), and OrgUnit\User\ilOrgUnitUserRepository\loadUsersByUserIds().

98  : array
99  {
100  $this->orgu_users = $this->loadUsersByUserIds($arr_user_id);
101 
102  if ($this->with_superiors === true) {
103  $this->loadSuperiors($arr_user_id);
104  }
105 
106  if ($this->with_positions === true) {
107  $this->loadPositions($arr_user_id);
108  }
109 
110  return $this->orgu_users;
111  }
+ Here is the call graph for this function:

◆ getPositionRepo()

OrgUnit\User\ilOrgUnitUserRepository::getPositionRepo ( )
private

Definition at line 54 of file class.ilOrgUnitUserRepository.php.

References OrgUnit\User\ilOrgUnitUserRepository\$positionRepo, and ilOrgUnitLocalDIC\dic().

Referenced by OrgUnit\User\ilOrgUnitUserRepository\loadPositions().

55  {
56  if (!isset($this->positionRepo)) {
58  $this->positionRepo = $dic["repo.Positions"];
59  }
60 
61  return $this->positionRepo;
62  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSuperiorsSql()

OrgUnit\User\ilOrgUnitUserRepository::getSuperiorsSql ( array  $user_ids)
protected
Parameters
array$user_ids
Returns
string

Definition at line 176 of file class.ilOrgUnitUserRepository.php.

References $DIC, ilOrgUnitPosition\CORE_POSITION_EMPLOYEE, and ilOrgUnitPosition\CORE_POSITION_SUPERIOR.

Referenced by OrgUnit\User\ilOrgUnitUserRepository\getEmailAdressesOfSuperiors(), and OrgUnit\User\ilOrgUnitUserRepository\loadSuperiors().

176  : string
177  {
178  global $DIC;
179 
180  $sql = "SELECT
181  orgu_ua.orgu_id AS orgu_id,
182  orgu_ua.user_id AS empl_usr_id,
183  orgu_ua2.user_id as sup_usr_id,
184  superior.email as sup_email,
185  superior.second_email as sup_second_email,
186  superior.login as sup_login
187  FROM
188  il_orgu_ua as orgu_ua,
189  il_orgu_ua as orgu_ua2
190  inner join usr_data as superior on superior.usr_id = orgu_ua2.user_id
191  WHERE
192  orgu_ua.orgu_id = orgu_ua2.orgu_id
193  and orgu_ua.user_id <> orgu_ua2.user_id
194  and orgu_ua.position_id = " . \ilOrgUnitPosition::CORE_POSITION_EMPLOYEE . "
195  and orgu_ua2.position_id = " . \ilOrgUnitPosition::CORE_POSITION_SUPERIOR . "
196  AND " . $DIC->database()->in('orgu_ua.user_id', $user_ids, false, 'integer');
197 
198  return $sql;
199  }
global $DIC
Definition: shib_login.php:22
+ Here is the caller graph for this function:

◆ loadPositions()

OrgUnit\User\ilOrgUnitUserRepository::loadPositions ( array  $user_ids)

Definition at line 201 of file class.ilOrgUnitUserRepository.php.

References OrgUnit\User\ilOrgUnitUserRepository\getAssignmentRepo(), OrgUnit\User\ilOrgUnitUser\getInstanceById(), and OrgUnit\User\ilOrgUnitUserRepository\getPositionRepo().

Referenced by OrgUnit\User\ilOrgUnitUserRepository\getOrgUnitUsers().

201  : void
202  {
203  $assignments = $this->getAssignmentRepo()
204  ->getByUsers($user_ids);
205  foreach ($assignments as $assignment) {
206  $org_unit_user = ilOrgUnitUser::getInstanceById($assignment->getUserId());
207  $org_unit_user->addPositions($this->getPositionRepo()->getSingle($assignment->getPositionId(), 'id'));
208  }
209  }
static getInstanceById(int $user_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadSuperiors()

OrgUnit\User\ilOrgUnitUserRepository::loadSuperiors ( array  $user_ids)
Parameters
array$user_ids

Definition at line 135 of file class.ilOrgUnitUserRepository.php.

References $data, $DIC, OrgUnit\User\ilOrgUnitUser\getInstance(), OrgUnit\User\ilOrgUnitUser\getInstanceById(), and OrgUnit\User\ilOrgUnitUserRepository\getSuperiorsSql().

Referenced by OrgUnit\User\ilOrgUnitUserRepository\getOrgUnitUser(), and OrgUnit\User\ilOrgUnitUserRepository\getOrgUnitUsers().

135  : void
136  {
137  global $DIC;
138 
139  $st = $DIC->database()->query($this->getSuperiorsSql($user_ids));
140 
141  $empl_id_sup_ids = [];
142  while ($data = $DIC->database()->fetchAssoc($st)) {
143  $org_unit_user = ilOrgUnitUser::getInstanceById($data['empl_usr_id']);
144  $superior = ilOrgUnitUser::getInstance(
145  $data['sup_usr_id'],
146  (string) $data['sup_login'],
147  (string) $data['sup_email'],
148  (string) $data['sup_second_email']
149  );
150  $org_unit_user->addSuperior($superior);
151  }
152  }
static getInstanceById(int $user_id)
static getInstance(int $user_id, string $login, string $email, string $second_email)
global $DIC
Definition: shib_login.php:22
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadUsersByUserIds()

OrgUnit\User\ilOrgUnitUserRepository::loadUsersByUserIds ( array  $user_ids)
private
Parameters
$user_ids
Returns
array

Definition at line 215 of file class.ilOrgUnitUserRepository.php.

References $q, and OrgUnit\User\ilOrgUnitUser\getInstance().

Referenced by OrgUnit\User\ilOrgUnitUserRepository\getOrgUnitUser(), and OrgUnit\User\ilOrgUnitUserRepository\getOrgUnitUsers().

215  : array
216  {
217  $users = array();
218 
219  $q = "SELECT * FROM usr_data WHERE " . $this->dic->database()->in('usr_id', $user_ids, false, 'int');
220 
221  $set = $this->dic->database()->query($q);
222 
223  while ($row = $this->dic->database()->fetchAssoc($set)) {
224  $users[] = ilOrgUnitUser::getInstance(
225  $row['usr_id'],
226  (string) $row['login'],
227  (string) $row['email'],
228  (string) $row['second_email']
229  );
230  }
231 
232  return $users;
233  }
static getInstance(int $user_id, string $login, string $email, string $second_email)
$q
Definition: shib_logout.php:21
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ withPositions()

OrgUnit\User\ilOrgUnitUserRepository::withPositions ( )
Returns
ilOrgUnitUserRepository

Definition at line 87 of file class.ilOrgUnitUserRepository.php.

87  : ilOrgUnitUserRepository
88  {
89  $this->with_positions = true;
90 
91  return $this;
92  }

◆ withSuperiors()

OrgUnit\User\ilOrgUnitUserRepository::withSuperiors ( )
Returns
ilOrgUnitUserRepository

Definition at line 77 of file class.ilOrgUnitUserRepository.php.

77  : ilOrgUnitUserRepository
78  {
79  $this->with_superiors = true;
80 
81  return $this;
82  }

Field Documentation

◆ $assignmentRepo

ilOrgUnitUserAssignmentDBRepository OrgUnit\User\ilOrgUnitUserRepository::$assignmentRepo
protected

◆ $dic

ILIAS DI Container OrgUnit\User\ilOrgUnitUserRepository::$dic
protected

Definition at line 30 of file class.ilOrgUnitUserRepository.php.

◆ $instance

array OrgUnit\User\ilOrgUnitUserRepository::$instance
staticprotected

Definition at line 36 of file class.ilOrgUnitUserRepository.php.

◆ $orgu_users

array OrgUnit\User\ilOrgUnitUserRepository::$orgu_users
protected

◆ $positionRepo

ilOrgUnitPositionDBRepository OrgUnit\User\ilOrgUnitUserRepository::$positionRepo
protected

◆ $with_positions

bool OrgUnit\User\ilOrgUnitUserRepository::$with_positions = false
protected

Definition at line 42 of file class.ilOrgUnitUserRepository.php.

◆ $with_superiors

bool OrgUnit\User\ilOrgUnitUserRepository::$with_superiors = false
protected

Definition at line 41 of file class.ilOrgUnitUserRepository.php.


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