Jake Vanderwerf
2026-05-31 d7e7d248cbe41cd7a9ef9c2fb022b6c4831f99a3
inc/managers/SEO/render/Traits/_Properties/sourceOrganizationTrait.php
@@ -2,22 +2,37 @@
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;
   }
}