Skip to content
Snippets Groups Projects
ext_localconf.php 4.27 KiB
Newer Older
/***************************************************************
 *  Copyright notice
 *
 *  (c) sgalinski Internet Services (https://www.sgalinski.de)
 *
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is
 *  free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  The GNU General Public License can be found at
 *  http://www.gnu.org/copyleft/gpl.html.
 *
 *  This script is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
		\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptSetup(
			'@import "EXT:sg_jobs/Configuration/TypoScript/Common/setup.typoscript"'
		// Configure frontend plugins
		\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
			'Joblist',
			[
				// Cacheable actions
				'Joblist' => 'index'
			],
			[
				// Uncacheable actions
				'Joblist' => ''
			]
		);
		\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
			'JobApplication',
			[
				// Cacheable actions
				'Joblist' => 'applyForm, apply'
			],
			[
				// Uncacheable actions
				'Joblist' => 'applyForm, apply'
			]
		);
		\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
			'JobTeaser',
			[
				// Cacheable actions
				'JobTeaser' => 'index'
			],
			[
				// Uncacheable actions
				'JobTeaser' => ''
			]
		);
		\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
			'PageBrowser',
			['PageBrowser' => 'index',],
			['PageBrowser' => '',]
		);
		// Backend preview for plugins
		$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem']['sg_jobs']
			= \SGalinski\SgJobs\Hooks\PageLayoutView\PluginRenderer::class;
		if (TYPO3_MODE === 'BE') {
			\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptConstants(
				'@import "EXT:sg_jobs/Configuration/TypoScript/Backend/constants.typoscript"'
			\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptSetup(
				'@import "EXT:sg_jobs/Configuration/TypoScript/Backend/setup.typoscript"'
		// register mail templates
		$GLOBALS['sg_mail']['sg_jobs']['ApplicationMail'] = 'EXT:sg_jobs/Configuration/SgMail/ApplicationMail.php';
		if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '10.4.0', '<')) {
			// signal slot for sg_seo integration
			/** @var \TYPO3\CMS\Extbase\SignalSlot\Dispatcher $signalSlotDispatcher */
			$signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
				\TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class
			);
			$signalSlotDispatcher->connect(
				\SGalinski\SgSeo\Generator\PagesSitemapGenerator::class,
				'accessPageList',
				\SGalinski\SgJobs\SignalSlot\SitemapSignalSlot::class,
				'beforeSitemapGeneration'
			);
		}
		// Register the upgrade wizard
		$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\SGalinski\SgJobs\Updates\DepartmentUpdateWizard::IDENTIFIER]
			= \SGalinski\SgJobs\Updates\DepartmentUpdateWizard::class;
		//include Plugin sg_jobs
		\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(
			'@import "EXT:sg_jobs/Configuration/TsConfig/Page/NewContentElementWizard.tsconfig"'

		$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['languagevisibility']['recordElementSupportedTables']['tx_sgjobs_domain_model_job'] = [];

		// Class aliasing for TYPO3 version compatibility
		if (!class_exists('SgJobsPageRepository')) {
			if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '10.3.0', '>=')) {
				class_alias('\TYPO3\CMS\Core\Domain\Repository\PageRepository', 'SgJobsPageRepository');
			} else {
				class_alias('\TYPO3\CMS\Frontend\Page\PageRepository', 'SgJobsPageRepository');
			}
		}