Your IP : 216.73.216.240
<?php
/*
* @package Tech Fry Library
* @license https://www.gnu.org/licenses/gpl-3.0.en.html
*/
namespace TechFry\Library\View\Sd;
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Uri\Uri;
// https://developers.google.com/search/docs/appearance/structured-data/article
class SdArticle
{
public static function get_output($data = array())
{
$uri = Uri::getInstance();
$json = array(
"@context" => "https://schema.org",
"@type" => $data['type'] ?? 'Article',
"headline" => $data['title'],
);
if (isset($data['image']) && $data['image'])
{
$json['image'] = Sd::add_image($data['image']);
}
$json['author'] = array(
"@type" => "Organization",
"name" => $data['author_name'],
"url" => $data['author_url'] ?? $uri->base(),
);
$config = Factory::getConfig();
$tz = $config->get('offset');
// Dates should be in ISO 8601 format: YYYY-MM-DDThh:mm:ss+05:30
if (isset($data['publish_up']) && $data['publish_up'])
{
$json['datePublished'] = Factory::getDate($data['publish_up'], $tz)->toISO8601(true);
}
if (isset($data['modified']) && $data['modified'])
{
$json['dateModified'] = Factory::getDate($data['modified'], $tz)->toISO8601(true);
}
Sd::display_sd($json);
}
}