ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables 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)
 

Protected Member Functions

 getSuperiorsSql (array $user_ids)
 

Protected Attributes

 $dic
 
 $orgu_users
 
 $with_superiors = false
 
 $with_positions = false
 

Static Protected Attributes

static $instance
 

Private Member Functions

 loadUsersByUserIds (array $user_ids)
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

OrgUnit\User\ilOrgUnitUserRepository::__construct ( )

ilOrgUnitUserRepository constructor.

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

References $DIC.

43  {
44  global $DIC;
45  $this->dic = $DIC;
46  }
global $DIC
Definition: goto.php:24

Member Function Documentation

◆ getEmailAdressesOfSuperiors()

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

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

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

136  : array
137  {
138  global $DIC;
139 
140  $st = $DIC->database()->query($this->getSuperiorsSql($user_ids));
141 
142  $arr_email_sup = [];
143  while ($data = $DIC->database()->fetchAssoc($st)) {
144  $arr_email_sup[] = $data['sup_email'];
145  }
146 
147  return $arr_email_sup;
148  }
$data
Definition: storeScorm.php:23
global $DIC
Definition: goto.php:24
+ 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 97 of file class.ilOrgUnitUserRepository.php.

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

97  : ?ilOrgUnitUser
98  {
99  $this->orgu_users = $this->loadUsersByUserIds([$user_id]);
100 
101  if (count($this->orgu_users) == 0) {
102  return null;
103  }
104 
105  if ($this->with_superiors === true) {
106  $this->loadSuperiors([$user_id]);
107  }
108 
109  return $this->orgu_users[0];
110  }
+ 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 76 of file class.ilOrgUnitUserRepository.php.

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

76  : array
77  {
78  $this->orgu_users = $this->loadUsersByUserIds($arr_user_id);
79 
80  if ($this->with_superiors === true) {
81  $this->loadSuperiors($arr_user_id);
82  }
83 
84  if ($this->with_positions === true) {
85  $this->loadPositions($arr_user_id);
86  }
87 
88  return $this->orgu_users;
89  }
+ Here is the call graph for this function:

◆ getSuperiorsSql()

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

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

References $DIC, ilOrgUnitPosition\CORE_POSITION_EMPLOYEE, ilOrgUnitPosition\CORE_POSITION_SUPERIOR, OrgUnit\User\ilOrgUnitUser\getInstanceById(), and ActiveRecord\where().

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

156  : string
157  {
158  global $DIC;
159 
160  $sql = "SELECT
161  orgu_ua.orgu_id AS orgu_id,
162  orgu_ua.user_id AS empl_usr_id,
163  orgu_ua2.user_id as sup_usr_id,
164  superior.email as sup_email,
165  superior.second_email as sup_second_email,
166  superior.login as sup_login
167  FROM
168  il_orgu_ua as orgu_ua,
169  il_orgu_ua as orgu_ua2
170  inner join usr_data as superior on superior.usr_id = orgu_ua2.user_id
171  WHERE
172  orgu_ua.orgu_id = orgu_ua2.orgu_id
173  and orgu_ua.user_id <> orgu_ua2.user_id
174  and orgu_ua.position_id = " . \ilOrgUnitPosition::CORE_POSITION_EMPLOYEE . "
175  and orgu_ua2.position_id = " . \ilOrgUnitPosition::CORE_POSITION_SUPERIOR . "
176  AND " . $DIC->database()->in('orgu_ua.user_id', $user_ids, false, 'integer');
177 
178  return $sql;
179  }
global $DIC
Definition: goto.php:24
+ 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 116 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().

116  : void
117  {
118  global $DIC;
119 
120  $st = $DIC->database()->query($this->getSuperiorsSql($user_ids));
121 
122  $empl_id_sup_ids = [];
123  while ($data = $DIC->database()->fetchAssoc($st)) {
124  $org_unit_user = ilOrgUnitUser::getInstanceById($data['empl_usr_id']);
125  $superior = ilOrgUnitUser::getInstance($data['sup_usr_id'], (string)$data['sup_login'], (string)$data['sup_email'], (string)$data['sup_second_email']);
126  $org_unit_user->addSuperior($superior);
127  }
128  }
static getInstanceById(int $user_id)
$data
Definition: storeScorm.php:23
static getInstance(int $user_id, string $login, string $email, string $second_email)
global $DIC
Definition: goto.php:24
+ 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 211 of file class.ilOrgUnitUserRepository.php.

References OrgUnit\User\ilOrgUnitUser\getInstance().

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

211  : array
212  {
213  $users = array();
214 
215  $q = "SELECT * FROM usr_data WHERE " . $this->dic->database()->in('usr_id', $user_ids, false, 'int');
216 
217  $set = $this->dic->database()->query($q);
218 
219  while ($row = $this->dic->database()->fetchAssoc($set)) {
220  $users[] = ilOrgUnitUser::getInstance($row['usr_id'], (string)$row['login'], (string)$row['email'], (string)$row['second_email']);
221  }
222 
223  return $users;
224  }
static getInstance(int $user_id, string $login, string $email, string $second_email)
+ 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 63 of file class.ilOrgUnitUserRepository.php.

63  : ilOrgUnitUserRepository
64  {
65  $this->with_positions = true;
66 
67  return $this;
68  }

◆ withSuperiors()

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

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

52  : ilOrgUnitUserRepository
53  {
54  $this->with_superiors = true;
55 
56  return $this;
57  }

Field Documentation

◆ $dic

OrgUnit\User\ilOrgUnitUserRepository::$dic
protected

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

◆ $instance

OrgUnit\User\ilOrgUnitUserRepository::$instance
staticprotected

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

◆ $orgu_users

OrgUnit\User\ilOrgUnitUserRepository::$orgu_users
protected

◆ $with_positions

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

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

◆ $with_superiors

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

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


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