targetUser = $targetUser; } #[\Override] public function getAppId(): string { return Application::APP_ID; } #[\Override] public function getId(): string { return 'talk'; } #[\Override] public function getDisplayId(): string { return $this->l->t('Contact via Talk'); } #[\Override] public function getTitle(): string { $visitingUser = $this->userSession->getUser(); if (!$visitingUser || $visitingUser === $this->targetUser) { return $this->l->t('Open Talk'); } return $this->l->t('Talk to %s', [$this->targetUser->getDisplayName()]); } #[\Override] public function getPriority(): int { return 10; } #[\Override] public function getIcon(): string { return $this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath(Application::APP_ID, 'app-dark.svg')); } #[\Override] public function getTarget(): ?string { $visitingUser = $this->userSession->getUser(); if ( !$visitingUser || $this->config->isDisabledForUser($this->targetUser) || $this->config->isDisabledForUser($visitingUser) ) { return null; } if ($visitingUser === $this->targetUser) { return $this->urlGenerator->linkToRouteAbsolute('spreed.Page.index'); } return $this->urlGenerator->linkToRouteAbsolute('spreed.Page.index') . '?callUser=' . $this->targetUser->getUID(); } }