<?phpnamespace App\Twig;use App\Services\Core\Core;use App\Services\Core\Tools;use App\Services\Core\Users;use App\Services\Cvs;use App\Tools\Core\StatusSearchTool;use App\Tools\Cvs\AvailabilityTool;use Twig\Extension\AbstractExtension;use Twig\TwigFilter;use Twig\TwigFunction;class CvsExtension extends AbstractExtension{ public function __construct(Core $coreService, Tools $toolService, Users $usersService, Cvs $cvsService ){ $this->core = $coreService; $this->tool = $toolService; $this->users = $usersService; $this->cvs = $cvsService; } public function getFunctions(): array { return [ new TwigFunction('getCvsCandidateUser', [$this, 'getCvsCandidateUser']), new TwigFunction('getCvsAvailabilityTool', [$this, 'getCvsAvailabilityTool']), new TwigFunction('getCvsStatusSearchTool', [$this, 'getCvsStatusSearchTool']) ]; } public function getFilters() { return []; } public function getCvsCandidateUser($candidateID) { return $this->cvs->getCvsCandidateUser($candidateID); } public function getCvsAvailabilityTool($chain) { return AvailabilityTool::getStatus($chain); } public function getCvsStatusSearchTool($chain) { return StatusSearchTool::getStatus($chain); }}