Added support for LDAP user photo profile
This commit is contained in:
@@ -34,7 +34,6 @@ class BaseSubscriber extends Base
|
||||
}
|
||||
|
||||
$this->called[$key] = true;
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
49
app/Subscriber/LdapUserPhotoSubscriber.php
Normal file
49
app/Subscriber/LdapUserPhotoSubscriber.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
namespace Kanboard\Subscriber;
|
||||
|
||||
use Kanboard\Core\User\UserProfile;
|
||||
use Kanboard\Event\UserProfileSyncEvent;
|
||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||
|
||||
/**
|
||||
* Class LdapUserPhotoSubscriber
|
||||
*
|
||||
* @package Kanboard\Subscriber
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class LdapUserPhotoSubscriber extends BaseSubscriber implements EventSubscriberInterface
|
||||
{
|
||||
/**
|
||||
* Get event listeners
|
||||
*
|
||||
* @static
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public static function getSubscribedEvents()
|
||||
{
|
||||
return array(
|
||||
UserProfile::EVENT_USER_PROFILE_AFTER_SYNC => 'syncUserPhoto',
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the user profile photo from LDAP to the object storage
|
||||
*
|
||||
* @access public
|
||||
* @param UserProfileSyncEvent $event
|
||||
*/
|
||||
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->avatarFile->uploadImageContent($profile['id'], $photo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user