<?php 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( static function () { // 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( 'SgNews', 'Overview', [\SGalinski\SgNews\Controller\OverviewController::class => 'overview', ], [\SGalinski\SgNews\Controller\OverviewController::class => 'overview', ] ); \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'SgNews', 'ListByCategory', [\SGalinski\SgNews\Controller\ListByCategoryController::class => 'index', ], [\SGalinski\SgNews\Controller\ListByCategoryController::class => '', ] ); \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'SgNews', 'SingleView', [\SGalinski\SgNews\Controller\SingleViewController::class => 'singleView', ], [\SGalinski\SgNews\Controller\SingleViewController::class => '', ] ); \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'SgNews', 'NewsFeed', [\SGalinski\SgNews\Controller\NewsFeedController::class => 'index', ], [\SGalinski\SgNews\Controller\NewsFeedController::class => '', ] ); \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'SgNews', 'Latest', [\SGalinski\SgNews\Controller\LatestController::class => 'index', ], [\SGalinski\SgNews\Controller\LatestController::class => '', ] ); \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'SgNews', 'ListByCategory', [\SGalinski\SgNews\Controller\ListByCategoryController::class => 'index', ], [\SGalinski\SgNews\Controller\ListByCategoryController::class => '', ] ); \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'SgNews', 'NewsByAuthor', [\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( 'sg_news', [ \SGalinski\SgNews\Controller\Ajax\LikeController::class => 'addLike', ] ); } // hook registration $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = \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'][] = \SGalinski\SgNews\Backend\CategoryWarningDrawer::class . '->render'; // Xclasses $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"' ); // Add upgrade wizards $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; } );