userManager = $userManager; $this->groupManager = $groupManager; $this->url = $urlGenerator; } protected function setSubjects(IEvent $event, string $subject, array $parameters): void { $event->setRichSubject($subject, $parameters); } /** * @param array $data * @param IL10N $l * @return array */ protected function generateCalendarParameter($data, IL10N $l) { if ($data['uri'] === CalDavBackend::PERSONAL_CALENDAR_URI && $data['name'] === CalDavBackend::PERSONAL_CALENDAR_NAME) { return [ 'type' => 'calendar', 'id' => $data['id'], 'name' => $l->t('Personal'), ]; } return [ 'type' => 'calendar', 'id' => $data['id'], 'name' => $data['name'], ]; } /** * @param int $id * @param string $name * @return array */ protected function generateLegacyCalendarParameter($id, $name) { return [ 'type' => 'calendar', 'id' => $id, 'name' => $name, ]; } protected function generateUserParameter(string $uid): array { return [ 'type' => 'user', 'id' => $uid, 'name' => $this->userManager->getDisplayName($uid) ?? $uid, ]; } /** * @param string $gid * @return array */ protected function generateGroupParameter($gid) { if (!isset($this->groupDisplayNames[$gid])) { $this->groupDisplayNames[$gid] = $this->getGroupDisplayName($gid); } return [ 'type' => 'user-group', 'id' => $gid, 'name' => $this->groupDisplayNames[$gid], ]; } /** * @param string $gid * @return string */ protected function getGroupDisplayName($gid) { $group = $this->groupManager->get($gid); if ($group instanceof IGroup) { return $group->getDisplayName(); } return $gid; } }