| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- namespace Opentalent\OtTemplating\Templating;
- use Opentalent\OtCore\Page\OtPageRepository;
- use TYPO3\CMS\Core\Database\ConnectionPool;
- use TYPO3\CMS\Core\Utility\GeneralUtility;
- /**
- * Class TemplateRepository
- * Provides methods to retrieve data about the current site's template
- *
- * @package Opentalent\OtCore\Templating
- */
- class TemplateRepository
- {
- CONST templates = [
- 'Classic' => [
- 'name' => 'Classique',
- 'description' => "Le thème classique, simple et complet. C'est le thème par défaut.",
- 'picture' => 'EXT:ot_templating/Resources/Public/media/theme_classic.png'
- ],
- 'Modern' => [
- 'name' => 'Moderne',
- 'description' => '[Nouveauté 2020] Un thème moderne et intuitif.',
- 'picture' => 'EXT:ot_templating/Resources/Public/media/theme_modern.png'
- ]
- ];
- CONST defaultTemplate = 'Classic';
- CONST defaultPreferences = [
- 'themeColor' => 'lightblue',
- 'displayCarousel' => '1'
- ];
- /**
- * Returns the site template's name
- *
- * @param int $rootUid
- * @return string
- */
- public function getTemplate(int $rootUid) {
- if (!($rootUid >= 0)) {
- return self::defaultTemplate;
- }
- $cnnPool = GeneralUtility::makeInstance(ConnectionPool::class);
- $queryBuilder = $cnnPool->getQueryBuilderForTable('pages');
- $templateName = $queryBuilder
- ->select('tx_opentalent_template')
- ->from('pages')
- ->where($queryBuilder->expr()->eq('uid', $rootUid))
- ->execute()
- ->fetchColumn(0);
- if ($templateName==='') {
- return self::defaultTemplate;
- }
- return $templateName;
- }
- /**
- * Returns the current site template's name
- * @param int $rootUid
- * @return array
- */
- public function getTemplatePreferences(int $rootUid) {
- $cnnPool = GeneralUtility::makeInstance(ConnectionPool::class);
- $queryBuilder = $cnnPool->getQueryBuilderForTable('pages');
- $templatePreferences = $queryBuilder
- ->select('tx_opentalent_template_preferences')
- ->from('pages')
- ->where($queryBuilder->expr()->eq('uid', $rootUid))
- ->execute()
- ->fetchColumn(0);
- if ($templatePreferences==='') {
- return self::defaultPreferences;
- }
- return json_decode($templatePreferences, true);
- }
- }
|