Merge pull request #1664 from nextcloud/fix/noid/hashtag-timeline

hashtags timeline
pull/1665/head
Maxence Lange 2023-03-16 13:15:56 -01:00 zatwierdzone przez GitHub
commit 89a6c5cdd4
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
2 zmienionych plików z 21 dodań i 4 usunięć

Wyświetl plik

@ -140,7 +140,14 @@ class Timeline extends ExtendedBase {
if ($input->getOption('local')) {
$options->setLocal(true);
}
$options->setProbe($input->getArgument('timeline'));
$timeline = $input->getArgument('timeline');
if (str_starts_with($timeline, '#')) {
$options->setProbe(ProbeOptions::HASHTAG)
->setArgument(substr($timeline, 1));
} else {
$options->setProbe($timeline);
}
if ($input->getOption('account') !== '') {
$local = $this->cacheActorService->getFromLocalAccount($input->getOption('account'));

Wyświetl plik

@ -395,7 +395,7 @@ class StreamRequest extends StreamRequestBuilder {
$result = $this->getTimelineFavourites($options);
break;
case ProbeOptions::HASHTAG:
$result = $this->getTimelineHashtag($options, $options->getArgument());
$result = $this->getTimelineHashtag($options);
break;
case ProbeOptions::NOTIFICATIONS:
$options->setFormat(ACore::FORMAT_NOTIFICATION);
@ -528,10 +528,20 @@ class StreamRequest extends StreamRequestBuilder {
*
* @return Stream[]
*/
private function getTimelineHashtag(ProbeOptions $options, string $hashtag): array {
private function getTimelineHashtag(ProbeOptions $options): array {
$qb = $this->getStreamSelectSql($options->getFormat());
$qb->limitToType(Note::TYPE);
$qb->paginate($options);
return [];
$expr = $qb->expr();
$qb->linkToCacheActors('ca', 's.attributed_to_prim');
$qb->linkToStreamTags('st', 's.id_prim');
$qb->andWhere($qb->exprLimitToDBField('hashtag', $options->getArgument(), true, false, 'st'));
$qb->limitToViewer('sd', 'f', true);
$qb->andWhere($expr->eq('s.attributed_to_prim', 'ca.id_prim'));
$qb->leftJoinStreamAction('sa');
return $this->getStreamsFromRequest($qb);
}