30 $shibUser =
new self();
33 $ext_id = $shibUser->shibServerData->
getLogin();
34 $shibUser->setExternalAccount($ext_id);
35 $existing_usr_id = self::getUsrIdByExtId($ext_id);
36 if ($existing_usr_id) {
37 $shibUser->setId($existing_usr_id);
40 $shibUser->setAuthMode(
'shibboleth');
48 if ($shibConfig->getUpdateFirstname()) {
51 if ($shibConfig->getUpdateLastname()) {
54 if ($shibConfig->getUpdateGender()) {
57 if ($shibConfig->getUpdateTitle()) {
60 if ($shibConfig->getUpdateInstitution()) {
63 if ($shibConfig->getUpdateDepartment()) {
66 if ($shibConfig->getUpdateStreet()) {
69 if ($shibConfig->getUpdateZipcode()) {
72 if ($shibConfig->getUpdateCountry()) {
75 if ($shibConfig->getUpdatePhoneOffice()) {
78 if ($shibConfig->getUpdatePhoneHome()) {
81 if ($shibConfig->getUpdatePhoneMobile()) {
84 if ($shibConfig->getUpdateFax()) {
87 if ($shibConfig->getUpdateMatriculation()) {
90 if ($shibConfig->getUpdateEmail()) {
93 if ($shibConfig->getUpdateHobby()) {
96 if ($shibConfig->getUpdateLanguage()) {
138 $recipients = array_filter($registration_settings->getApproveRecipients(),
function ($v) {
141 if (
$c->isActivateNew() && $recipients !== []) {
145 $mail->setRecipients($registration_settings->getApproveRecipients());
146 $mail->setAdditionalInformation(array(
'usr' => $this));
151 return parent::create();
164 while (self::loginExists(
$login, $this->
getId())) {
165 $login = $login_tmp . $appendix;
174 return $this->
getId() === 0;
179 return strtolower(strtr(
181 utf8_decode(
'ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ'),
182 'SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy' 190 $ilDB = $DIC->database();
192 $query =
'SELECT usr_id FROM usr_data WHERE login = ' .
$ilDB->quote($login,
'text');
193 $query .=
' AND usr_id != ' .
$ilDB->quote($usr_id,
'integer');
206 $ilDB = $DIC->database();
208 $query =
'SELECT usr_id FROM usr_data WHERE ext_account = ' .
$ilDB->quote($ext_id,
'text');
210 if (
$ilDB->numRows($a_set) === 0) {
214 $usr =
$ilDB->fetchObject($a_set);
216 return (
int) $usr->usr_id;
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setTimeLimitUnlimited(bool $a_unlimited)
static loginExists(string $login, int $usr_id)
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)
shibServerData $shibServerData
getFullname(int $a_max_strlen=0)
static cleanName(string $name)
setTimeLimitUntil(?int $a_until)
setInstitution(string $a_str)
setPasswd(string $a_str, string $a_type=ilObjUser::PASSWD_PLAIN)
setExternalAccount(string $a_str)
setDescription(string $desc)
setActive(bool $a_active, int $a_owner=0)
set user active state and updates system fields appropriately
setDepartment(string $a_str)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
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)
const TYPE_NOTIFICATION_CONFIRMATION