First check for existence before accessing.
The ObjectStorage itself has no check which will result in an PHP
warning due to accessing a none existing array key.
Relates: #10197
This allows to fetch merged opening hours instead of actually edited
opening hours.
They will be merged per valid time span.
The data structure is a bit different as each time span has a list of
week days, each with its own open and end.
Relates: #10246
The schema is very flexible and some values are not validated upfront.
This will result in many objects which we currently can not map.
This resulted in an exception breaking the rest of the import.
We now handle the broken mapping and skip those objects with proper
logging.
This allows to continue with import and report and debug those objects
in order to improve the mapping step by step.
Relates: #10198
Adds a new type of import configuration.
This configuration allows to define a single resource.
All the resources referenced via schema:containsPlace will be imported.
Relates: #10237
Strip off seconds from strings.
Prepare code to easily provide a structured data to allow integrators to
format timing differently.
Provide a method to easily check if an opening hour is only valid for a
single day.
Relates: #10185
Opening hours are filtered. Opening hours from the past are no longer
available.
Opening hours are sorted. Newer opening hours are shown last.
Relates: #10185
The import resulted in an exception if there was an array of types
instead of a string.
Both situations are now handled and API of models is kept.
Existing imported data is also kept.
* Support generation of code coverage generation
* Remove useless caching within GitHub
* Add TYPO3 11.5 within CI
* Update phpstan
Replace friendsoftypo3/phpstan-typo3 with saschaegerer/phpstan.
The friendsoftypo3 is intended for TYPO3 itself, while saschaegerer is
intended for community.
Also update all related packages.
Fix some new findings and update baseline.
* Run composer none interactive in CI
* Remove dependency checker
* Migrate tests to no longer use legacy dependencies
* https://forge.typo3.org/issues/97479
* Fix phpstan findings
DayOfWeek is an enum as defined at https://schema.org/DayOfWeek
We missed the PublicHolidays enum value when building
`getDaysOfWeekWithMondayFirstWeekDay()` which is used in templates to
get ordered result.
Opening hours for public holidays were not rendered, which is now fixed.
That ensures grouped output of related offers.
Offers are not sorted in any way and might end up in entry, parking,
entry, etc. Sorting ensures all of same type are rendered one after the
other, entry, entry, parking.
Sorting is done by alphabet on the technical enum value.
- Removed individual converters for TYPO3.
Conversion is now handled in a single converter.
- The new converter will import necessary dependencies upfront, e.g.
town or organisation.
- Move import state into extra class.
Relates: #34
That's necessary as models grow.
Added features should be tested to not break with future changes.
The tests revealed an existing error in fallback which got fixed to make
new test pass.
Relates: #18