33 $shibUser =
new self();
36 $ext_id = $shibUser->shibServerData->
getLogin();
37 $shibUser->setExternalAccount($ext_id);
38 $existing_usr_id = self::getUsrIdByExtId($ext_id);
39 if ($existing_usr_id !== null) {
40 $shibUser->setId($existing_usr_id);
43 $shibUser->setAuthMode(
'shibboleth');
51 if ($shibConfig->getUpdateFirstname()) {
54 if ($shibConfig->getUpdateLastname()) {
57 if ($shibConfig->getUpdateGender()) {
60 if ($shibConfig->getUpdateTitle()) {
63 if ($shibConfig->getUpdateInstitution()) {
66 if ($shibConfig->getUpdateDepartment()) {
69 if ($shibConfig->getUpdateStreet()) {
72 if ($shibConfig->getUpdateZipcode()) {
75 if ($shibConfig->getUpdateCountry()) {
78 if ($shibConfig->getUpdatePhoneOffice()) {
81 if ($shibConfig->getUpdatePhoneHome()) {
84 if ($shibConfig->getUpdatePhoneMobile()) {
87 if ($shibConfig->getUpdateFax()) {
90 if ($shibConfig->getUpdateMatriculation()) {
93 if ($shibConfig->getUpdateEmail()) {
96 if ($shibConfig->getUpdateHobby()) {
99 if ($shibConfig->getUpdateLanguage()) {
141 $recipients = array_filter($registration_settings->getApproveRecipients(), fn($v):
bool => is_int($v));
142 if (
$c->isActivateNew() && $recipients !== []) {
146 $mail->setRecipients($registration_settings->getApproveRecipients());
147 $mail->setAdditionalInformation([
'usr' => $this]);
152 return parent::create();
166 $login = $login_tmp . $appendix;
175 return $this->
getId() === 0;
181 'ä' =>
'ae',
'ö' =>
'oe',
'ü' =>
'ue',
182 'Ä' =>
'Ae',
'Ö' =>
'Oe',
'Ü' =>
'Ue',
185 $name = strtr($name, $umlaut_map);
188 $name = $form_d->formD()->transform($name);
189 $name = iconv(
'UTF-8',
'ASCII//TRANSLIT//IGNORE', (
string) $name);
191 return strtolower((
string) preg_replace(
'/[^a-zA-Z0-9\s]/',
'', $name));
198 $ilDB = $DIC->database();
200 $query =
'SELECT usr_id FROM usr_data WHERE login = ' .
$ilDB->quote($login,
'text');
201 $query .=
' AND usr_id != ' .
$ilDB->quote($usr_id,
'integer');
203 return $ilDB->numRows(
$ilDB->query($query)) > 0;
210 $ilDB = $DIC->database();
212 $query =
'SELECT usr_id FROM usr_data WHERE ext_account = ' .
$ilDB->quote($ext_id,
'text');
213 $a_set =
$ilDB->query($query);
214 if (
$ilDB->numRows($a_set) === 0) {
218 $usr =
$ilDB->fetchObject($a_set);
220 return isset($usr->usr_id) ? (
int) $usr->usr_id : null;
setUTitle(string $a_str)
set user title (note: don't mix up this method with setTitle() that is derived from ilObject and sets...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setTimeLimitUnlimited(bool $a_unlimited)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setMatriculation(string $a_str)
setPhoneOffice(string $a_str)
loginExists(string $login, int $usr_id)
shibServerData $shibServerData
getFullname(int $a_max_strlen=0)
setTimeLimitUntil(?int $a_until)
setInstitution(string $a_str)
setPasswd(string $a_str, string $a_type=ilObjUser::PASSWD_PLAIN)
setExternalAccount(string $a_str)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setActive(bool $a_active, int $a_owner=0)
set user active state and updates system fields appropriately
setDepartment(string $a_str)
setPhoneHome(string $a_str)
static buildInstance(shibServerData $shibServerData)
static getUsrIdByExtId(string $ext_id)
setCountry(string $a_str)
static generatePasswords(int $a_number)
Generate a number of passwords.
setPhoneMobile(string $a_str)
setLastname(string $a_str)
Class ilObjAuthSettingsGUI.
setLanguage(string $a_str)
setTimeLimitOwner(int $a_owner)
setLastPasswordChangeToNow()
setZipcode(string $a_str)
setTimeLimitFrom(?int $a_from)
setFirstname(string $a_str)
setDescription(string $description)
const TYPE_NOTIFICATION_CONFIRMATION