aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorSebastianKrupinski <krupinskis05@gmail.com>2024-04-30 10:30:12 -0400
committerSebastianKrupinski <krupinskis05@gmail.com>2024-04-30 10:30:12 -0400
commitf44b73e2db6d82ceb7ef9e075fce77d8e5555b0f (patch)
tree8845162b37d1bd47771431ab3c1399c649287b2f /apps
parent9859a449081711d9cab764e728858d8abf678859 (diff)
downloadnextcloud-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.php30
-rw-r--r--apps/dav/lib/Server.php7
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)
));