public function getWebSiteJSONLD($metaVars, $locale)
{
/* -- Cache it in our class; no need to fetch it more than once */
if (isset($this->cachedWebSiteJSONLD[$locale])) {
return $this->cachedWebSiteJSONLD[$locale];
}
$webSiteJSONLD = array();
/* -- Settings generic to all Creator types */
$webSiteJSONLD['type'] = "WebSite";
$webSiteJSONLD['name'] = $metaVars['seomaticSiteMeta']['siteSeoName'];
$webSiteJSONLD['description'] = $metaVars['seomaticSiteMeta']['siteSeoDescription'];
$webSiteJSONLD['url'] = $this->getFullyQualifiedUrl(craft()->getSiteUrl());
if (isset($metaVars['seomaticSiteMeta']['siteSeoImage'])) {
$webSiteJSONLD['image'] = $metaVars['seomaticSiteMeta']['siteSeoImage'];
}
if (!empty($metaVars['seomaticSiteMeta']['siteLinksSearchTargets']) && $metaVars['seomaticSiteMeta']['siteLinksQueryInput']) {
$targets = array();
foreach ($metaVars['seomaticSiteMeta']['siteLinksSearchTargets'] as $target) {
$targets[] = $target['searchtargets'];
}
$potentialAction = array("type" => "SearchAction", "target" => $targets, "query-input" => "required name=" . $metaVars['seomaticSiteMeta']['siteLinksQueryInput']);
$webSiteJSONLD['potentialAction'] = $potentialAction;
}
$sameAs = array();
array_push($sameAs, $metaVars['seomaticHelper']['twitterUrl']);
array_push($sameAs, $metaVars['seomaticHelper']['facebookUrl']);
array_push($sameAs, $metaVars['seomaticHelper']['googlePlusUrl']);
array_push($sameAs, $metaVars['seomaticHelper']['linkedInUrl']);
array_push($sameAs, $metaVars['seomaticHelper']['youtubeUrl']);
array_push($sameAs, $metaVars['seomaticHelper']['youtubeChannelUrl']);
array_push($sameAs, $metaVars['seomaticHelper']['instagramUrl']);
array_push($sameAs, $metaVars['seomaticHelper']['pinterestUrl']);
array_push($sameAs, $metaVars['seomaticHelper']['githubUrl']);
array_push($sameAs, $metaVars['seomaticHelper']['vimeoUrl']);
$sameAs = array_filter($sameAs);
$sameAs = array_values($sameAs);
if (!empty($sameAs)) {
$webSiteJSONLD['sameAs'] = $sameAs;
}
$webSiteJSONLD['copyrightHolder'] = $metaVars['seomaticIdentity'];
$webSiteJSONLD['author'] = $metaVars['seomaticIdentity'];
$webSiteJSONLD['creator'] = $metaVars['seomaticCreator'];
$result = array_filter($webSiteJSONLD);
$this->cachedWebSiteJSONLD[$locale] = $result;
return $result;
}