diff --git a/components/Language/Language.php b/components/Language/Language.php index cbfb53b517..599f8b0c39 100644 --- a/components/Language/Language.php +++ b/components/Language/Language.php @@ -29,14 +29,16 @@ use App\Entity\Note; use App\Util\Formatting; use App\Util\Functional as GSF; use Doctrine\Common\Collections\ExpressionBuilder; +use Symfony\Component\HttpFoundation\Request; use Doctrine\ORM\Query\Expr; use Doctrine\ORM\QueryBuilder; use Functional as F; class Language extends Component { - public function onFilterNoteList(Actor $actor, array &$notes) + public function onFilterNoteList(?Actor $actor, array &$notes, Request $request) { + if (\is_null($actor)) return Event::next; $notes = F\select( $notes, fn (Note $n) => \in_array($n->getLanguageId(), ActorLanguage::getActorRelatedLanguagesIds($actor)), diff --git a/plugins/TagBasedFiltering/TagBasedFiltering.php b/plugins/TagBasedFiltering/TagBasedFiltering.php index 7d0c8d1ea3..26e16e6121 100644 --- a/plugins/TagBasedFiltering/TagBasedFiltering.php +++ b/plugins/TagBasedFiltering/TagBasedFiltering.php @@ -76,8 +76,9 @@ class TagBasedFiltering extends Plugin ]; } - public function onFilterNoteList(Actor $actor, array &$notes) + public function onFilterNoteList(?Actor $actor, array &$notes, Request $request) { + if (\is_null($actor)) return Event::next; $blocked_note_tags = Cache::get( self::cacheKeys($actor)['note'], fn () => DB::dql('select ntb from note_tag_block ntb where ntb.blocker = :blocker', ['blocker' => $actor->getId()]), diff --git a/src/Core/Controller/FeedController.php b/src/Core/Controller/FeedController.php index 72c808bc34..89d57a021d 100644 --- a/src/Core/Controller/FeedController.php +++ b/src/Core/Controller/FeedController.php @@ -49,9 +49,7 @@ abstract class FeedController extends Controller if (\array_key_exists('notes', $result)) { $notes = $result['notes']; - if (!\is_null($actor)) { - Event::handle('FilterNoteList', [$actor, &$notes]); - } + Event::handle('FilterNoteList', [$actor, &$notes, $result['request']]); if ($result['should_format'] ?? true) { $notes_out = null; diff --git a/templates/feeds/feed.html.twig b/templates/feeds/feed.html.twig index 1b030f120d..9639fc0827 100644 --- a/templates/feeds/feed.html.twig +++ b/templates/feeds/feed.html.twig @@ -9,7 +9,7 @@ {% endblock stylesheets %} {% block body %} - {% for block in handle_event('BeforeFeed') %} + {% for block in handle_event('BeforeFeed', app.request) %} {{ block | raw }} {% endfor %} {# Backwards compatibility with hAtom 0.1 #}