public function getSiteMeta($locale)
{
/* -- Cache it in our class; no need to fetch it more than once */
if (isset($this->cachedSiteMeta[$locale])) {
return $this->cachedSiteMeta[$locale];
}
$settings = $this->getSettings($locale);
$siteMeta = array();
$siteMeta['locale'] = $settings['locale'];
$siteMeta['siteSeoName'] = $settings['siteSeoName'];
$siteMeta['siteSeoTitle'] = $settings['siteSeoTitle'];
$siteMeta['siteSeoTitleSeparator'] = $settings['siteSeoTitleSeparator'];
$siteMeta['siteSeoTitlePlacement'] = $settings['siteSeoTitlePlacement'];
$siteMeta['siteDevModeTitle'] = craft()->config->get("siteDevModeTitle", "seomatic");
$siteMeta['siteSeoDescription'] = $settings['siteSeoDescription'];
$siteMeta['siteSeoKeywords'] = $settings['siteSeoKeywords'];
$siteMeta['siteSeoImageId'] = $settings['siteSeoImageId'];
$siteMeta['siteSeoTwitterImageId'] = $settings['siteSeoTwitterImageId'];
$siteMeta['siteSeoFacebookImageId'] = $settings['siteSeoFacebookImageId'];
$siteMeta['siteSeoImageTransform'] = $settings['siteSeoImageTransform'];
$siteMeta['siteSeoFacebookImageTransform'] = $settings['siteSeoFacebookImageTransform'];
$siteMeta['siteSeoTwitterImageTransform'] = $settings['siteSeoTwitterImageTransform'];
if (isset($settings['siteRobots'])) {
$siteMeta['siteRobots'] = $settings['siteRobots'];
} else {
$siteMeta['siteRobots'] = '';
}
/* -- Handle the organization contact points */
$siteMeta['siteLinksSearchTargets'] = $settings['siteLinksSearchTargets'];
$searchTargets = array();
if (isset($siteMeta['siteLinksSearchTargets']) && is_array($siteMeta['siteLinksSearchTargets'])) {
foreach ($siteMeta['siteLinksSearchTargets'] as $searchTarget) {
$searchTargets[] = $searchTarget;
}
}
$searchTargets = array_filter($searchTargets);
$siteMeta['siteLinksSearchTargets'] = $searchTargets;
$siteMeta['siteLinksQueryInput'] = $settings['siteLinksQueryInput'];
$siteMeta['siteTwitterCardType'] = $settings['siteTwitterCardType'];
if (!$siteMeta['siteTwitterCardType']) {
$siteMeta['siteTwitterCardType'] = 'summary';
}
$siteMeta['siteOpenGraphType'] = $settings['siteOpenGraphType'];
if (!$siteMeta['siteOpenGraphType']) {
$siteMeta['siteOpenGraphType'] = 'website';
}
/* -- Swap in the seoImageId for the actual asset */
if (isset($siteMeta['siteSeoImageId'])) {
$image = craft()->assets->getFileById($siteMeta['siteSeoImageId']);
if ($image) {
$imgUrl = $image->getUrl($siteMeta['siteSeoImageTransform']);
if (!$imgUrl) {
$imgUrl = $image->url;
}
$siteMeta['siteSeoImage'] = $this->getFullyQualifiedUrl($imgUrl);
} else {
$siteMeta['siteSeoImage'] = '';
}
} else {
$siteMeta['siteSeoImage'] = '';
}
$siteMeta['siteRobotsTxt'] = $settings['siteRobotsTxt'];
$result = $siteMeta;
$this->cachedSiteMeta[$locale] = $result;
return $result;
}