Use new JSON TCA Type

This commit is contained in:
Daniel Siepmann 2023-12-04 10:21:27 +01:00
parent aeaae9b42c
commit a9a6da1c70
Signed by: Daniel Siepmann
GPG key ID: 33D6629915560EF4
13 changed files with 806 additions and 183 deletions

View file

@ -85,7 +85,7 @@ return (static function (string $extensionKey, string $tableName) {
'errors' => [
'label' => $languagePath . '.errors',
'config' => [
'type' => 'text',
'type' => 'json',
'readOnly' => true,
],
],

View file

@ -127,7 +127,7 @@ return (static function (string $extensionKey, string $tableName) {
'label' => $languagePath . '.opening_hours',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'text',
'type' => 'json',
'readOnly' => true,
],
],
@ -135,7 +135,7 @@ return (static function (string $extensionKey, string $tableName) {
'label' => $languagePath . '.special_opening_hours',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'text',
'type' => 'json',
'readOnly' => true,
],
],
@ -143,7 +143,7 @@ return (static function (string $extensionKey, string $tableName) {
'label' => $languagePath . '.address',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'text',
'type' => 'json',
'readOnly' => true,
],
],
@ -151,7 +151,7 @@ return (static function (string $extensionKey, string $tableName) {
'label' => $languagePath . '.media',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'text',
'type' => 'json',
'readOnly' => true,
],
],
@ -159,7 +159,7 @@ return (static function (string $extensionKey, string $tableName) {
'label' => $languagePath . '.offers',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'text',
'type' => 'json',
'readOnly' => true,
],
],

View file

@ -192,7 +192,7 @@ return (static function (string $extensionKey, string $tableName) {
'label' => $languagePath . '.opening_hours',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'text',
'type' => 'json',
'readOnly' => true,
],
],
@ -200,7 +200,7 @@ return (static function (string $extensionKey, string $tableName) {
'label' => $languagePath . '.special_opening_hours',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'text',
'type' => 'json',
'readOnly' => true,
],
],
@ -208,7 +208,7 @@ return (static function (string $extensionKey, string $tableName) {
'label' => $languagePath . '.address',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'text',
'type' => 'json',
'readOnly' => true,
],
],
@ -224,21 +224,21 @@ return (static function (string $extensionKey, string $tableName) {
'label' => $languagePath . '.media',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'text',
'type' => 'json',
'readOnly' => true,
],
],
'offers' => [
'label' => $languagePath . '.offers',
'config' => [
'type' => 'text',
'type' => 'json',
'readOnly' => true,
],
],
'accessibility_specification' => [
'label' => $languagePath . '.accessibility_specification',
'config' => [
'type' => 'text',
'type' => 'json',
'readOnly' => true,
],
],

View file

@ -23,7 +23,8 @@ Nothing
Tasks
-----
Nothing
* Use new TYPO3 JSON types.
That way TYPO3 backend will properly render the stored JSON of those fields.
Deprecation
-----------

View file

@ -10,11 +10,198 @@ return [
'title' => 'Eine weitere Attraktion',
'description' => 'Die Beschreibung der Attraktion',
'town' => '1',
'media' => '[{"mainImage":true,"type":"image","title":"Erfurt-Dom und Severikirche-beleuchtet.jpg","description":"","url":"https:\\/\\/cms.thuecat.org\\/o\\/adaptive-media\\/image\\/5159216\\/Preview-1280x0\\/image","copyrightYear":2016,"author":"Image Author","license":{"type":"https:\\/\\/creativecommons.org\\/licenses\\/by\\/4.0\\/","author":""}},{"mainImage":false,"type":"image","title":"Erfurt-Dom-und-Severikirche.jpg","description":"Sicht auf Dom St. Marien, St. Severikirche sowie die davor liegenden Klostergeb\\u00e4ude und einem Ausschnitt des Biergartens umgeben von einem d\\u00e4mmerungsverf\\u00e4rten Himmel","url":"https:\\/\\/cms.thuecat.org\\/o\\/adaptive-media\\/image\\/5159186\\/Preview-1280x0\\/image","copyrightYear":2020,"license":{"type":"https:\\/\\/creativecommons.org\\/licenses\\/by\\/4.0\\/","author":""}},{"mainImage":false,"type":"image","title":"Erfurt-Dom und Severikirche-beleuchtet.jpg","description":"","url":"https:\\/\\/cms.thuecat.org\\/o\\/adaptive-media\\/image\\/5159216\\/Preview-1280x0\\/image","copyrightYear":2016,"license":{"type":"https:\\/\\/creativecommons.org\\/licenses\\/by\\/4.0\\/","author":""}}]',
'opening_hours' => '[{"opens":"09:30:00","closes":"18:00:00","from":{"date":"2021-05-01 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"through":{"date":"2021-10-31 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"daysOfWeek":["Saturday","Friday","Thursday","Tuesday","Monday","Wednesday"]},{"opens":"13:00:00","closes":"18:00:00","from":{"date":"2021-05-01 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"through":{"date":"2021-10-31 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"daysOfWeek":["Sunday"]},{"opens":"09:30:00","closes":"17:00:00","from":{"date":"2021-11-01 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"through":{"date":"2022-04-30 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"daysOfWeek":["Saturday","Friday","Thursday","Tuesday","Monday","Wednesday"]},{"opens":"13:00:00","closes":"17:00:00","from":{"date":"2021-11-01 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"through":{"date":"2022-04-30 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"daysOfWeek":["Sunday","PublicHolidays"]}]',
'address' => '{"street":"Beispielstraße 1a","zip":"99084","city":"Beispielstadt","email":"example@example.com","phone":"(0)30 23125 000","fax":"","geo":{"latitude":50.975955358589545,"longitude":11.023667024961856}}',
'media' => [
0 => (object)[
'mainImage' => true,
'type' => 'image',
'title' => 'Erfurt-Dom und Severikirche-beleuchtet.jpg',
'description' => '',
'url' => 'https://cms.thuecat.org/o/adaptive-media/image/5159216/Preview-1280x0/image',
'copyrightYear' => 2016,
'author' => 'Image Author',
'license' => (object)[
'type' => 'https://creativecommons.org/licenses/by/4.0/',
'author' => '',
],
],
1 => (object)[
'mainImage' => false,
'type' => 'image',
'title' => 'Erfurt-Dom-und-Severikirche.jpg',
'description' => 'Sicht auf Dom St. Marien, St. Severikirche sowie die davor liegenden Klostergebäude und einem Ausschnitt des Biergartens umgeben von einem dämmerungsverfärten Himmel',
'url' => 'https://cms.thuecat.org/o/adaptive-media/image/5159186/Preview-1280x0/image',
'copyrightYear' => 2020,
'license' => (object)[
'type' => 'https://creativecommons.org/licenses/by/4.0/',
'author' => '',
],
],
2 => (object)[
'mainImage' => false,
'type' => 'image',
'title' => 'Erfurt-Dom und Severikirche-beleuchtet.jpg',
'description' => '',
'url' => 'https://cms.thuecat.org/o/adaptive-media/image/5159216/Preview-1280x0/image',
'copyrightYear' => 2016,
'license' => (object)[
'type' => 'https://creativecommons.org/licenses/by/4.0/',
'author' => '',
],
],
],
'opening_hours' => [
0 => (object)[
'opens' => '09:30:00',
'closes' => '18:00:00',
'from' => (object)[
'date' => '2021-05-01 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'through' => (object)[
'date' => '2021-10-31 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'daysOfWeek' => [
0 => 'Saturday',
1 => 'Friday',
2 => 'Thursday',
3 => 'Tuesday',
4 => 'Monday',
5 => 'Wednesday',
],
],
1 => (object)[
'opens' => '13:00:00',
'closes' => '18:00:00',
'from' => (object)[
'date' => '2021-05-01 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'through' => (object)[
'date' => '2021-10-31 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'daysOfWeek' => [
0 => 'Sunday',
],
],
2 => (object)[
'opens' => '09:30:00',
'closes' => '17:00:00',
'from' => (object)[
'date' => '2021-11-01 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'through' => (object)[
'date' => '2022-04-30 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'daysOfWeek' => [
0 => 'Saturday',
1 => 'Friday',
2 => 'Thursday',
3 => 'Tuesday',
4 => 'Monday',
5 => 'Wednesday',
],
],
3 => (object)[
'opens' => '13:00:00',
'closes' => '17:00:00',
'from' => (object)[
'date' => '2021-11-01 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'through' => (object)[
'date' => '2022-04-30 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'daysOfWeek' => [
0 => 'Sunday',
1 => 'PublicHolidays',
],
],
],
'address' => (object)[
'street' => 'Beispielstraße 1a',
'zip' => '99084',
'city' => 'Beispielstadt',
'email' => 'example@example.com',
'phone' => '(0)30 23125 000',
'fax' => '',
'geo' => (object)[
'latitude' => 50.975955358589545,
'longitude' => 11.023667024961856,
],
],
'url' => 'https://example.com/attraction',
'offers' => '[{"type":"GuidedTourOffer","title":"F\\u00fchrungen","description":"Immer samstags, um 11:15 Uhr findet eine \\u00f6ffentliche F\\u00fchrung durch das Museum statt. Dauer etwa 90 Minuten","prices":[{"title":"Erwachsene","description":"","price":8,"currency":"EUR","rule":"PerPerson"},{"title":"Erm\\u00e4\\u00dfigt","description":"als erm\\u00e4\\u00dfigt gelten schulpflichtige Kinder, Auszubildende, Studierende, Rentner\\/-innen, Menschen mit Behinderungen, Inhaber Sozialausweis der Landeshauptstadt Erfurt","price":5,"currency":"EUR","rule":"PerPerson"}]},{"type":"EntryOffer","title":"Eintritt","description":"Schulklassen und Kitagruppen im Rahmen des Unterrichts: Eintritt frei\\nAn jedem ersten Dienstag im Monat: Eintritt frei","prices":[{"title":"Erm\\u00e4\\u00dfigt","description":"als erm\\u00e4\\u00dfigt gelten schulpflichtige Kinder, Auszubildende, Studierende, Rentner\\/-innen, Menschen mit Behinderungen, Inhaber Sozialausweis der Landeshauptstadt Erfurt","price":5,"currency":"EUR","rule":"PerPerson"},{"title":"Familienkarte","description":"","price":17,"currency":"EUR","rule":"PerGroup"},{"title":"ErfurtCard","description":"","price":14.9,"currency":"EUR","rule":"PerPackage"},{"title":"Erwachsene","description":"","price":8,"currency":"EUR","rule":"PerPerson"}]}]',
'offers' => [
0 => (object)[
'type' => 'GuidedTourOffer',
'title' => 'Führungen',
'description' => 'Immer samstags, um 11:15 Uhr findet eine öffentliche Führung durch das Museum statt. Dauer etwa 90 Minuten',
'prices' => [
0 => (object)[
'title' => 'Erwachsene',
'description' => '',
'price' => 8,
'currency' => 'EUR',
'rule' => 'PerPerson',
],
1 => (object)[
'title' => 'Ermäßigt',
'description' => 'als ermäßigt gelten schulpflichtige Kinder, Auszubildende, Studierende, Rentner/-innen, Menschen mit Behinderungen, Inhaber Sozialausweis der Landeshauptstadt Erfurt',
'price' => 5,
'currency' => 'EUR',
'rule' => 'PerPerson',
],
],
],
1 => (object)[
'type' => 'EntryOffer',
'title' => 'Eintritt',
'description' => 'Schulklassen und Kitagruppen im Rahmen des Unterrichts: Eintritt frei'
. PHP_EOL . 'An jedem ersten Dienstag im Monat: Eintritt frei',
'prices' => [
0 => (object)[
'title' => 'Ermäßigt',
'description' => 'als ermäßigt gelten schulpflichtige Kinder, Auszubildende, Studierende, Rentner/-innen, Menschen mit Behinderungen, Inhaber Sozialausweis der Landeshauptstadt Erfurt',
'price' => 5,
'currency' => 'EUR',
'rule' => 'PerPerson',
],
1 => (object)[
'title' => 'Familienkarte',
'description' => '',
'price' => 17,
'currency' => 'EUR',
'rule' => 'PerGroup',
],
2 => (object)[
'title' => 'ErfurtCard',
'description' => '',
'price' => 14.9,
'currency' => 'EUR',
'rule' => 'PerPackage',
],
3 => (object)[
'title' => 'Erwachsene',
'description' => '',
'price' => 8,
'currency' => 'EUR',
'rule' => 'PerPerson',
],
],
],
],
'slogan' => 'Highlight',
'start_of_construction' => '11. Jh',
'sanitation' => 'Toilets,DisabledToilets,NappyChangingArea,FamilyAndChildFriendly',
@ -29,7 +216,66 @@ return [
'available_languages' => 'German,English,French',
'distance_to_public_transport' => '250:MTR',
'parking_facility_near_by' => '1,2',
'accessibility_specification' => '{"accessibilityCertificationStatus":"AccessibilityChecked","accessibilitySearchCriteria":{"facilityAccessibilityDeaf":["AudioInductionLoop","FlashingSignalCallWaitingDoor","SpecialOffersDeafPeople","SpecialOffersHearingImpairment","VisualConfirmationDistressCallElevator"],"facilityAccessibilityMental":["ColoredOrPictorialGuidanceSystem","InformationInEasyLanguage","InformationWithPictogramsOrPictures"],"facilityAccessibilityVisual":["AssistanceDogsWelcome","GuidanceSystemWithFloorIndicators","InformationBrailleOrPrismaticFont","OffersInPictoralLanguage","SpecialOffersBlindPeople","SpecialOffersVisualImpairment","TactileOffers","VisuallyContrastingStepEdges"],"facilityAccessibilityWalking":["AllRoomsStepFreeAccess","EightyCMWidthPassageWays","EntryAidSwimmingPool","GrabRailInShower","HandrailsOnBothSidesOfAllStaircases","HingedGrabRailToilet","LateralAccessibleToilet","MinumumManoeuvringSpaceShower","NinetyCMWidthPassageWays","NursingBed","ParkingPeopleWithDisabilities","SeventyCMWidthPassageWays","ShowerSeat","SpecialOffersWalkingImpairment","SpecialOffersWheelchairUsers","StepFreeAccess","StepFreeShower","ToiletsPeopleWithDisabilities"]},"certificationAccessibilityDeaf":"Full","certificationAccessibilityMental":"None","certificationAccessibilityPartiallyDeaf":"None","certificationAccessibilityPartiallyVisual":"Info","certificationAccessibilityVisual":"None","certificationAccessibilityWalking":"Info","certificationAccessibilityWheelchair":"Info","shortDescriptionAccessibilityAllGenerations":"Deutsche Beschreibung von shortDescriptionAccessibilityAllGenerations","shortDescriptionAccessibilityAllergic":"Deutsche Beschreibung von shortDescriptionAccessibilityAllergic","shortDescriptionAccessibilityDeaf":"Deutsche Beschreibung von shortDescriptionAccessibilityDeaf","shortDescriptionAccessibilityMental":"Deutsche Beschreibung von shortDescriptionAccessibilityMental","shortDescriptionAccessibilityVisual":"Deutsche Beschreibung von shortDescriptionAccessibilityVisual","shortDescriptionAccessibilityWalking":"Deutsche Beschreibung von shortDescriptionAccessibilityWalking"}',
'accessibility_specification' => (object)[
'accessibilityCertificationStatus' => 'AccessibilityChecked',
'accessibilitySearchCriteria' => (object)[
'facilityAccessibilityDeaf' => [
0 => 'AudioInductionLoop',
1 => 'FlashingSignalCallWaitingDoor',
2 => 'SpecialOffersDeafPeople',
3 => 'SpecialOffersHearingImpairment',
4 => 'VisualConfirmationDistressCallElevator',
],
'facilityAccessibilityMental' => [
0 => 'ColoredOrPictorialGuidanceSystem',
1 => 'InformationInEasyLanguage',
2 => 'InformationWithPictogramsOrPictures',
],
'facilityAccessibilityVisual' => [
0 => 'AssistanceDogsWelcome',
1 => 'GuidanceSystemWithFloorIndicators',
2 => 'InformationBrailleOrPrismaticFont',
3 => 'OffersInPictoralLanguage',
4 => 'SpecialOffersBlindPeople',
5 => 'SpecialOffersVisualImpairment',
6 => 'TactileOffers',
7 => 'VisuallyContrastingStepEdges',
],
'facilityAccessibilityWalking' => [
0 => 'AllRoomsStepFreeAccess',
1 => 'EightyCMWidthPassageWays',
2 => 'EntryAidSwimmingPool',
3 => 'GrabRailInShower',
4 => 'HandrailsOnBothSidesOfAllStaircases',
5 => 'HingedGrabRailToilet',
6 => 'LateralAccessibleToilet',
7 => 'MinumumManoeuvringSpaceShower',
8 => 'NinetyCMWidthPassageWays',
9 => 'NursingBed',
10 => 'ParkingPeopleWithDisabilities',
11 => 'SeventyCMWidthPassageWays',
12 => 'ShowerSeat',
13 => 'SpecialOffersWalkingImpairment',
14 => 'SpecialOffersWheelchairUsers',
15 => 'StepFreeAccess',
16 => 'StepFreeShower',
17 => 'ToiletsPeopleWithDisabilities',
],
],
'certificationAccessibilityDeaf' => 'Full',
'certificationAccessibilityMental' => 'None',
'certificationAccessibilityPartiallyDeaf' => 'None',
'certificationAccessibilityPartiallyVisual' => 'Info',
'certificationAccessibilityVisual' => 'None',
'certificationAccessibilityWalking' => 'Info',
'certificationAccessibilityWheelchair' => 'Info',
'shortDescriptionAccessibilityAllGenerations' => 'Deutsche Beschreibung von shortDescriptionAccessibilityAllGenerations',
'shortDescriptionAccessibilityAllergic' => 'Deutsche Beschreibung von shortDescriptionAccessibilityAllergic',
'shortDescriptionAccessibilityDeaf' => 'Deutsche Beschreibung von shortDescriptionAccessibilityDeaf',
'shortDescriptionAccessibilityMental' => 'Deutsche Beschreibung von shortDescriptionAccessibilityMental',
'shortDescriptionAccessibilityVisual' => 'Deutsche Beschreibung von shortDescriptionAccessibilityVisual',
'shortDescriptionAccessibilityWalking' => 'Deutsche Beschreibung von shortDescriptionAccessibilityWalking',
],
],
],
];

View file

@ -8,7 +8,78 @@ return [
'uid' => '1',
'pid' => '3',
'title' => 'Attraktion mit Angebotstypen',
'offers' => '[{"description":"","prices":[{"currency":"EUR","description":"","price":8,"rule":"PerGroup","title":"Schulklassen"}],"title":"Führungen","type":"GuidedTourOffer"},{"description":"","prices":[{"currency":"EUR","description":"","price":8,"rule":"PerGroup","title":"Schulklassen"}],"title":"Verkostung","type":"Tasting"},{"description":"","prices":[{"currency":"EUR","description":"","price":8,"rule":"PerGroup","title":"Schulklassen"}],"title":"Eintritt 1","type":"EntryOffer"},{"description":"","prices":[{"currency":"EUR","description":"","price":8,"rule":"PerGroup","title":"Schulklassen"}],"title":"Eintritt 2","type":"EntryOffer"},{"description":"","prices":[{"currency":"EUR","description":"","price":8,"rule":"PerGroup","title":"Schulklassen"}],"title":"Parkgebühr","type":"ParkingFee"}]',
'offers' => [
0 => (object)[
'description' => '',
'prices' => [
0 => (object)[
'currency' => 'EUR',
'description' => '',
'price' => 8,
'rule' => 'PerGroup',
'title' => 'Schulklassen',
],
],
'title' => 'Führungen',
'type' => 'GuidedTourOffer',
],
1 => (object)[
'description' => '',
'prices' => [
0 => (object)[
'currency' => 'EUR',
'description' => '',
'price' => 8,
'rule' => 'PerGroup',
'title' => 'Schulklassen',
],
],
'title' => 'Verkostung',
'type' => 'Tasting',
],
2 => (object)[
'description' => '',
'prices' => [
0 => (object)[
'currency' => 'EUR',
'description' => '',
'price' => 8,
'rule' => 'PerGroup',
'title' => 'Schulklassen',
],
],
'title' => 'Eintritt 1',
'type' => 'EntryOffer',
],
3 => (object)[
'description' => '',
'prices' => [
0 => (object)[
'currency' => 'EUR',
'description' => '',
'price' => 8,
'rule' => 'PerGroup',
'title' => 'Schulklassen',
],
],
'title' => 'Eintritt 2',
'type' => 'EntryOffer',
],
4 => (object)[
'description' => '',
'prices' => [
0 => (object)[
'currency' => 'EUR',
'description' => '',
'price' => 8,
'rule' => 'PerGroup',
'title' => 'Schulklassen',
],
],
'title' => 'Parkgebühr',
'type' => 'ParkingFee',
],
],
],
],
];

View file

@ -8,7 +8,43 @@ return [
'uid' => '1',
'pid' => '3',
'title' => 'Attraktion mit Preisen',
'offers' => '[{"prices":[{"currency":"EUR","description":"","price":8,"rule":"PerGroup","title":"Schulklassen"},{"currency":"EUR","description":"","price":8,"rule":"PerPerson","title":"Erwachsene"},{"currency":"EUR","description":"","price":5,"rule":"PerPerson","title":"Familienkarte B"},{"currency":"EUR","description":"","price":5,"rule":"PerPerson","title":"Familienkarte A"}],"description":"","title":"Führungen","type":"GuidedTourOffer"}]',
'offers' => [
0 => (object)[
'prices' => [
0 => (object)[
'currency' => 'EUR',
'description' => '',
'price' => 8,
'rule' => 'PerGroup',
'title' => 'Schulklassen',
],
1 => (object)[
'currency' => 'EUR',
'description' => '',
'price' => 8,
'rule' => 'PerPerson',
'title' => 'Erwachsene',
],
2 => (object)[
'currency' => 'EUR',
'description' => '',
'price' => 5,
'rule' => 'PerPerson',
'title' => 'Familienkarte B',
],
3 => (object)[
'currency' => 'EUR',
'description' => '',
'price' => 5,
'rule' => 'PerPerson',
'title' => 'Familienkarte A',
],
],
'description' => '',
'title' => 'Führungen',
'type' => 'GuidedTourOffer',
],
],
],
],
];

View file

@ -10,11 +10,199 @@ return [
'title' => 'Erste Attraktion',
'description' => 'Die Beschreibung der Attraktion',
'town' => '1',
'media' => '[{"mainImage":true,"type":"image","title":"Erfurt-Dom und Severikirche-beleuchtet.jpg","description":"","url":"https:\\/\\/cms.thuecat.org\\/o\\/adaptive-media\\/image\\/5159216\\/Preview-1280x0\\/image","copyrightYear":2016,"author":"Image Author","license":{"type":"https:\\/\\/creativecommons.org\\/licenses\\/by\\/4.0\\/","author":""}},{"mainImage":false,"type":"image","title":"Erfurt-Dom-und-Severikirche.jpg","description":"Sicht auf Dom St. Marien, St. Severikirche sowie die davor liegenden Klostergeb\\u00e4ude und einem Ausschnitt des Biergartens umgeben von einem d\\u00e4mmerungsverf\\u00e4rten Himmel","url":"https:\\/\\/cms.thuecat.org\\/o\\/adaptive-media\\/image\\/5159186\\/Preview-1280x0\\/image","copyrightYear":2020,"license":{"type":"https:\\/\\/creativecommons.org\\/licenses\\/by\\/4.0\\/","author":""}},{"mainImage":false,"type":"image","title":"Erfurt-Dom und Severikirche-beleuchtet.jpg","description":"","url":"https:\\/\\/cms.thuecat.org\\/o\\/adaptive-media\\/image\\/5159216\\/Preview-1280x0\\/image","copyrightYear":2016,"license":{"type":"https:\\/\\/creativecommons.org\\/licenses\\/by\\/4.0\\/","author":""}}]',
'opening_hours' => '[{"opens":"09:30:00","closes":"18:00:00","from":{"date":"2021-05-01 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"through":{"date":"2021-10-31 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"daysOfWeek":["Saturday","Friday","Thursday","Tuesday","Monday","Wednesday"]},{"opens":"13:00:00","closes":"18:00:00","from":{"date":"2021-05-01 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"through":{"date":"2021-10-31 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"daysOfWeek":["Sunday"]},{"opens":"09:30:00","closes":"17:00:00","from":{"date":"2021-11-01 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"through":{"date":"2022-04-30 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"daysOfWeek":["Saturday","Friday","Thursday","Tuesday","Monday","Wednesday"]},{"opens":"13:00:00","closes":"17:00:00","from":{"date":"2021-11-01 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"through":{"date":"2022-04-30 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"daysOfWeek":["Sunday","PublicHolidays"]}]',
'address' => '{"street":"Beispielstraße 1a","zip":"99084","city":"Beispielstadt","email":"example@example.com","phone":"(0)30 23125 000","fax":"","geo":{"latitude":50.975955358589545,"longitude":11.023667024961856}}',
'media' => [
0 => (object)[
'mainImage' => true,
'type' => 'image',
'title' => 'Erfurt-Dom und Severikirche-beleuchtet.jpg',
'description' => '',
'url' => 'https://cms.thuecat.org/o/adaptive-media/image/5159216/Preview-1280x0/image',
'copyrightYear' => 2016,
'author' => 'Image Author',
'license' => (object)[
'type' => 'https://creativecommons.org/licenses/by/4.0/',
'author' => '',
],
],
1 => (object)[
'mainImage' => false,
'type' => 'image',
'title' => 'Erfurt-Dom-und-Severikirche.jpg',
'description' => 'Sicht auf Dom St. Marien, St. Severikirche sowie die davor liegenden Klostergebäude und einem Ausschnitt des Biergartens umgeben von einem dämmerungsverfärten Himmel',
'url' => 'https://cms.thuecat.org/o/adaptive-media/image/5159186/Preview-1280x0/image',
'copyrightYear' => 2020,
'license' => (object)[
'type' => 'https://creativecommons.org/licenses/by/4.0/',
'author' => '',
],
],
2 => (object)[
'mainImage' => false,
'type' => 'image',
'title' => 'Erfurt-Dom und Severikirche-beleuchtet.jpg',
'description' => '',
'url' => 'https://cms.thuecat.org/o/adaptive-media/image/5159216/Preview-1280x0/image',
'copyrightYear' => 2016,
'license' => (object)[
'type' => 'https://creativecommons.org/licenses/by/4.0/',
'author' => '',
],
],
],
'opening_hours' => [
0 => (object)[
'opens' => '09:30:00',
'closes' => '18:00:00',
'from' => (object)[
'date' => '2021-05-01 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'through' => (object)[
'date' => '2021-10-31 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'daysOfWeek' => [
0 => 'Saturday',
1 => 'Friday',
2 => 'Thursday',
3 => 'Tuesday',
4 => 'Monday',
5 => 'Wednesday',
],
],
1 => (object)[
'opens' => '13:00:00',
'closes' => '18:00:00',
'from' => (object)[
'date' => '2021-05-01 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'through' => (object)[
'date' => '2021-10-31 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'daysOfWeek' => [
0 => 'Sunday',
],
],
2 => (object)[
'opens' => '09:30:00',
'closes' => '17:00:00',
'from' => (object)[
'date' => '2021-11-01 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'through' => (object)[
'date' => '2022-04-30 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'daysOfWeek' => [
0 => 'Saturday',
1 => 'Friday',
2 => 'Thursday',
3 => 'Tuesday',
4 => 'Monday',
5 => 'Wednesday',
],
],
3 => (object)[
'opens' => '13:00:00',
'closes' => '17:00:00',
'from' => (object)[
'date' => '2021-11-01 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'through' => (object)[
'date' => '2022-04-30 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'daysOfWeek' => [
0 => 'Sunday',
1 => 'PublicHolidays',
],
],
],
'address' => (object)[
'street' => 'Beispielstraße 1a',
'zip' => '99084',
'city' => 'Beispielstadt',
'email' => 'example@example.com',
'phone' => '(0)30 23125 000',
'fax' => '',
'geo' => (object)[
'latitude' => 50.975955358589545,
'longitude' => 11.023667024961856,
],
]
,
'url' => 'https://example.com/attraction',
'offers' => '[{"type":"GuidedTourOffer","title":"F\\u00fchrungen","description":"Immer samstags, um 11:15 Uhr findet eine \\u00f6ffentliche F\\u00fchrung durch das Museum statt. Dauer etwa 90 Minuten","prices":[{"title":"Erwachsene","description":"","price":8,"currency":"EUR","rule":"PerPerson"},{"title":"Erm\\u00e4\\u00dfigt","description":"als erm\\u00e4\\u00dfigt gelten schulpflichtige Kinder, Auszubildende, Studierende, Rentner\\/-innen, Menschen mit Behinderungen, Inhaber Sozialausweis der Landeshauptstadt Erfurt","price":5,"currency":"EUR","rule":"PerPerson"}]},{"type":"EntryOffer","title":"Eintritt","description":"Schulklassen und Kitagruppen im Rahmen des Unterrichts: Eintritt frei\\nAn jedem ersten Dienstag im Monat: Eintritt frei","prices":[{"title":"Erm\\u00e4\\u00dfigt","description":"als erm\\u00e4\\u00dfigt gelten schulpflichtige Kinder, Auszubildende, Studierende, Rentner\\/-innen, Menschen mit Behinderungen, Inhaber Sozialausweis der Landeshauptstadt Erfurt","price":5,"currency":"EUR","rule":"PerPerson"},{"title":"Familienkarte","description":"","price":17,"currency":"EUR","rule":"PerGroup"},{"title":"ErfurtCard","description":"","price":14.9,"currency":"EUR","rule":"PerPackage"},{"title":"Erwachsene","description":"","price":8,"currency":"EUR","rule":"PerPerson"}]}]',
'offers' => [
0 => (object)[
'type' => 'GuidedTourOffer',
'title' => 'Führungen',
'description' => 'Immer samstags, um 11:15 Uhr findet eine öffentliche Führung durch das Museum statt. Dauer etwa 90 Minuten',
'prices' => [
0 => (object)[
'title' => 'Erwachsene',
'description' => '',
'price' => 8,
'currency' => 'EUR',
'rule' => 'PerPerson',
],
1 => (object)[
'title' => 'Ermäßigt',
'description' => 'als ermäßigt gelten schulpflichtige Kinder, Auszubildende, Studierende, Rentner/-innen, Menschen mit Behinderungen, Inhaber Sozialausweis der Landeshauptstadt Erfurt',
'price' => 5,
'currency' => 'EUR',
'rule' => 'PerPerson',
],
],
],
1 => (object)[
'type' => 'EntryOffer',
'title' => 'Eintritt',
'description' => 'Schulklassen und Kitagruppen im Rahmen des Unterrichts: Eintritt frei'
. PHP_EOL . 'An jedem ersten Dienstag im Monat: Eintritt frei',
'prices' => [
0 => (object)[
'title' => 'Ermäßigt',
'description' => 'als ermäßigt gelten schulpflichtige Kinder, Auszubildende, Studierende, Rentner/-innen, Menschen mit Behinderungen, Inhaber Sozialausweis der Landeshauptstadt Erfurt',
'price' => 5,
'currency' => 'EUR',
'rule' => 'PerPerson',
],
1 => (object)[
'title' => 'Familienkarte',
'description' => '',
'price' => 17,
'currency' => 'EUR',
'rule' => 'PerGroup',
],
2 => (object)[
'title' => 'ErfurtCard',
'description' => '',
'price' => 14.9,
'currency' => 'EUR',
'rule' => 'PerPackage',
],
3 => (object)[
'title' => 'Erwachsene',
'description' => '',
'price' => 8,
'currency' => 'EUR',
'rule' => 'PerPerson',
],
],
],
],
'slogan' => 'Highlight',
'start_of_construction' => '11. Jh',
'sanitation' => 'Toilets,DisabledToilets,NappyChangingArea,FamilyAndChildFriendly',
@ -29,7 +217,66 @@ return [
'available_languages' => 'German,English,French',
'distance_to_public_transport' => '250:MTR',
'parking_facility_near_by' => '1,2',
'accessibility_specification' => '{"accessibilityCertificationStatus":"AccessibilityChecked","accessibilitySearchCriteria":{"facilityAccessibilityDeaf":["AudioInductionLoop","FlashingSignalCallWaitingDoor","SpecialOffersDeafPeople","SpecialOffersHearingImpairment","VisualConfirmationDistressCallElevator"],"facilityAccessibilityMental":["ColoredOrPictorialGuidanceSystem","InformationInEasyLanguage","InformationWithPictogramsOrPictures"],"facilityAccessibilityVisual":["AssistanceDogsWelcome","GuidanceSystemWithFloorIndicators","InformationBrailleOrPrismaticFont","OffersInPictoralLanguage","SpecialOffersBlindPeople","SpecialOffersVisualImpairment","TactileOffers","VisuallyContrastingStepEdges"],"facilityAccessibilityWalking":["AllRoomsStepFreeAccess","EightyCMWidthPassageWays","EntryAidSwimmingPool","GrabRailInShower","HandrailsOnBothSidesOfAllStaircases","HingedGrabRailToilet","LateralAccessibleToilet","MinumumManoeuvringSpaceShower","NinetyCMWidthPassageWays","NursingBed","ParkingPeopleWithDisabilities","SeventyCMWidthPassageWays","ShowerSeat","SpecialOffersWalkingImpairment","SpecialOffersWheelchairUsers","StepFreeAccess","StepFreeShower","ToiletsPeopleWithDisabilities"]},"certificationAccessibilityDeaf":"Full","certificationAccessibilityMental":"None","certificationAccessibilityPartiallyDeaf":"None","certificationAccessibilityPartiallyVisual":"Info","certificationAccessibilityVisual":"None","certificationAccessibilityWalking":"Info","certificationAccessibilityWheelchair":"Info","shortDescriptionAccessibilityAllGenerations":"Deutsche Beschreibung von shortDescriptionAccessibilityAllGenerations","shortDescriptionAccessibilityAllergic":"Deutsche Beschreibung von shortDescriptionAccessibilityAllergic","shortDescriptionAccessibilityDeaf":"Deutsche Beschreibung von shortDescriptionAccessibilityDeaf","shortDescriptionAccessibilityMental":"Deutsche Beschreibung von shortDescriptionAccessibilityMental","shortDescriptionAccessibilityVisual":"Deutsche Beschreibung von shortDescriptionAccessibilityVisual","shortDescriptionAccessibilityWalking":"Deutsche Beschreibung von shortDescriptionAccessibilityWalking"}',
'accessibility_specification' => (object)[
'accessibilityCertificationStatus' => 'AccessibilityChecked',
'accessibilitySearchCriteria' => (object)[
'facilityAccessibilityDeaf' => [
0 => 'AudioInductionLoop',
1 => 'FlashingSignalCallWaitingDoor',
2 => 'SpecialOffersDeafPeople',
3 => 'SpecialOffersHearingImpairment',
4 => 'VisualConfirmationDistressCallElevator',
],
'facilityAccessibilityMental' => [
0 => 'ColoredOrPictorialGuidanceSystem',
1 => 'InformationInEasyLanguage',
2 => 'InformationWithPictogramsOrPictures',
],
'facilityAccessibilityVisual' => [
0 => 'AssistanceDogsWelcome',
1 => 'GuidanceSystemWithFloorIndicators',
2 => 'InformationBrailleOrPrismaticFont',
3 => 'OffersInPictoralLanguage',
4 => 'SpecialOffersBlindPeople',
5 => 'SpecialOffersVisualImpairment',
6 => 'TactileOffers',
7 => 'VisuallyContrastingStepEdges',
],
'facilityAccessibilityWalking' => [
0 => 'AllRoomsStepFreeAccess',
1 => 'EightyCMWidthPassageWays',
2 => 'EntryAidSwimmingPool',
3 => 'GrabRailInShower',
4 => 'HandrailsOnBothSidesOfAllStaircases',
5 => 'HingedGrabRailToilet',
6 => 'LateralAccessibleToilet',
7 => 'MinumumManoeuvringSpaceShower',
8 => 'NinetyCMWidthPassageWays',
9 => 'NursingBed',
10 => 'ParkingPeopleWithDisabilities',
11 => 'SeventyCMWidthPassageWays',
12 => 'ShowerSeat',
13 => 'SpecialOffersWalkingImpairment',
14 => 'SpecialOffersWheelchairUsers',
15 => 'StepFreeAccess',
16 => 'StepFreeShower',
17 => 'ToiletsPeopleWithDisabilities',
],
],
'certificationAccessibilityDeaf' => 'Full',
'certificationAccessibilityMental' => 'None',
'certificationAccessibilityPartiallyDeaf' => 'None',
'certificationAccessibilityPartiallyVisual' => 'Info',
'certificationAccessibilityVisual' => 'None',
'certificationAccessibilityWalking' => 'Info',
'certificationAccessibilityWheelchair' => 'Info',
'shortDescriptionAccessibilityAllGenerations' => 'Deutsche Beschreibung von shortDescriptionAccessibilityAllGenerations',
'shortDescriptionAccessibilityAllergic' => 'Deutsche Beschreibung von shortDescriptionAccessibilityAllergic',
'shortDescriptionAccessibilityDeaf' => 'Deutsche Beschreibung von shortDescriptionAccessibilityDeaf',
'shortDescriptionAccessibilityMental' => 'Deutsche Beschreibung von shortDescriptionAccessibilityMental',
'shortDescriptionAccessibilityVisual' => 'Deutsche Beschreibung von shortDescriptionAccessibilityVisual',
'shortDescriptionAccessibilityWalking' => 'Deutsche Beschreibung von shortDescriptionAccessibilityWalking',
],
],
],
'tx_thuecat_town' => [
@ -45,13 +292,35 @@ return [
'uid' => '1',
'pid' => '3',
'title' => 'Parkhaus Domplatz',
'address' => '{"street":"Bechtheimer Str. 1","zip":"99084","city":"Erfurt","email":"info@stadtwerke-erfurt.de","phone":"+49 361 5640","fax":"","geo":{"latitude":50.977648905044,"longitude":11.022127985954299}}',
'address' => (object)[
'street' => 'Bechtheimer Str. 1',
'zip' => '99084',
'city' => 'Erfurt',
'email' => 'info@stadtwerke-erfurt.de',
'phone' => '+49 361 5640',
'fax' => '',
'geo' => (object)[
'latitude' => 50.977648905044,
'longitude' => 11.022127985954299,
],
],
],
1 => [
'uid' => '2',
'pid' => '3',
'title' => 'Q-Park Anger 1 Parkhaus',
'address' => '{"street":"Anger 1","zip":"99084","city":"Erfurt","email":"servicecenter@q-park.de","phone":"+49 218 18190290","fax":"","geo":{"latitude":50.977999330565794,"longitude":11.037503264052475}}',
'address' => (object)[
'street' => 'Anger 1',
'zip' => '99084',
'city' => 'Erfurt',
'email' => 'servicecenter@q-park.de',
'phone' => '+49 218 18190290',
'fax' => '',
'geo' => (object)[
'latitude' => 50.977999330565794,
'longitude' => 11.037503264052475,
],
],
],
],
];

View file

@ -10,10 +10,10 @@ return [
'title' => 'Attraktion mit false',
'description' => '',
'town' => '0',
'media' => '',
'opening_hours' => '',
'address' => '',
'offers' => '',
'media' => [],
'opening_hours' => [],
'address' => [],
'offers' => [],
'slogan' => '',
'start_of_construction' => '',
'sanitation' => '',
@ -33,10 +33,10 @@ return [
'title' => 'Attraktion mit true',
'description' => '',
'town' => '0',
'media' => '',
'opening_hours' => '',
'address' => '',
'offers' => '',
'media' => [],
'opening_hours' => [],
'address' => [],
'offers' => [],
'slogan' => '',
'start_of_construction' => '',
'sanitation' => '',

View file

@ -10,10 +10,10 @@ return [
'title' => 'Attraktion mit pets_allowed = false',
'description' => '',
'town' => '0',
'media' => '',
'opening_hours' => '',
'address' => '',
'offers' => '',
'media' => [],
'opening_hours' => [],
'address' => [],
'offers' => [],
'slogan' => '',
'start_of_construction' => '',
'sanitation' => '',
@ -32,10 +32,10 @@ return [
'title' => 'Attraktion mit pets_allowed = true',
'description' => '',
'town' => '0',
'media' => '',
'opening_hours' => '',
'address' => '',
'offers' => '',
'media' => [],
'opening_hours' => [],
'address' => [],
'offers' => [],
'slogan' => '',
'start_of_construction' => '',
'sanitation' => '',

View file

@ -10,10 +10,10 @@ return [
'title' => 'Attraktion mit public_access = false',
'description' => '',
'town' => '0',
'media' => '',
'opening_hours' => '',
'address' => '',
'offers' => '',
'media' => [],
'opening_hours' => [],
'address' => [],
'offers' => [],
'slogan' => '',
'start_of_construction' => '',
'sanitation' => '',
@ -32,10 +32,10 @@ return [
'title' => 'Attraktion mit public_access = true',
'description' => '',
'town' => '0',
'media' => '',
'opening_hours' => '',
'address' => '',
'offers' => '',
'media' => [],
'opening_hours' => [],
'address' => [],
'offers' => [],
'slogan' => '',
'start_of_construction' => '',
'sanitation' => '',

View file

@ -449,39 +449,43 @@ class FrontendTest extends FunctionalTestCase
->getConnectionForTable('tx_thuecat_tourist_attraction')
->update(
'tx_thuecat_tourist_attraction',
['opening_hours' => json_encode([
[
'closes' => '14:00:00',
'opens' => '13:00:00',
'daysOfWeek' => ['Sunday'],
'from' => [
'date' => $hidden->modify('-1 day')->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
[
'opening_hours' => [
[
'closes' => '14:00:00',
'opens' => '13:00:00',
'daysOfWeek' => ['Sunday'],
'from' => [
'date' => $hidden->modify('-1 day')->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
'through' => [
'date' => $hidden->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
],
'through' => [
'date' => $hidden->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
[
'closes' => '16:00:00',
'opens' => '15:00:00',
'daysOfWeek' => ['Sunday'],
'from' => [
'date' => $available->modify('-1 day')->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
'through' => [
'date' => $available->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
],
],
[
'closes' => '16:00:00',
'opens' => '15:00:00',
'daysOfWeek' => ['Sunday'],
'from' => [
'date' => $available->modify('-1 day')->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
'through' => [
'date' => $available->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
],
])],
['uid' => 1]
],
[
'uid' => 1,
]
)
;
@ -516,54 +520,58 @@ class FrontendTest extends FunctionalTestCase
->getConnectionForTable('tx_thuecat_tourist_attraction')
->update(
'tx_thuecat_tourist_attraction',
['opening_hours' => json_encode([
[
'closes' => '17:00:00',
'opens' => '13:00:00',
'daysOfWeek' => ['Sunday'],
'from' => [
'date' => $fromThirdOpening->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
[
'opening_hours' => [
[
'closes' => '17:00:00',
'opens' => '13:00:00',
'daysOfWeek' => ['Sunday'],
'from' => [
'date' => $fromThirdOpening->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
'through' => [
'date' => $fromThirdOpening->modify('+1 day')->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
],
'through' => [
'date' => $fromThirdOpening->modify('+1 day')->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
[
'closes' => '17:00:00',
'opens' => '13:00:00',
'daysOfWeek' => ['Sunday'],
'from' => [
'date' => $fromFirstOpening->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
'through' => [
'date' => $fromFirstOpening->modify('+1 day')->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
],
[
'closes' => '17:00:00',
'opens' => '13:00:00',
'daysOfWeek' => ['Sunday'],
'from' => [
'date' => $fromSecondOpening->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
'through' => [
'date' => $fromSecondOpening->modify('+1 day')->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
],
],
[
'closes' => '17:00:00',
'opens' => '13:00:00',
'daysOfWeek' => ['Sunday'],
'from' => [
'date' => $fromFirstOpening->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
'through' => [
'date' => $fromFirstOpening->modify('+1 day')->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
],
[
'closes' => '17:00:00',
'opens' => '13:00:00',
'daysOfWeek' => ['Sunday'],
'from' => [
'date' => $fromSecondOpening->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
'through' => [
'date' => $fromSecondOpening->modify('+1 day')->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
],
])],
['uid' => 1]
],
[
'uid' => 1,
]
)
;
@ -593,54 +601,58 @@ class FrontendTest extends FunctionalTestCase
->getConnectionForTable('tx_thuecat_tourist_attraction')
->update(
'tx_thuecat_tourist_attraction',
['special_opening_hours' => json_encode([
[
'closes' => '12:00:00',
'opens' => '11:00:00',
'daysOfWeek' => ['Sunday'],
'from' => [
'date' => $hidden->modify('-1 day')->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
[
'special_opening_hours' => [
[
'closes' => '12:00:00',
'opens' => '11:00:00',
'daysOfWeek' => ['Sunday'],
'from' => [
'date' => $hidden->modify('-1 day')->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
'through' => [
'date' => $hidden->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
],
'through' => [
'date' => $hidden->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
[
'closes' => '14:00:00',
'opens' => '13:00:00',
'daysOfWeek' => ['Sunday'],
'from' => [
'date' => $available2->modify('-1 day')->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
'through' => [
'date' => $available2->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
],
[
'closes' => '16:00:00',
'opens' => '15:00:00',
'daysOfWeek' => ['Sunday'],
'from' => [
'date' => $available->modify('-1 day')->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
'through' => [
'date' => $available->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
],
],
[
'closes' => '14:00:00',
'opens' => '13:00:00',
'daysOfWeek' => ['Sunday'],
'from' => [
'date' => $available2->modify('-1 day')->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
'through' => [
'date' => $available2->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
],
[
'closes' => '16:00:00',
'opens' => '15:00:00',
'daysOfWeek' => ['Sunday'],
'from' => [
'date' => $available->modify('-1 day')->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
'through' => [
'date' => $available->format('Y-m-d') . ' 00:00:00.000000',
'timezone' => 'UTC',
'timezone_type' => 3,
],
],
])],
['uid' => 1]
],
[
'uid' => 1,
]
)
;

View file

@ -17,7 +17,6 @@ CREATE TABLE tx_thuecat_import_log (
CREATE TABLE tx_thuecat_import_log_entry (
type varchar(255) DEFAULT 'savingEntity' NOT NULL,
import_log int(11) unsigned DEFAULT '0' NOT NULL,
errors text,
remote_id varchar(255) DEFAULT '' NOT NULL,
record_uid int(11) unsigned DEFAULT '0' NOT NULL,
table_name varchar(255) DEFAULT '' NOT NULL,
@ -56,12 +55,7 @@ CREATE TABLE tx_thuecat_tourist_attraction (
parking_facility_near_by varchar(255) DEFAULT '' NOT NULL,
title varchar(255) DEFAULT '' NOT NULL,
description text,
opening_hours text,
special_opening_hours text,
address text,
url text,
media text,
offers text,
slogan text,
start_of_construction text,
sanitation text,
@ -77,7 +71,6 @@ CREATE TABLE tx_thuecat_tourist_attraction (
public_access text,
available_languages text,
distance_to_public_transport text,
accessibility_specification text,
editorial_images int(11) unsigned DEFAULT '0' NOT NULL,
);
@ -87,11 +80,6 @@ CREATE TABLE tx_thuecat_parking_facility (
town int(11) unsigned DEFAULT '0' NOT NULL,
title varchar(255) DEFAULT '' NOT NULL,
description text,
opening_hours text,
special_opening_hours text,
address text,
media text,
offers text,
sanitation text,
other_service text,
traffic_infrastructure text,