| <?php |
|
|
| namespace Kanboard\Subscriber; |
|
|
| use Kanboard\Core\User\UserProfile; |
| use Kanboard\Event\UserProfileSyncEvent; |
| use Symfony\Component\EventDispatcher\EventSubscriberInterface; |
|
|
| |
| |
| |
| |
| |
| |
| class LdapUserPhotoSubscriber extends BaseSubscriber implements EventSubscriberInterface |
| { |
| |
| |
| |
| |
| |
| |
| |
| public static function getSubscribedEvents() |
| { |
| return array( |
| UserProfile::EVENT_USER_PROFILE_AFTER_SYNC => 'syncUserPhoto', |
| ); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| public function syncUserPhoto(UserProfileSyncEvent $event) |
| { |
| if (is_a($event->getUser(), 'Kanboard\User\LdapUserProvider')) { |
| $profile = $event->getProfile(); |
| $photo = $event->getUser()->getPhoto(); |
|
|
| if (empty($profile['avatar_path']) && ! empty($photo)) { |
| $this->logger->info('Saving user photo from LDAP profile'); |
| $this->avatarFileModel->uploadImageContent($profile['id'], $photo); |
| } |
| } |
| } |
| } |
|
|