diff options
author | SebastianKrupinski <krupinskis05@gmail.com> | 2024-04-30 10:30:12 -0400 |
---|---|---|
committer | SebastianKrupinski <krupinskis05@gmail.com> | 2024-04-30 10:30:12 -0400 |
commit | f44b73e2db6d82ceb7ef9e075fce77d8e5555b0f (patch) | |
tree | 8845162b37d1bd47771431ab3c1399c649287b2f /apps | |
parent | 9859a449081711d9cab764e728858d8abf678859 (diff) | |
download | nextcloud-server-f44b73e2db6d82ceb7ef9e075fce77d8e5555b0f.tar.gz nextcloud-server-f44b73e2db6d82ceb7ef9e075fce77d8e5555b0f.zip |
fix(caldav): Use userSession instead of userId
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
Diffstat (limited to 'apps')
-rw-r--r-- | apps/dav/lib/CalDAV/Schedule/IMipPlugin.php | 30 | ||||
-rw-r--r-- | apps/dav/lib/Server.php | 7 |
2 files changed, 16 insertions, 21 deletions
diff --git a/apps/dav/lib/CalDAV/Schedule/IMipPlugin.php b/apps/dav/lib/CalDAV/Schedule/IMipPlugin.php index fcc2ae1e166..472f745fefe 100644 --- a/apps/dav/lib/CalDAV/Schedule/IMipPlugin.php +++ b/apps/dav/lib/CalDAV/Schedule/IMipPlugin.php @@ -41,7 +41,7 @@ use OCA\DAV\CalDAV\EventComparisonService; use OCP\AppFramework\Utility\ITimeFactory; use OCP\Defaults; use OCP\IConfig; -use OCP\IUserManager; +use OCP\IUserSession; use OCP\Mail\IMailer; use OCP\Util; use Psr\Log\LoggerInterface; @@ -69,13 +69,12 @@ use Sabre\VObject\Reader; * @license http://sabre.io/license/ Modified BSD License */ class IMipPlugin extends SabreIMipPlugin { - private ?string $userId; + private IUserSession $userSession; private IConfig $config; private IMailer $mailer; private LoggerInterface $logger; private ITimeFactory $timeFactory; private Defaults $defaults; - private IUserManager $userManager; private ?VCalendar $vCalendar = null; private IMipService $imipService; public const MAX_DATE = '2038-01-01'; @@ -90,18 +89,16 @@ class IMipPlugin extends SabreIMipPlugin { LoggerInterface $logger, ITimeFactory $timeFactory, Defaults $defaults, - IUserManager $userManager, - $userId, + IUserSession $userSession, IMipService $imipService, EventComparisonService $eventComparisonService) { parent::__construct(''); - $this->userId = $userId; + $this->userSession = $userSession; $this->config = $config; $this->mailer = $mailer; $this->logger = $logger; $this->timeFactory = $timeFactory; $this->defaults = $defaults; - $this->userManager = $userManager; $this->imipService = $imipService; $this->eventComparisonService = $eventComparisonService; } @@ -206,17 +203,16 @@ class IMipPlugin extends SabreIMipPlugin { $this->imipService->setL10n($attendee); // Build the sender name. - // Due to a bug in sabre, the senderName property for an iTIP message - // can actually also be a VObject Property - /** @var Parameter|string|null $senderName */ - $senderName = $iTipMessage->senderName ?: null; - if($senderName instanceof Parameter) { - $senderName = $senderName->getValue() ?? null; + // Due to a bug in sabre, the senderName property for an iTIP message can actually also be a VObject Property + // If the iTIP message senderName is null or empty use the user session name as the senderName + if (($iTipMessage->senderName instanceof Parameter) && !empty(trim($iTipMessage->senderName->getValue()))) { + $senderName = $iTipMessage->senderName->getValue(); } - - // Try to get the sender name from the current user id if available. - if ($this->userId !== null && ($senderName === null || empty(trim($senderName)))) { - $senderName = $this->userManager->getDisplayName($this->userId); + elseif (is_string($iTipMessage->senderName) && !empty(trim($iTipMessage->senderName))) { + $senderName = $iTipMessage->senderName; + } + else { + $senderName = $this->userSession->getUser()->getDisplayName(); } $sender = substr($iTipMessage->sender, 7); diff --git a/apps/dav/lib/Server.php b/apps/dav/lib/Server.php index 2465a8253b2..37d04ba8190 100644 --- a/apps/dav/lib/Server.php +++ b/apps/dav/lib/Server.php @@ -304,13 +304,12 @@ class Server { )); if (\OC::$server->getConfig()->getAppValue('dav', 'sendInvitations', 'yes') === 'yes') { $this->server->addPlugin(new IMipPlugin( - \OC::$server->getConfig(), - \OC::$server->getMailer(), + \OC::$server->get(\OCP\IConfig::class), + \OC::$server->get(\OCP\Mail\IMailer::class), \OC::$server->get(LoggerInterface::class), \OC::$server->get(\OCP\AppFramework\Utility\ITimeFactory::class), \OC::$server->get(\OCP\Defaults::class), - \OC::$server->get(\OCP\IUserManager::class), - $user->getUid(), + $userSession, \OC::$server->get(\OCA\DAV\CalDAV\Schedule\IMipService::class), \OC::$server->get(\OCA\DAV\CalDAV\EventComparisonService::class) )); |