diff --git a/src/Speakers/src/TwigExtension/SpeakersExtension.php b/src/Speakers/src/TwigExtension/SpeakersExtension.php index 15aeb99..3dd5f64 100644 --- a/src/Speakers/src/TwigExtension/SpeakersExtension.php +++ b/src/Speakers/src/TwigExtension/SpeakersExtension.php @@ -10,11 +10,19 @@ class SpeakersExtension extends AbstractExtension public function getFunctions() { return [ - new TwigFunction('speakerSessions', [$this, 'getSpeakerSessions']) + new TwigFunction('sessionSpeakers', [$this, 'getSessionSpeakers']), + new TwigFunction('speakerSessions', [$this, 'getSpeakerSessions']), ]; } - public function getSpeakerSessions($speaker, $sessions): array + public function getSessionSpeakers($session, array $speakers): array + { + return collect($speakers)->filter(function ($speaker) use ($session): bool { + return collect($session['speakers'])->contains($speaker['name']); + })->values()->toArray(); + } + + public function getSpeakerSessions($speaker, array $sessions): array { return collect($sessions)->filter(function ($session) use ($speaker): bool { return collect($session['speakers'])->contains($speaker['name']);