src/Twig/PagesExtension.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Twig;
  3. use App\Services\Core\Core;
  4. use App\Services\Pages\Fiches;
  5. use App\Services\Pages\Templates;
  6. use Twig\Extension\AbstractExtension;
  7. use Twig\TwigFunction;
  8. use Twig\TwigFilter;
  9. class PagesExtension extends AbstractExtension
  10. {
  11.     public function __construct(Core $core, Templates $templates)
  12.     {
  13.         $this->core = $core;
  14.         $this->templates = $templates;
  15.     }
  16.     /**
  17.      * {@inheritdoc}
  18.      */
  19.     public function getFunctions(): array
  20.     {
  21.         return [
  22.             new  TwigFunction('getTemplatesFormSubItems', array($this, 'getTemplatesFormSubItems')),
  23.             new  TwigFunction('getExtensionFilename', array($this, 'getExtensionFilename')),
  24.             new  TwigFunction('numbersOfCharacters', array($this, 'numbersOfCharacters')),
  25.             new  TwigFunction('getCountInteractions', array($this, 'getCountInteractions')),
  26.             new  TwigFunction('getSaveHTML', array($this, 'getSaveHTML')),
  27.             new  TwigFunction('cleanSourcecodeHTML', array($this, 'cleanSourcecodeHTML')),
  28.             new  TwigFunction('cleanQcmHTML', array($this, 'cleanQcmHTML')),
  29.             new  TwigFunction('getPageHasLanguages', array($this, 'getPageHasLanguages')),
  30.             new  TwigFunction('getPagesHasLocale', array($this, 'getPagesHasLocale')),
  31.             new  TwigFunction('getPathPageHasLanguages', array($this, 'getPathPageHasLanguages')),
  32.             new  TwigFunction('getArticleAriane', array($this, 'getArticleAriane')),
  33.             new  TwigFunction('autosummary', array($this, 'autosummary')),
  34.             new  TwigFunction('autosummaryID', array($this, 'autosummaryID')),
  35.             new  TwigFunction('getPageIdentifiant', array($this, 'getPageIdentifiant')),
  36.             new  TwigFunction('getPathCategoryHasLanguages', array($this, 'getPathCategoryHasLanguages')),
  37.             new  TwigFunction('getPathCategoryRecruiterDirectoryHasLanguages', array($this, 'getPathCategoryRecruiterDirectoryHasLanguages')),
  38.         ];
  39.     }
  40.     public function getPageIdentifiant($identifiant, $locale = "en") {
  41.         return $this->templates->getPageIdentifiant($identifiant,$locale);
  42.     }
  43.     public function autosummary($html)
  44.     {
  45.         return $this->templates->autosummary($html);
  46.     }
  47.     public function autosummaryID($html)
  48.     {
  49.         return $this->templates->autosummaryID($html);
  50.     }
  51.     public function getArticleAriane($locale,$folderslug,$folderslug2 = null,$folderslug3 = null)
  52.     {
  53.         return $this->templates->getArticleAriane($locale,$folderslug,$folderslug2,$folderslug3);
  54.     }
  55.     public function getPathPageHasLanguages($pageID,$language)
  56.     {
  57.         return $this->templates->getPathPageHasLanguages($pageID,$language);
  58.     }
  59.     public function getPathCategoryHasLanguages($categoryID,$language)
  60.     {
  61.         return $this->templates->getPathCategoryHasLanguages($categoryID,$language);
  62.     }
  63.     public function getPathCategoryRecruiterDirectoryHasLanguages($categoryID,$language)
  64.     {
  65.         return $this->templates->getPathCategoryRecruiterDirectoryHasLanguages($categoryID,$language);
  66.     }
  67.     public function getPageHasLanguages($pageID,$language)
  68.     {
  69.         $queries = $this->templates->getPageHasLanguages($pageID,$language);
  70.         if(!empty($queries)) {
  71.             return $queries;
  72.         }
  73.         return null;
  74.     }
  75.     public function getPagesHasLocale($language)
  76.     {
  77.         return $this->templates->getPagesHasLocale($language);
  78.     }
  79.     public function cleanSourcecodeHTML($html)
  80.     {
  81.         return $this->templates->cleanSourcecodeHTML($html);
  82.     }
  83.     public function cleanQcmHTML($html)
  84.     {
  85.         return $this->templates->cleanQcmHTML($html);
  86.     }
  87.     public function getExtensionFilename($text)
  88.     {
  89.         return $this->core->extension($text);
  90.     }
  91.     public function numbersOfCharacters($chain)
  92.     {
  93.         return $this->core->numbersOfCharacters($chain);
  94.     }
  95.     public function getTemplatesFormSubItems($item)
  96.     {
  97.         return $this->templates->getTemplatesFormSubItems($item);
  98.     }
  99.     public function getSaveHTML($saveTemplate)
  100.     {
  101.         return $this->templates->getSaveHTML($saveTemplate);
  102.     }
  103. }