diff --git a/calendar-bundle/src/Resources/contao/modules/ModuleEventReader.php b/calendar-bundle/src/Resources/contao/modules/ModuleEventReader.php index b1ca25209d5..7dcab9fa742 100644 --- a/calendar-bundle/src/Resources/contao/modules/ModuleEventReader.php +++ b/calendar-bundle/src/Resources/contao/modules/ModuleEventReader.php @@ -308,7 +308,7 @@ protected function compile() $figureBuilder ->setSize($imgSize) ->setMetadata($objEvent->getOverwriteMetadata()) - ->enableLightbox($objEvent->fullsize) + ->enableLightbox((bool) $objEvent->fullsize) ->build() ->applyLegacyTemplateData($objTemplate, $objEvent->imagemargin, $objEvent->floating); } diff --git a/calendar-bundle/src/Resources/contao/modules/ModuleEventlist.php b/calendar-bundle/src/Resources/contao/modules/ModuleEventlist.php index 65262e42288..5293816d331 100644 --- a/calendar-bundle/src/Resources/contao/modules/ModuleEventlist.php +++ b/calendar-bundle/src/Resources/contao/modules/ModuleEventlist.php @@ -368,7 +368,7 @@ protected function compile() $figure = $figureBuilder ->setSize($imgSize) ->setMetadata($eventModel->getOverwriteMetadata()) - ->enableLightbox($eventModel->fullsize) + ->enableLightbox((bool) $eventModel->fullsize) ->build(); // Rebuild with link to event if none is set diff --git a/core-bundle/src/DependencyInjection/ContaoCoreExtension.php b/core-bundle/src/DependencyInjection/ContaoCoreExtension.php index 905cd4435c2..f9662ec447c 100644 --- a/core-bundle/src/DependencyInjection/ContaoCoreExtension.php +++ b/core-bundle/src/DependencyInjection/ContaoCoreExtension.php @@ -185,7 +185,11 @@ private function setPredefinedImageSizes(array $config, ContainerBuilder $contai } if (isset($config['image']['sizes']['_defaults'])) { - $value = array_merge($config['image']['sizes']['_defaults'], $value); + // Make sure that arrays defined under _defaults will take precedence over empty arrays (see #2783) + $value = array_merge( + $config['image']['sizes']['_defaults'], + array_filter($value, static function ($v) { return !\is_array($v) || !empty($v); }) + ); } $imageSizes['_'.$name] = $this->camelizeKeys($value); diff --git a/core-bundle/src/EventListener/MakeResponsePrivateListener.php b/core-bundle/src/EventListener/MakeResponsePrivateListener.php index 8bcfbe663df..f165495e85c 100644 --- a/core-bundle/src/EventListener/MakeResponsePrivateListener.php +++ b/core-bundle/src/EventListener/MakeResponsePrivateListener.php @@ -39,7 +39,7 @@ public function __construct(ScopeMatcher $scopeMatcher) * Make sure that the current response becomes a private response if any * of the following conditions are true. * - * 1. An Authorization header is present + * 1. An Authorization header is present and not empty * 2. The session was started * 3. The response sets a cookie (same reason as 2 but for other cookies than the session cookie) * 4. The response has a "Vary: Cookie" header and the request provides at least one cookie @@ -64,8 +64,8 @@ public function __invoke(ResponseEvent $event): void return; } - // 1) An Authorization header is present - if ($request->headers->has('Authorization')) { + // 1) An Authorization header is present and not empty + if ('' !== (string) $request->headers->get('Authorization')) { $this->makePrivate($response, 'authorization'); return; diff --git a/core-bundle/src/Repository/RememberMeRepository.php b/core-bundle/src/Repository/RememberMeRepository.php index d004c987d8c..c0377830094 100644 --- a/core-bundle/src/Repository/RememberMeRepository.php +++ b/core-bundle/src/Repository/RememberMeRepository.php @@ -15,6 +15,7 @@ use Contao\CoreBundle\Entity\RememberMe; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\DBAL\Connection; +use Doctrine\DBAL\Types\Types; use Symfony\Bridge\Doctrine\ManagerRegistry; /** @@ -61,7 +62,7 @@ public function findBySeries(string $series): array ) ) ->setParameter('series', $series) - ->setParameter('now', new \DateTime()) + ->setParameter('now', new \DateTime(), Types::DATETIME_MUTABLE) ->orderBy('rm.expires', 'ASC') ; diff --git a/core-bundle/src/Resources/contao/classes/Backend.php b/core-bundle/src/Resources/contao/classes/Backend.php index dffcda9b1b9..ef5834b5b93 100644 --- a/core-bundle/src/Resources/contao/classes/Backend.php +++ b/core-bundle/src/Resources/contao/classes/Backend.php @@ -894,7 +894,7 @@ public static function addPagesBreadcrumb($strKey='tl_page_node') $arrLinks = array_reverse($arrLinks); // Insert breadcrumb menu - $GLOBALS['TL_DCA']['tl_page']['list']['sorting']['breadcrumb'] .= ' + $GLOBALS['TL_DCA']['tl_page']['list']['sorting']['breadcrumb'] = ($GLOBALS['TL_DCA']['tl_page']['list']['sorting']['breadcrumb'] ?? '') . '