addArgument(
'uid',
InputArgument::REQUIRED,
'User whose calendar subscriptions will be listed'
);
}
protected function execute(InputInterface $input, OutputInterface $output): int {
$user = (string)$input->getArgument('uid');
if (!$this->userManager->userExists($user)) {
throw new \InvalidArgumentException("User $user is unknown");
}
$defaultRefreshRate = $this->appConfig->getValueString('dav', 'calendarSubscriptionRefreshRate', 'P1D');
$subscriptions = $this->caldav->getSubscriptionsForUser("principals/users/$user");
$rows = [];
foreach ($subscriptions as $subscription) {
$rows[] = [
$subscription['uri'],
$subscription['{DAV:}displayname'],
$subscription['{http://apple.com/ns/ical/}refreshrate'] ?? ($defaultRefreshRate . ' (default)'),
$subscription['source'],
];
}
usort($rows, static fn (array $a, array $b) => $a[0] <=> $b[0]);
if (count($rows) > 0) {
$table = new Table($output);
$table
->setHeaders(['URI', 'Displayname', 'Refresh rate', 'Source'])
->setRows($rows)
->render();
} else {
$output->writeln("User $user has no subscriptions");
}
return self::SUCCESS;
}
}
-trunk'>integration-to-svn-trunk
Mirror of redmine code source: https://github.com/redmine/redmine | www-data |
blob: 6abe06a996759e9ee75d93227ac337e42e820642 (
plain)