37 $shib_user =
new self();
40 $ext_id = $shib_user->shibServerData->
getLogin();
41 $shib_user->setExternalAccount($ext_id);
42 $existing_usr_id = self::getUsrIdByExtId($ext_id);
43 if ($existing_usr_id !==
null) {
44 $shib_user->setId($existing_usr_id);
47 $shib_user->setAuthMode(
'shibboleth');
55 if ($shibConfig->getUpdateFirstname()) {
58 if ($shibConfig->getUpdateLastname()) {
61 if ($shibConfig->getUpdateGender()) {
64 if ($shibConfig->getUpdateTitle()) {
67 if ($shibConfig->getUpdateInstitution()) {
70 if ($shibConfig->getUpdateDepartment()) {
73 if ($shibConfig->getUpdateStreet()) {
76 if ($shibConfig->getUpdateZipcode()) {
79 if ($shibConfig->getUpdateCountry()) {
82 if ($shibConfig->getUpdatePhoneOffice()) {
85 if ($shibConfig->getUpdatePhoneHome()) {
88 if ($shibConfig->getUpdatePhoneMobile()) {
91 if ($shibConfig->getUpdateFax()) {
94 if ($shibConfig->getUpdateMatriculation()) {
97 if ($shibConfig->getUpdateEmail()) {
100 if ($shibConfig->getUpdateHobby()) {
103 if ($shibConfig->getUpdateLanguage()) {
149 $recipients = array_filter($registration_settings->getApproveRecipients(),
static fn($v):
bool => is_int($v));
150 if ($recipients !== [] &&
$c->isActivateNew()) {
154 $mail->setRecipients($registration_settings->getApproveRecipients());
155 $mail->setAdditionalInformation([
'usr' => $this]);
160 return parent::create();
174 $login = $login_tmp . $appendix;
183 return $this->
getId() === 0;
189 'ä' =>
'ae',
'ö' =>
'oe',
'ü' =>
'ue',
190 'Ä' =>
'Ae',
'Ö' =>
'Oe',
'Ü' =>
'Ue',
193 $name = strtr($name, $umlaut_map);
196 $name = $form_d->formD()->transform($name);
197 $name = iconv(
'UTF-8',
'ASCII//TRANSLIT//IGNORE', (
string) $name);
199 return strtolower((
string) preg_replace(
'/[^a-zA-Z0-9\s]/',
'', $name));
206 $db = $DIC->database();
208 $query =
'SELECT usr_id FROM usr_data WHERE login = ' .
$db->
quote($login,
'text');
209 $query .=
' AND usr_id != ' .
$db->
quote($usr_id,
'integer');
218 $db = $DIC->database();
220 $query =
'SELECT usr_id FROM usr_data WHERE ext_account = ' .
$db->
quote($ext_id,
'text');
228 return ($usr !==
null && 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...
setTimeLimitUnlimited(bool $a_unlimited)
numRows(ilDBStatement $statement)
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)
quote($value, string $type)
setTimeLimitUntil(?int $a_until)
setInstitution(string $a_str)
setPasswd(string $a_str, string $a_type=ilObjUser::PASSWD_PLAIN)
setExternalAccount(string $a_str)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
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)
fetchObject(ilDBStatement $query_result)
query(string $query)
Run a (read-only) Query on the database.
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