| | |
| | | namespace JVBase\managers\SEO\render\Traits\_Properties; |
| | | |
| | | use JVBase\managers\SEO\render\Thing\Organization\Organization; |
| | | use JVBase\managers\SEO\render\Traits\_Helpers\arrayHelper; |
| | | |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | trait sourceOrganizationTrait { |
| | | use arrayHelper; |
| | | /** |
| | | * @var Organization The Organization on whose behalf the creator was working. |
| | | * @var Organization|array The Organization on whose behalf the creator was working. |
| | | */ |
| | | protected Organization $sourceOrganization; |
| | | protected Organization|array $sourceOrganization; |
| | | |
| | | public function getSourceOrganization():?Organization |
| | | { |
| | | return $this->sourceOrganization??null; |
| | | } |
| | | public function setSourceOrganization(Organization $sourceOrganization):void |
| | | public function setSourceOrganization(string|array|Organization $sourceOrganization):void |
| | | { |
| | | if (is_string($sourceOrganization)) { |
| | | if (empty($sourceOrganization)) { |
| | | return; |
| | | } |
| | | //TODO: create organization from string |
| | | return; |
| | | } elseif (is_array($sourceOrganization)) { |
| | | $sourceOrganization = $this->mixedArray('sourceOrganization', $sourceOrganization, [ |
| | | 'JVBase\managers\SEO\render\Thing\Person', |
| | | 'JVBase\managers\SEO\render\Thing\Organization\LocalBusiness\LocalBusiness', |
| | | 'JVBase\managers\SEO\render\Thing\Organization\Organization', |
| | | ]); |
| | | } |
| | | $this->sourceOrganization = $sourceOrganization; |
| | | } |
| | | } |