34 lines
761 B
PHP
34 lines
761 B
PHP
<?php
|
|
|
|
namespace App\Sponsors\TwigExtension;
|
|
|
|
use App\Sponsors\Model\Sponsor;
|
|
use Twig\Extension\AbstractExtension;
|
|
use Twig\TwigFunction;
|
|
|
|
class SponsorsExtension extends AbstractExtension
|
|
{
|
|
public function getName()
|
|
{
|
|
return 'app.sponsors';
|
|
}
|
|
|
|
public function getFunctions()
|
|
{
|
|
return [
|
|
new TwigFunction('getSponsors', [$this, 'getSponsors'])
|
|
];
|
|
}
|
|
|
|
public function getSponsors(array $sponsorData, string $level): array
|
|
{
|
|
return collect($sponsorData[$level])
|
|
->map(function ($sponsor) {
|
|
return Sponsor::create($sponsor);
|
|
})
|
|
->filter->isConfirmed()
|
|
->map->getData()
|
|
->values()
|
|
->toArray();
|
|
}
|
|
}
|