Skip to content
Snippets Groups Projects
ext_localconf.php 5.24 KiB
Newer Older
Stefan Galinski's avatar
Stefan Galinski committed
<?php
Matthias Adrowski's avatar
Matthias Adrowski committed

defined('TYPO3') or die();
/**
 *
 * 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!
 */

call_user_func(
		// common typoscript configuration
		\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptSetup(
			'@import "EXT:sg_news/Configuration/TypoScript/Common/setup.typoscript"'
		);

		// plugin configurations
		\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
Matthias Adrowski's avatar
Matthias Adrowski committed
			[\SGalinski\SgNews\Controller\OverviewController::class => 'overview', ],
			[\SGalinski\SgNews\Controller\OverviewController::class => 'overview', ]
		);

		\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
Matthias Adrowski's avatar
Matthias Adrowski committed
			[\SGalinski\SgNews\Controller\ListByCategoryController::class => 'index', ],
			[\SGalinski\SgNews\Controller\ListByCategoryController::class => '', ]
		);

		\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
Matthias Adrowski's avatar
Matthias Adrowski committed
			[\SGalinski\SgNews\Controller\SingleViewController::class => 'singleView', ],
			[\SGalinski\SgNews\Controller\SingleViewController::class => '', ]
		);

		\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
Matthias Adrowski's avatar
Matthias Adrowski committed
			[\SGalinski\SgNews\Controller\NewsFeedController::class => 'index', ],
			[\SGalinski\SgNews\Controller\NewsFeedController::class => '', ]
		);

		\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
Matthias Adrowski's avatar
Matthias Adrowski committed
			[\SGalinski\SgNews\Controller\LatestController::class => 'index', ],
			[\SGalinski\SgNews\Controller\LatestController::class => '', ]
		);

		\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
Matthias Adrowski's avatar
Matthias Adrowski committed
			[\SGalinski\SgNews\Controller\ListByCategoryController::class => 'index', ],
			[\SGalinski\SgNews\Controller\ListByCategoryController::class => '', ]
		\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
Matthias Adrowski's avatar
Matthias Adrowski committed
			[\SGalinski\SgNews\Controller\NewsByAuthorController::class => 'list', ],
			[\SGalinski\SgNews\Controller\NewsByAuthorController::class => '', ]
		if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('sg_ajax')) {
			\SGalinski\SgAjax\Service\AjaxRegistration::configureAjaxFrontendPlugin(
					\SGalinski\SgNews\Controller\Ajax\LikeController::class => 'addLike',
				]
			);
		}

		// hook registration
		$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] =
Matthias Adrowski's avatar
Matthias Adrowski committed
			\SGalinski\SgNews\TCA\TcaProvider::class;
		$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem']['sg_news']
			= \SGalinski\SgNews\Hooks\PageLayoutView\PluginRenderer::class;
		$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/db_layout.php']['drawHeaderHook'][]
Stefan Galinski's avatar
Stefan Galinski committed
			= \SGalinski\SgNews\Backend\CategoryWarningDrawer::class . '->render';
Matthias Adrowski's avatar
Matthias Adrowski committed
		$GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects'][\TYPO3\CMS\Core\Page\PageRenderer::class] =
			['className' => \SGalinski\SgNews\Xclass\PageRenderer::class];
		# Hook to add the "go to News Module Button
		if (!isset($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\SgNews\Hooks\PageLayoutController::class . '->addNewsModuleLink';

		// add the new doktype to the list of types available from the new page menu at the top of the page tree
		\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addUserTSConfig(
			'options.pageTree.doktypesToShowInNewPageDragArea := addToList(' . \SGalinski\SgNews\Utility\BackendNewsUtility::NEWS_DOKTYPE . ')' . PHP_EOL
			. 'options.pageTree.doktypesToShowInNewPageDragArea := addToList(' . \SGalinski\SgNews\Utility\BackendNewsUtility::CATEGORY_DOKTYPE . ')'
		);

		\SGalinski\SgNews\Utility\BackendNewsUtility::registerIcons();

		\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(
			'@import "EXT:sg_news/Configuration/TsConfig/Page/NewContentElementWizard.tsconfig"'
		$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\SGalinski\SgNews\Updates\UpdateAuthors::IDENTIFIER] =
			\SGalinski\SgNews\Updates\UpdateAuthors::class;
		$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\SGalinski\SgNews\Updates\MigrateSchedulerTasks::IDENTIFIER] =
			\SGalinski\SgNews\Updates\MigrateSchedulerTasks::class;
Stefan Galinski's avatar
Stefan Galinski committed
);