<?php /** * * 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( function ($extKey) { // common typoscript configuration \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptSetup( '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $extKey . '/Configuration/TypoScript/Common/setup.typoscript">' ); // plugin configurations \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'SGalinski.' . $extKey, 'Overview', ['Overview' => 'overview',], ['Overview' => '',] ); \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'SGalinski.' . $extKey, 'ListByCategory', ['ListByCategory' => 'index',], ['ListByCategory' => '',] ); \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'SGalinski.' . $extKey, 'SingleView', ['SingleView' => 'singleView',], ['SingleView' => '',] ); \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'SGalinski.' . $extKey, 'NewsFeed', ['NewsFeed' => 'index',], ['NewsFeed' => '',] ); \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'SGalinski.' . $extKey, 'Latest', ['Latest' => 'index',], ['Latest' => '',] ); \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'SGalinski.' . $extKey, 'ListByCategory', ['ListByCategory' => 'index',], ['ListByCategory' => '',] ); \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'SGalinski.' . $extKey, 'PageBrowser', ['PageBrowser' => 'index',], ['PageBrowser' => '',] ); if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('sg_ajax')) { \SGalinski\SgAjax\Service\AjaxRegistration::configureAjaxFrontendPlugin( $extKey, [ 'Ajax\Like' => 'addLike', ] ); } // hook registration $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = 'SGalinski\SgNews\TCA\TcaProvider'; // Xclasses $GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects']['TYPO3\CMS\Core\Page\PageRenderer'] = ['className' => 'SGalinski\SgNews\Xclass\PageRenderer']; // add realurl configuration if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('realurl')) { $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/realurl/class.tx_realurl_autoconfgen.php']['extensionConfiguration']['sgnews'] = \SGalinski\SgNews\Hooks\RealUrlAutoConfiguration::class . '->addNewsConfig'; } /** @var \TYPO3\CMS\Extbase\SignalSlot\Dispatcher $signalSlotDispatcher */ $signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance( \TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class ); $signalSlotDispatcher->connect( \TYPO3\CMS\Backend\Controller\EditDocumentController::class, 'preInitAfter', \SGalinski\SgNews\Hooks\EditDocumentController::class, 'preInitAfter' ); 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\SgNews\Hooks\PageLayoutController::class . '->addNewsModuleLink'; // register command controllers $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['extbase']['commandControllers'][] = 'SGalinski\SgNews\Command\MigrateNewsCommandController'; // 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( '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $extKey . '/Configuration/TsConfig/Page/NewContentElementWizard.tsconfig">' ); }, 'sg_news' );