From b9266e71414df790dc84cb0d674fef18e5e65eec Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Tue, 26 Jul 2016 21:09:25 +0200 Subject: [PATCH] Prevent setting email and triggering events at login time (#25554) Whenever an LDAP user also has an email address defined in LDAP, the LDAP code will try and update the email address of the locally known user. This happens at login time or every time the user's LDAP attributes are processed. There is code listening to the email setting hook which updates the system address book, which also will trigger FS setup due to avatars and other things. This fix only sets the email address when really necessary. --- apps/user_ldap/lib/User/User.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/user_ldap/lib/User/User.php b/apps/user_ldap/lib/User/User.php index 56d881c5d5a..3d247663b3f 100644 --- a/apps/user_ldap/lib/User/User.php +++ b/apps/user_ldap/lib/User/User.php @@ -435,7 +435,10 @@ class User { if(!is_null($email)) { $user = $this->userManager->get($this->uid); if (!is_null($user)) { - $user->setEMailAddress($email); + $currentEmail = $user->getEMailAddress(); + if ($currentEmail !== $email) { + $user->setEMailAddress($email); + } } } } -- 2.39.5