Skip to content
Snippets Groups Projects
ext_localconf.php 3.08 KiB
<?php

call_user_func(
	static function () {
		\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptSetup(
			'@import "EXT:sg_jobs/Configuration/TypoScript/Common/setup.typoscript"'
		);
		// Configure frontend plugins
		\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
			'SgJobs',
			'Joblist',
			[
				// Available actions
				\SGalinski\SgJobs\Controller\JoblistController::class => 'index'
			],
			[
				// Non-Cache actions
				\SGalinski\SgJobs\Controller\JoblistController::class => 'index'
			]
		);
		\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
			'SgJobs',
			'JobApplication',
			[
				// Available actions
				\SGalinski\SgJobs\Controller\JoblistController::class => 'applyForm, apply, empty'
			],
			[
				// Non-Cache actions
				\SGalinski\SgJobs\Controller\JoblistController::class => 'applyForm, apply, empty'
			]
		);
		\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
			'SgJobs',
			'JobTeaser',
			[
				// Available actions
				\SGalinski\SgJobs\Controller\JobTeaserController::class => 'index'
			],
			[
				// Non-Cache actions
				\SGalinski\SgJobs\Controller\JobTeaserController::class => ''
			]
		);

		\SGalinski\SgAjax\Service\AjaxRegistration::configureAjaxFrontendPlugin(
			'sg_jobs',
			[
				\SGalinski\SgJobs\Controller\Ajax\UploadController::class => 'uploadCoverletter, uploadCv, uploadCertificate',
			]
		);

		// 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;

		\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';

		// 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'] = [];

		// register icons for TYPO3 10 compatibility
		if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) {
			$iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
				\TYPO3\CMS\Core\Imaging\IconRegistry::class
			);

			$iconRegistry->registerIcon(
				'extension-sg_jobs-module',
				\TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class,
				['source' => 'EXT:sg_jobs/Resources/Public/Icons/module-sgjobs.svg']
			);
		}
	}
);