diff options
author | Frederic Guillot <fred@kanboard.net> | 2016-05-07 12:59:35 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2016-05-07 12:59:35 -0400 |
commit | 300dabe6b4e9e648c1111363fad8154def7cfb5f (patch) | |
tree | 1eb9cac2b56401e3c6f0fe8b46233f01909d4885 /app/Core | |
parent | 94989663eca0d0dc2e9adb6d3190f0ab3cca9d2a (diff) |
Added support for LDAP user photo profile
Diffstat (limited to 'app/Core')
-rw-r--r-- | app/Core/Ldap/User.php | 15 | ||||
-rw-r--r-- | app/Core/User/UserProfile.php | 4 | ||||
-rw-r--r-- | app/Core/User/UserSync.php | 6 |
3 files changed, 21 insertions, 4 deletions
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(), ))); } @@ -224,6 +226,17 @@ class User } /** + * Get LDAP profile photo attribute + * + * @access public + * @return string + */ + public function getAttributePhoto() + { + return strtolower(LDAP_USER_ATTRIBUTE_PHOTO); + } + + /** * Get LDAP Group User filter * * @access public 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); } } |