src/Twig/PagesExtension.php line 15

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. }