| | |
| | | <?php |
| | | namespace JVBase\managers\SEO\render\Traits\_Properties; |
| | | |
| | | use JVBase\base\SchemaHelper; |
| | | use JVBase\managers\SEO\render\Thing\Intangible\StructuredValue\OpeningHoursSpecification; |
| | | use JVBase\managers\SEO\render\Traits\_Helpers\arrayHelper; |
| | | |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | trait openingHoursSpecificationTrait { |
| | | use arrayHelper; |
| | | /** |
| | | * @var OpeningHoursSpecification The opening hours of a certain place. |
| | | * @var OpeningHoursSpecification|array The opening hours of a certain place. |
| | | */ |
| | | protected OpeningHoursSpecification $openingHoursSpecification; |
| | | protected OpeningHoursSpecification|array $openingHoursSpecification; |
| | | |
| | | public function getOpeningHoursSpecification():?OpeningHoursSpecification |
| | | public function getOpeningHoursSpecification():OpeningHoursSpecification|array|null |
| | | { |
| | | return $this->openingHoursSpecification??null; |
| | | } |
| | | public function setOpeningHoursSpecification(OpeningHoursSpecification $openingHoursSpecification):void |
| | | public function setOpeningHoursSpecification(OpeningHoursSpecification|array $openingHoursSpecification):void |
| | | { |
| | | if (is_array($openingHoursSpecification)) { |
| | | if (array_key_exists('dayOfWeek', $openingHoursSpecification)) { |
| | | if (!array_key_exists('type', $openingHoursSpecification)) { |
| | | $openingHoursSpecification['type'] = 'JVBase\managers\SEO\render\Thing\Intangible\StructuredValue\OpeningHoursSpecification'; |
| | | } |
| | | $openingHoursSpecification = SchemaHelper::classFromConfig($openingHoursSpecification); |
| | | } else { |
| | | $out = []; |
| | | foreach ($openingHoursSpecification as $hours) { |
| | | if (!array_key_exists('type', $hours)){ |
| | | $hours['type'] = 'JVBase\managers\SEO\render\Thing\Intangible\StructuredValue\OpeningHoursSpecification'; |
| | | } |
| | | $out[] = SchemaHelper::classFromConfig($hours); |
| | | } |
| | | $openingHoursSpecification = $out; |
| | | } |
| | | } |
| | | $this->openingHoursSpecification = $openingHoursSpecification; |
| | | } |
| | | |