DateService reads options that callers only sometimes pass (paCode, filterSettings, date, nonBookableDateUids, showBookingButton). Missing keys were null on PHP 7.4; in_array() on null returned a falsy value, so nonBookableDateUids defaults to an empty list. Fixes the event price table (500). All 216 distinct AJAX fragment URLs referenced from the TYPO3 10 pages (date and price tables, event price tables, concept popups, filter panel) were compared with TYPO3 10 on the same data: identical, apart from daytripRooms, which fails on both. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Queries for plugin renaming
update tt_content set list_type='epproducts_searchbar' where list_type='epproducts_pi1';
update tt_content set list_type='epproducts_product_detail' where list_type='epproducts_pi3';
update tt_content set list_type='epproducts_searchresult' where list_type='epproducts_pi2';
update tt_content set list_type='epproducts_product_teasergroup' where list_type='epproducts_pi4';
update tt_content set list_type='epproducts_country_detail' where list_type='epproducts_pi5';
update tt_content set list_type='epproducts_region_teasergroup' where list_type='epproducts_pi6';
update tt_content set list_type='epproducts_region_detail' where list_type='epproducts_pi10';
update tt_content set list_type='epproducts_city_teasergroup' where list_type='epproducts_pi7';
update tt_content set list_type='epproducts_city_detail' where list_type='epproducts_pi11';
update tt_content set list_type='epproducts_hotel_teasergroup' where list_type='epproducts_pi8';
update tt_content set list_type='epproducts_hotel_detail' where list_type='epproducts_pi12';
update tt_content set list_type='epproducts_faq' where list_type='epproducts_pi9';