/** @var IUserManager */
protected $userManager;
- /** @var string[] */
- protected $userDisplayNames = [];
-
/** @var IGroupManager */
protected $groupManager;
[, $name] = Uri\split($row['principaluri']);
$uri = $row['uri'] . '_shared_by_' . $name;
- $row['displayname'] = $row['displayname'] . ' (' . $this->getUserDisplayName($name) . ')';
+ $row['displayname'] = $row['displayname'] . ' (' . ($this->userManager->getDisplayName($name) ?? ($name ?? '')) . ')';
$components = [];
if ($row['components']) {
$components = explode(',',$row['components']);
return array_values($calendars);
}
-
- /**
- * @param $uid
- * @return string
- */
- private function getUserDisplayName($uid) {
- if (!isset($this->userDisplayNames[$uid])) {
- $user = $this->userManager->get($uid);
-
- if ($user instanceof IUser) {
- $this->userDisplayNames[$uid] = $user->getDisplayName();
- } else {
- $this->userDisplayNames[$uid] = $uid;
- }
- }
-
- return $this->userDisplayNames[$uid];
- }
-
/**
* @return array
*/
$recipientName = $iTipMessage->recipientName ?: null;
if ($senderName === null || empty(trim($senderName))) {
- $user = $this->userManager->get($this->userId);
- if ($user) {
- // getDisplayName automatically uses the uid
- // if no display-name is set
- $senderName = $user->getDisplayName();
- }
+ $sender = $this->userManager->getDisplayName($this->userId) ?? $this->userId;
}
/** @var VEvent $vevent */
];
$fromEMail = Util::getDefaultEmailAddress('invitations-noreply');
- $fromName = $l10n->t('%1$s via %2$s', [$senderName, $this->defaults->getName()]);
+ $fromName = $l10n->t('%1$s via %2$s', [$senderName ?? $this->userId, $this->defaults->getName()]);
$message = $this->mailer->createMessage()
->setFrom([$fromEMail => $fromName])
$message = $this->_testMessage();
$message->senderName = null;
- $user = $this->createMock(IUser::class);
- $user->method('getDisplayName')->willReturn('Mr. Wizard');
-
$this->userManager->expects($this->once())
- ->method('get')
+ ->method('getDisplayName')
->with('user123')
- ->willReturn($user);
+ ->willReturn('Mr. Wizard');
$this->_expectSend();
$this->plugin->schedule($message);