diff --git a/Classes/.DS_Store b/Classes/.DS_Store new file mode 100644 index 00000000..db77f4d3 Binary files /dev/null and b/Classes/.DS_Store differ diff --git a/Classes/Backend/.DS_Store b/Classes/Backend/.DS_Store new file mode 100644 index 00000000..78f07bb7 Binary files /dev/null and b/Classes/Backend/.DS_Store differ diff --git a/Classes/Controller/AbstractController.php b/Classes/Controller/AbstractController.php index 43e54c78..05c6f48a 100644 --- a/Classes/Controller/AbstractController.php +++ b/Classes/Controller/AbstractController.php @@ -607,4 +607,20 @@ protected function getTreeList($id, $depth, $begin = 0, $permsClause = ''): stri return (string)$theList; } + + + protected function setDefaultBackendLayout() { + $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('pages'); + $queryBuilder + ->update('pages') + ->where( + $queryBuilder->expr()->eq('is_siteroot', $queryBuilder->createNamedParameter(1, Connection::PARAM_INT)), + $queryBuilder->expr()->eq('backend_layout', $queryBuilder->createNamedParameter('', Connection::PARAM_STR)), + $queryBuilder->expr()->eq('backend_layout_next_level', $queryBuilder->createNamedParameter('', Connection::PARAM_STR)) + ) + ->set('backend_layout', 'pagets__OneCol') + ->set('backend_layout_next_level', 'pagets__OneCol') + ->executeStatement(); + } + } diff --git a/Classes/Controller/ConfigController.php b/Classes/Controller/ConfigController.php index 8ae50afd..dd916877 100644 --- a/Classes/Controller/ConfigController.php +++ b/Classes/Controller/ConfigController.php @@ -171,6 +171,7 @@ public function createAction(Config $newConfig): ResponseInterface $newConfig->setHomepageUid($this->rootPageId); $newConfig->setPid($this->currentUid); $this->configRepository->add($newConfig); + parent::setDefaultBackendLayout(); parent::writeConstants(); return $this->redirect('list', null, null, array('created' => true)); } diff --git a/Classes/DataProcessing/BootstrapProcessor.php b/Classes/DataProcessing/BootstrapProcessor.php index 0c9362c4..3d792227 100644 --- a/Classes/DataProcessing/BootstrapProcessor.php +++ b/Classes/DataProcessing/BootstrapProcessor.php @@ -68,6 +68,8 @@ public function process(ContentObjectRenderer $cObj, array $contentObjectConfigu return $processedData; } + /** @var \Psr\Http\Message\ServerRequestInterface $request */ + $request = $cObj->getRequest(); $extConf = GeneralUtility::makeInstance(ExtensionConfiguration::class)->get('t3sbootstrap'); $cType = $processedData['data']['CType']; $parentCType = ''; @@ -113,7 +115,8 @@ public function process(ContentObjectRenderer $cObj, array $contentObjectConfigu } if (!empty($contentObjectConfiguration['settings.']['shortcutsremove'])) { - $currentUid = (int) $GLOBALS['TSFE']->id; + $pageArguments = $request->getAttribute('routing'); + $currentUid = $pageArguments->getPageId(); $footerPid = !empty($processorConfiguration['footerPid']) ? (int) $processorConfiguration['footerPid'] : 0; $removeArr = GeneralUtility::trimExplode(',', $contentObjectConfiguration['settings.']['shortcutsremove']); if ($processedData['data']['pid'] !== $currentUid && $processedData['data']['pid'] !== $footerPid) { diff --git a/Classes/DataProcessing/ConfigProcessor.php b/Classes/DataProcessing/ConfigProcessor.php index 5e7c4ff9..8325baeb 100644 --- a/Classes/DataProcessing/ConfigProcessor.php +++ b/Classes/DataProcessing/ConfigProcessor.php @@ -40,12 +40,10 @@ class ConfigProcessor implements DataProcessorInterface */ public function process(ContentObjectRenderer $cObj, array $contentObjectConfiguration, array $processorConfiguration, array $processedData) { - $request = $GLOBALS['TYPO3_REQUEST']; + /** @var \Psr\Http\Message\ServerRequestInterface $request */ + $request = $cObj->getRequest(); $settings = $contentObjectConfiguration['settings.']; $frontendController = $request->getAttribute('frontend.controller'); - if (!$frontendController) { - $frontendController = self::getFrontendController(); - } if (!empty($contentObjectConfiguration['settings.']['config.']['uid']) && is_numeric($contentObjectConfiguration['settings.']['config.']['uid'])) { $processedRecordVariables = $contentObjectConfiguration['settings.']['config.']; @@ -831,14 +829,4 @@ protected function getChildItems($children) return $mainMenu; } - - /** - * Returns $typoScriptFrontendController TypoScriptFrontendController - * - * @return TypoScriptFrontendController - */ - protected function getFrontendController(): TypoScriptFrontendController - { - return $GLOBALS['TSFE']; - } } diff --git a/Classes/DataProcessing/LastModifiedProcessor.php b/Classes/DataProcessing/LastModifiedProcessor.php index db807db5..34cfa5e1 100644 --- a/Classes/DataProcessing/LastModifiedProcessor.php +++ b/Classes/DataProcessing/LastModifiedProcessor.php @@ -11,6 +11,7 @@ use TYPO3\CMS\Core\Database\Connection; use TYPO3\CMS\Core\Context\Context; use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController; +use Psr\Http\Message\ServerRequestInterface; /* * This file is part of the TYPO3 extension t3sbootstrap. @@ -20,6 +21,9 @@ */ class LastModifiedProcessor implements DataProcessorInterface { + + protected $request; + /** * Fetches records from the database as an array * @@ -32,6 +36,9 @@ class LastModifiedProcessor implements DataProcessorInterface */ public function process(ContentObjectRenderer $cObj, array $contentObjectConfiguration, array $processorConfiguration, array $processedData) { + /** @var ServerRequestInterface $request */ + $this->request = $cObj->getRequest(); + if (!empty($processorConfiguration['lastModifiedContentElement'])) { $processorConfiguration = []; $processorConfiguration['pidInList'] = self::getCurrentUid(); @@ -64,7 +71,7 @@ public function process(ContentObjectRenderer $cObj, array $contentObjectConfigu /** * Returns true if is page w/ content.cType == menu_recently_updated * - * @return bool $mdtm + * @return bool */ protected function isMenuRecentlyUpdatedOnPage(): bool { @@ -160,6 +167,7 @@ protected function getPageTitle($uid): string */ protected function getCurrentUid(): int { - return (int) $GLOBALS['TSFE']->id; + $pageArguments = $this->request->getAttribute('routing'); + return $pageArguments->getPageId(); } } diff --git a/Classes/Domain/.DS_Store b/Classes/Domain/.DS_Store new file mode 100644 index 00000000..a39c5d9f Binary files /dev/null and b/Classes/Domain/.DS_Store differ diff --git a/Classes/ViewHelpers/GetUsernameViewHelper.php b/Classes/ViewHelpers/GetUsernameViewHelper.php index e8ab2008..edbf7eeb 100644 --- a/Classes/ViewHelpers/GetUsernameViewHelper.php +++ b/Classes/ViewHelpers/GetUsernameViewHelper.php @@ -4,6 +4,8 @@ use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic; use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper; +use TYPO3\CMS\Core\Context\Context; +use TYPO3\CMS\Core\Utility\GeneralUtility; /** * This file is part of the TYPO3 extension t3sbootstrap. @@ -20,7 +22,13 @@ public static function renderStatic( \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext ) { + $context = GeneralUtility::makeInstance(Context::class); + $frontendUserUsername = $context->getPropertyFromAspect( + 'frontend.user', + 'username', + '' + ); - return strval($GLOBALS['TSFE']->fe_user->user['username']); + return strval($frontendUserUsername); } } diff --git a/Configuration/.DS_Store b/Configuration/.DS_Store new file mode 100644 index 00000000..23e8038a Binary files /dev/null and b/Configuration/.DS_Store differ diff --git a/Configuration/TCA/Overrides/pages.php b/Configuration/TCA/Overrides/pages.php index 398f5fad..3ee6d3f1 100644 --- a/Configuration/TCA/Overrides/pages.php +++ b/Configuration/TCA/Overrides/pages.php @@ -374,17 +374,17 @@ $menuheader = 198; -// Add new page type as possible select item: +// Add new page type: \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem( - 'pages', - 'doktype', - [ - 'Dropdownmenu header', - $menuheader, - 'content-header' - ], - '2', - 'after' + 'pages', + 'doktype', + [ + 'label' => 'Dropdownmenu header', + 'value' => $menuheader, + 'icon' => 'content-header', + ], + '2', + 'after' ); // Add icon for new page type: diff --git a/Configuration/TSConfig/.DS_Store b/Configuration/TSConfig/.DS_Store new file mode 100644 index 00000000..07686aac Binary files /dev/null and b/Configuration/TSConfig/.DS_Store differ diff --git a/Configuration/TypoScript/.DS_Store b/Configuration/TypoScript/.DS_Store new file mode 100644 index 00000000..af546dfa Binary files /dev/null and b/Configuration/TypoScript/.DS_Store differ diff --git a/Configuration/TypoScript/ContentElement/Bootstrap.typoscript b/Configuration/TypoScript/ContentElement/Bootstrap.typoscript index a9f350a1..6ec58ad6 100644 --- a/Configuration/TypoScript/ContentElement/Bootstrap.typoscript +++ b/Configuration/TypoScript/ContentElement/Bootstrap.typoscript @@ -24,7 +24,7 @@ tt_content { t3sbs_card { templateName = Card dataProcessing { - 10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor + 10 = files 10 { references.fieldName = assets } @@ -51,7 +51,7 @@ tt_content { templateName = Carousel settings.defaultHeaderType = 3 dataProcessing { - 10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor + 10 = files 10 { references.fieldName = assets } @@ -66,7 +66,7 @@ tt_content { t3sbs_mediaobject { templateName = Mediaobject dataProcessing { - 10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor + 10 = files 10 { references.fieldName = assets } @@ -127,7 +127,7 @@ tt_content { templateName = Toast dataProcessing { - 10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor + 10 = files 10 { references.fieldName = assets } diff --git a/Configuration/TypoScript/ContentElement/Default.typoscript b/Configuration/TypoScript/ContentElement/Default.typoscript index ed93dd2b..44337601 100644 --- a/Configuration/TypoScript/ContentElement/Default.typoscript +++ b/Configuration/TypoScript/ContentElement/Default.typoscript @@ -124,7 +124,7 @@ tt_content { menu_section { dataProcessing > dataProcessing { - 10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor + 10 = menu 10 { special = list special { @@ -139,11 +139,11 @@ tt_content { } } dataProcessing { - 10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor + 10 = files 10 { references.fieldName = media } - 20 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor + 20 = database-query 20 { table = tt_content pidInList.field = uid @@ -151,7 +151,7 @@ tt_content { where = sectionIndex = 1 AND ( colPos = 0 OR colPos > 199 ) orderBy = {$bootstrap.extconf.sectionOrder} dataProcessing { - 10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor + 10 = files 10 { references.fieldName = media } diff --git a/Configuration/TypoScript/Lib/_main.typoscript b/Configuration/TypoScript/Lib/_main.typoscript index 51c43965..d7fb2f4a 100644 --- a/Configuration/TypoScript/Lib/_main.typoscript +++ b/Configuration/TypoScript/Lib/_main.typoscript @@ -28,9 +28,8 @@ lib.currentDate { lib.currentDomain = TEXT lib.currentDomain { - dataWrap = {getIndpEnv:TYPO3_REQUEST_HOST}| - typolink.parameter.current = 1 - typolink.returnLast = url + stdWrap.data = getIndpEnv : TYPO3_REQUEST_HOST + stdWrap.htmlSpecialChars = 1 } lib.printButton = COA diff --git a/Configuration/TypoScript/Page/Template.typoscript b/Configuration/TypoScript/Page/Template.typoscript index 278ae140..23eaec7d 100644 --- a/Configuration/TypoScript/Page/Template.typoscript +++ b/Configuration/TypoScript/Page/Template.typoscript @@ -103,7 +103,7 @@ page { # # NavBar / Main Navigation # - 10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor + 10 = menu 10 { entryLevel.cObject = TEXT entryLevel.cObject.value = {$bootstrap.config.navbarEntrylevel} @@ -132,7 +132,7 @@ page { # # NavBar-RIGHT / Main Navigation # - 11 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor + 11 = menu 11 { special = list special.value = {$bootstrap.config.navbarRightMenuUidList} @@ -143,7 +143,7 @@ page { # # Pagebrowser # - 12 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor + 12 = menu 12 { special = browse special.items = {$bootstrap.pagebrowser.nextItem} @@ -153,7 +153,7 @@ page { } 12.if.isTrue = {$bootstrap.pagebrowser.enable} - 13 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor + 13 = menu 13 { special = browse special.items = {$bootstrap.pagebrowser.prevItem} @@ -166,7 +166,7 @@ page { # # Sub Navigation in Sidebar # - 20 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor + 20 = menu 20 { entryLevel.cObject = TEXT entryLevel.cObject { @@ -212,7 +212,7 @@ page { # # Breadcrumb # - 30 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor + 30 = menu 30 { special = rootline special.range = 0|-1 @@ -233,7 +233,7 @@ page { # # Language Navigation # - 40 = TYPO3\CMS\Frontend\DataProcessing\LanguageMenuProcessor + 40 = language-menu 40 { languages = auto as = languageNavigation @@ -244,7 +244,7 @@ page { # # Meta Navigation # - 50 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor + 50 = menu 50 { special = list special.value.cObject = TEXT @@ -261,7 +261,7 @@ page { # # Section Menu # - 60 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor + 60 = menu 60 { special = list special { @@ -277,11 +277,11 @@ page { } as = sectionMenu dataProcessing { - 10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor + 10 = files 10 { references.fieldName = media } - 20 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor + 20 = database-query 20 { table = tt_content pidInList.field = uid @@ -331,6 +331,11 @@ page { # Main Config # 90 = T3SBS\T3sbootstrap\DataProcessing\ConfigProcessor + + # + # Site Config + # + #91 = site } } } diff --git a/Contrib/scssphp/.DS_Store b/Contrib/scssphp/.DS_Store new file mode 100644 index 00000000..2e690843 Binary files /dev/null and b/Contrib/scssphp/.DS_Store differ diff --git a/Resources/.DS_Store b/Resources/.DS_Store new file mode 100644 index 00000000..8c544e67 Binary files /dev/null and b/Resources/.DS_Store differ diff --git a/Resources/Private/.DS_Store b/Resources/Private/.DS_Store new file mode 100644 index 00000000..39a4b5b4 Binary files /dev/null and b/Resources/Private/.DS_Store differ diff --git a/Resources/Private/Partials/Page/Navbar/DarkModeToggler kopie.html b/Resources/Private/Partials/Page/Navbar/DarkModeToggler kopie.html deleted file mode 100644 index 0222033b..00000000 --- a/Resources/Private/Partials/Page/Navbar/DarkModeToggler kopie.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - -.dm-toggler .bi { - width: 1em; - height: 1em; - vertical-align: -.125em; - fill: currentcolor; -} - - - - diff --git a/Resources/Private/Partials/Page/Navbar/DarkModeToggler.html b/Resources/Private/Partials/Page/Navbar/DarkModeToggler.html index 7d732932..4ef2bbbd 100644 --- a/Resources/Private/Partials/Page/Navbar/DarkModeToggler.html +++ b/Resources/Private/Partials/Page/Navbar/DarkModeToggler.html @@ -36,7 +36,7 @@ aria-label="Toggle theme (light)" > - Toggle theme + Toggle theme