From 300dabe6b4e9e648c1111363fad8154def7cfb5f Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sat, 7 May 2016 12:59:35 -0400 Subject: Added support for LDAP user photo profile --- app/Core/Ldap/User.php | 15 ++++++++++++++- app/Core/User/UserProfile.php | 4 ++++ app/Core/User/UserSync.php | 6 +++--- 3 files changed, 21 insertions(+), 4 deletions(-) (limited to 'app/Core') diff --git a/app/Core/Ldap/User.php b/app/Core/Ldap/User.php index d5e1eb8a..d0036ea7 100644 --- a/app/Core/Ldap/User.php +++ b/app/Core/Ldap/User.php @@ -145,7 +145,8 @@ class User $entry->getFirstValue($this->getAttributeName()), $entry->getFirstValue($this->getAttributeEmail()), $this->getRole($groupIds), - $groupIds + $groupIds, + $entry->getFirstValue($this->getAttributePhoto()) ); } @@ -164,6 +165,7 @@ class User $this->getAttributeName(), $this->getAttributeEmail(), $this->getAttributeGroup(), + $this->getAttributePhoto(), ))); } @@ -223,6 +225,17 @@ class User return strtolower(LDAP_USER_ATTRIBUTE_GROUPS); } + /** + * Get LDAP profile photo attribute + * + * @access public + * @return string + */ + public function getAttributePhoto() + { + return strtolower(LDAP_USER_ATTRIBUTE_PHOTO); + } + /** * Get LDAP Group User filter * diff --git a/app/Core/User/UserProfile.php b/app/Core/User/UserProfile.php index ef325801..4f873390 100644 --- a/app/Core/User/UserProfile.php +++ b/app/Core/User/UserProfile.php @@ -3,6 +3,7 @@ namespace Kanboard\Core\User; use Kanboard\Core\Base; +use Kanboard\Event\UserProfileSyncEvent; /** * User Profile @@ -12,6 +13,8 @@ use Kanboard\Core\Base; */ class UserProfile extends Base { + const EVENT_USER_PROFILE_AFTER_SYNC = 'user_profile.after.sync'; + /** * Assign provider data to the local user * @@ -54,6 +57,7 @@ class UserProfile extends Base if (! empty($profile) && $profile['is_active'] == 1) { $this->userSession->initialize($profile); + $this->dispatcher->dispatch(self::EVENT_USER_PROFILE_AFTER_SYNC, new UserProfileSyncEvent($profile, $user)); return true; } diff --git a/app/Core/User/UserSync.php b/app/Core/User/UserSync.php index d450a0bd..055c7106 100644 --- a/app/Core/User/UserSync.php +++ b/app/Core/User/UserSync.php @@ -64,13 +64,13 @@ class UserSync extends Base */ private function createUser(UserProviderInterface $user, array $properties) { - $id = $this->user->create($properties); + $userId = $this->user->create($properties); - if ($id === false) { + if ($userId === false) { $this->logger->error('Unable to create user profile: '.$user->getExternalId()); return array(); } - return $this->user->getById($id); + return $this->user->getById($userId); } } -- cgit v1.2.3