[EVENT][FilterNoteList] Use an in-out parameter, so multiple events can act on this

This commit is contained in:
Hugo Sales 2021-12-09 21:37:08 +00:00
parent 3405312a5b
commit 1be4b3d481
Signed by: someonewithpc
GPG Key ID: 7D0C7EAFC9D835A0
2 changed files with 3 additions and 5 deletions

View File

@ -76,7 +76,7 @@ class TagBasedFiltering extends Plugin
];
}
public function onFilterNoteList(Actor $actor, array $notes, ?array &$notes_out)
public function onFilterNoteList(Actor $actor, array &$notes)
{
$blocked_note_tags = Cache::get(
self::cacheKeys($actor)['note'],
@ -87,7 +87,7 @@ class TagBasedFiltering extends Plugin
fn () => DB::dql('select atb from actor_tag_block atb where atb.blocker = :blocker', ['blocker' => $actor->getId()]),
);
$notes_out = F\reject(
$notes = F\reject(
$notes,
fn (Note $n) => (
$n->getActor()->getId() != $actor->getId()

View File

@ -45,9 +45,7 @@ abstract class FeedController extends Controller
if (\array_key_exists('notes', $result)) {
$notes = $result['notes'];
if (!\is_null($actor)) {
$notes_out = null;
Event::handle('FilterNoteList', [$actor, $notes, &$notes_out]);
$notes = $notes_out;
Event::handle('FilterNoteList', [$actor, &$notes]);
}
$notes_out = null;