ext_localconf.php 3.15 KB
Newer Older
1
<?php
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
/**
 *
 * 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!
 */
26

27 28 29 30
call_user_func(
	function ($extKey) {
		$GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['linkHandler']['unknown'] =
			\SGalinski\SgRoutes\Hook\UnknownLinkHandlerType::class;
31

32 33 34 35
		if (TYPO3_MODE === 'BE') {
			\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptConstants(
				'<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $extKey . '/Configuration/TypoScript/Backend/constants.typoscript">'
			);
36

37 38 39 40
			\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptSetup(
				'<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $extKey . '/Configuration/TypoScript/Backend/setup.typoscript">'
			);
		}
41

42 43 44 45
		\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addUserTSConfig(
			'@import "EXT:sg_routes/Configuration/TsConfig/User/DisableSaveDocView.tsconfig"'
		);

46 47 48 49 50 51 52
		if (TYPO3_MODE === 'FE') {
			$GLOBALS['TYPO3_CONF_VARS']['FE']['tx_routes_executed'] = [];
			// Save the original, because I need to redirect to this URL, if this handling can't succeed.
			$GLOBALS['TYPO3_CONF_VARS']['FE']['tx_routes_pageNotFound_handling_original'] =
				$GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFound_handling'];
			$GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFound_handling'] =
				'USER_FUNCTION:SGalinski\\SgRoutes\\Service\\RoutingService->pageErrorHandler';
53

54 55 56 57 58 59 60
			if (!\TYPO3\CMS\Core\Utility\GeneralUtility::getApplicationContext()->isDevelopment()) {
				// page unavailable handling (e.g. typenum not found)
				$GLOBALS['TYPO3_CONF_VARS']['FE']['pageUnavailable_handling_statheader'] = 'HTTP/1.1 404 Not Found';
				$GLOBALS['TYPO3_CONF_VARS']['FE']['pageUnavailable_handling'] =
					$GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFound_handling'];
			}
		}
61 62 63 64

		$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] =
			SGalinski\SgRoutes\Hook\PageDataHandlerHook::class;

65 66 67
		$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] =
			SGalinski\SgRoutes\Hook\RouteDataHandlerHook::class;

68 69 70 71 72 73
		if (!is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/db_layout.php']['drawHeaderHook'])) {
			$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/db_layout.php']['drawHeaderHook'] = [];
		}

		$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/db_layout.php']['drawHeaderHook'][] =
			SGalinski\SgRoutes\Hook\PageLayoutController::class . '->addRoutesWarnigMessage';
74 75
	}, 'sg_routes'
);