aboutsummaryrefslogtreecommitdiff
path: root/lib/ilias_interface/ConnectedIlias.php
diff options
context:
space:
mode:
authorArne Schröder, M. A. <schroeder@data-quest.de>2024-12-19 13:38:22 +0000
committerRasmus Fuhse <fuhse@data-quest.de>2024-12-19 13:38:22 +0000
commit7cbba1ec8a0de90e02632fe06beebb2e672a07a2 (patch)
tree07c203bcfa1f022b105940b34191c797251ae7fd /lib/ilias_interface/ConnectedIlias.php
parent147a30d22cad9f074a2f2a968a156e021ae59f33 (diff)
Resolve "Accountmanagement für verknüpfte ILIAS-Accounts in Stud.IP"
Closes #4263 Merge request studip/studip!3368
Diffstat (limited to 'lib/ilias_interface/ConnectedIlias.php')
-rw-r--r--lib/ilias_interface/ConnectedIlias.php17
1 files changed, 13 insertions, 4 deletions
diff --git a/lib/ilias_interface/ConnectedIlias.php b/lib/ilias_interface/ConnectedIlias.php
index 94c6ad8..e90f75b 100644
--- a/lib/ilias_interface/ConnectedIlias.php
+++ b/lib/ilias_interface/ConnectedIlias.php
@@ -336,8 +336,17 @@ class ConnectedIlias
($this->user->auth_plugin == $this->ilias_config['ldap_enable'])) {
$this->user->id = $user_exists;
$this->user->login = $user_data["login"];
- $this->user->setConnection($this->user->getUserType(), true);
- PageLayout::postSuccess(sprintf(_("Verbindung mit Nutzer ID %s wiederhergestellt."), $this->user->id));
+ $this->user->setConnection($this->user->getUserType());
+ PageLayout::postSuccess(sprintf(
+ _('Verbindung mit Account ID %s wiederhergestellt.'),
+ htmlReady($this->user->id)
+ ));
+ return true;
+ } elseif ($user_exists && $this->ilias_config['reconnect_accounts']) {
+ $this->user->id = $user_exists;
+ $this->user->login = $user_data["login"];
+ $this->user->setConnection($this->user->getUserType());
+ PageLayout::postSuccess(sprintf(_('Verbindung mit Account ID %s wiederhergestellt.'), htmlReady($this->user->id)));
return true;
} elseif ($user_exists) {
$this->error[] = sprintf(_('Externer Account konnte nicht angelegt werden. Es existiert bereits ein User mit dem Login %s in %s'), $user_data["login"], $this->ilias_config['name']);
@@ -361,7 +370,7 @@ class ConnectedIlias
}
// set role according to Stud.IP perm
- if (User::findCurrent()->perms === 'root') {
+ if (User::find($this->user->studip_id)->perms === 'root') {
$role_id = 2;
} else {
$role_id = 4;
@@ -519,7 +528,7 @@ class ConnectedIlias
// data for user category in ILIAS
$object_data["title"] = sprintf(_("Eigene Daten von %s (%s)."), $this->user->getName(), $this->user->getId());
- $object_data["description"] = sprintf(_("Hier befinden sich die persönlichen Lernmodule des Benutzers %s."), $this->user->getName());
+ $object_data['description'] = sprintf(_('Hier befinden sich die persönlichen Lernmodule von %s.'), $this->user->getName());
$object_data["type"] = "cat";
$object_data["owner"] = $this->user->getId();