src/Twig/PagesExtension.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Twig;
  3. use App\Services\Core\Core;
  4. use App\Services\Pages\Templates;
  5. use Twig\Extension\AbstractExtension;
  6. use Twig\TwigFunction;
  7. class PagesExtension extends AbstractExtension
  8. {
  9. public function __construct(Core $core,
  10. Templates $templates
  11. ) {
  12. $this->core = $core;
  13. $this->templates = $templates;
  14. }
  15. /**
  16. * {@inheritdoc}
  17. */
  18. public function getFunctions(): array
  19. {
  20. return [
  21. new TwigFunction('numbersOfCharacters', array($this, 'numbersOfCharacters')),
  22. new TwigFunction('getSaveHTML', array($this, 'getSaveHTML')),
  23. new TwigFunction('getPageHasLanguages', array($this, 'getPageHasLanguages')),
  24. new TwigFunction('getPagesHasLocale', array($this, 'getPagesHasLocale')),
  25. new TwigFunction('getPathPageHasLanguages', array($this, 'getPathPageHasLanguages')),
  26. new TwigFunction('autosummary', array($this, 'autosummary')),
  27. new TwigFunction('autosummaryID', array($this, 'autosummaryID')),
  28. new TwigFunction('getPathArticleLocale', array($this, 'getPathArticleLocale')),
  29. ];
  30. }
  31. public function getPathArticleLocale($locale,$identifiant)
  32. {
  33. return $this->fiches->getArticleIdentifiant($locale,$identifiant);
  34. }
  35. public function numbersOfCharacters($chain)
  36. {
  37. return $this->core->numbersOfCharacters($chain);
  38. }
  39. public function getSaveHTML($saveTemplate)
  40. {
  41. return $this->templates->getSaveHTML($saveTemplate);
  42. }
  43. public function getPageHasLanguages($pageID,$language)
  44. {
  45. $queries = $this->templates->getPageHasLanguages($pageID,$language);
  46. if(!empty($queries)) {
  47. return $queries;
  48. }
  49. return null;
  50. }
  51. public function getPagesHasLocale($language)
  52. {
  53. return $this->templates->getPagesHasLocale($language);
  54. }
  55. public function getPathPageHasLanguages($pageID,$language)
  56. {
  57. return $this->templates->getPathPageHasLanguages($pageID,$language);
  58. }
  59. public function autosummary($html)
  60. {
  61. return $this->templates->autosummary($html);
  62. }
  63. public function autosummaryID($html)
  64. {
  65. return $this->templates->autosummaryID($html);
  66. }
  67. }