<?php
namespace Modules\Evaluation\TwigExtension;

class ConvertLibelleExtension extends \Twig\Extension\AbstractExtension
{

    
    protected $pdo;
    
    protected $contenaire;
    
    public function __construct(\PDO $pdo)
    {
        $this->pdo = $pdo;
    }
    
    public function getFunctions()
    {
        return [
            new \Twig\TwigFunction('existInCampLst', [
                $this,
                'existInCampLst'
            ], [
                'is_safe' => [
                    'html'
                ]
            ]),
        ];
    }
// Cette fonction va permettre de tester si le noteur passer en parametre exist dans la table  /CAMP_LST_NOT_GRP/
// bool 1 (noteur par groupe)
// bool 0 (noteur par fournisseur)
// TODO Yanis mettre la fonction dans le repository mais surtout le mettre dans la requete principale
    public function existInCampLst($id_campagne, $noteur, $groupe, $bool)
    {
        // TODO : replace with join
        $req=" SELECT count(ID_CAMP) as count FROM CAMP_LST_NOT_GRP with(nolock) 
            where ID_CAMP=:id_campagne and GROUPE = :groupe and NOTEUR = :noteur 
                and GROUPE in (SELECT GROUPE from CAMP_GRP_NOT with(nolock))
                and NOTEUR in (SELECT NOTEUR from CAMP_GRP_NOT with(nolock))";
        
        $arrayReq = [':id_campagne' => $id_campagne, ':noteur' => $noteur, ':groupe' => $groupe];
        $codeThemePrep = $this->pdo->prepare($req);
        
        $codeThemePrep->execute($arrayReq);
  
        return $codeThemePrep->fetch()['count'];
    }
}
