From 866c548d19018c3578773a45f0f8ad04b01d733d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 20 May 2019 23:50:38 +0100 Subject: [PATCH] Get session speakers --- src/Speakers/src/TwigExtension/SpeakersExtension.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) 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']);