TemplateRepository.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace Opentalent\OtTemplating\Templating;
  3. use Opentalent\OtCore\Website\OtPageRepository;
  4. use Opentalent\OtCore\Website\OtWebsiteRepository;
  5. use TYPO3\CMS\Core\Database\ConnectionPool;
  6. use TYPO3\CMS\Core\Utility\GeneralUtility;
  7. use TYPO3\CMS\Extbase\Object\ObjectManager;
  8. /**
  9. * Class TemplateRepository
  10. * Provides methods to retrieve data about the current site's template
  11. *
  12. * @package Opentalent\OtCore\Templating
  13. */
  14. class TemplateRepository
  15. {
  16. CONST templates = [
  17. 'Classic' => [
  18. 'name' => 'Classique',
  19. 'description' => "Le thème classique, simple et complet. C'est le thème par défaut.",
  20. 'picture' => 'EXT:ot_templating/Resources/Public/media/theme_classic.png'
  21. ],
  22. 'Modern' => [
  23. 'name' => 'Moderne',
  24. 'description' => '[Nouveauté 2020] Un thème moderne et intuitif.',
  25. 'picture' => 'EXT:ot_templating/Resources/Public/media/theme_modern.png'
  26. ]
  27. ];
  28. CONST defaultTemplate = 'Classic';
  29. CONST defaultPreferences = [
  30. 'themeColor' => 'light-blue',
  31. 'displayCarousel' => '1',
  32. 'displayBreadcrumb' => '1',
  33. ];
  34. /**
  35. * Returns the site template's name
  36. *
  37. * @param int $rootUid
  38. * @return string
  39. */
  40. public function getTemplate(array $website): string
  41. {
  42. if (!($website['uid'] >= 0)) {
  43. return self::defaultTemplate;
  44. }
  45. $templateName = $website['template'];
  46. if ($templateName==='' || $templateName==null) {
  47. return self::defaultTemplate;
  48. }
  49. return $templateName;
  50. }
  51. /**
  52. * Returns the current site template's name
  53. * @param int $rootUid
  54. * @return array
  55. */
  56. public function getTemplatePreferences(array $website): array
  57. {
  58. $templatePreferences = $website['template_preferences'] ?? '';
  59. if ($templatePreferences !== '') {
  60. $templatePreferences = json_decode($templatePreferences, true);
  61. } else {
  62. $templatePreferences = [];
  63. }
  64. return array_merge(self::defaultPreferences, $templatePreferences);
  65. }
  66. }