getActivePackages(); // First load "full table" files from Configuration/SiteConfiguration $finder = (new Finder())->files()->depth(0)->name('*.php'); $hasDirectoryEntries = false; foreach ($activePackages as $package) { try { $finder->in($package->getPackagePath() . 'Configuration/SiteConfiguration'); } catch (\InvalidArgumentException $e) { // No such directory in this package continue; } $hasDirectoryEntries = true; } if ($hasDirectoryEntries) { foreach ($finder as $fileInfo) { $GLOBALS['SiteConfiguration'][substr($fileInfo->getBasename(), 0, -4)] = require $fileInfo->getPathname(); } } // Execute override files from Configuration/SiteConfiguration/Overrides $finder = (new Finder())->files()->depth(0)->name('*.php'); $hasDirectoryEntries = false; foreach ($activePackages as $package) { try { $finder->in($package->getPackagePath() . 'Configuration/SiteConfiguration/Overrides'); } catch (\InvalidArgumentException $e) { // No such directory in this package continue; } $hasDirectoryEntries = true; } if ($hasDirectoryEntries) { foreach ($finder as $fileInfo) { require $fileInfo->getPathname(); } } $result = $GLOBALS['SiteConfiguration']; unset($GLOBALS['SiteConfiguration']); $tcaMigration = GeneralUtility::makeInstance(TcaMigration::class); $tcaProcessingResult = $tcaMigration->migrate($result); $messages = $tcaProcessingResult->getMessages(); if (!empty($messages)) { $context = 'Automatic TCA migration done during bootstrap of Site TCA Configuration.' . ' Please adapt TCA accordingly, these migrations will be removed.' . ' Please adapt these areas:'; array_unshift($messages, $context); trigger_error(implode(LF, $messages), E_USER_DEPRECATED); } return $tcaProcessingResult->getTca(); } }