<?php
|
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|array The Organization on whose behalf the creator was working.
|
*/
|
protected Organization|array $sourceOrganization;
|
|
public function getSourceOrganization():?Organization
|
{
|
return $this->sourceOrganization??null;
|
}
|
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;
|
}
|
}
|