| Server IP : 185.252.147.100 / Your IP : 216.73.217.33 Web Server : nginx/1.27.3 System : Linux mitrofanov.ru 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 User : mitr ( 1000) PHP Version : 8.2.29 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/html/kanboard/app/Subscriber/ |
Upload File : |
<?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->avatarFileModel->uploadImageContent($profile['id'], $photo);
}
}
}
}