' . localize($this->metaTitleKey) . '');
echo('');
echo('');
// OpenGraph tags
echo('');
echo('');
echo('');
echo('');
echo('');
echo('');
// Twitter tags
echo('');
echo('');
echo('');
echo('');
echo('');
if(!is_null($this->twitterCardImageAltKey)) {
echo('');
}
echo('');
}
static function from_json(array $json_data): ?ContentMetadata {
// Checking required fields
foreach(["metaTitleKey", "metaDescriptionKey", "metaAuthor", "openGraphTitleKey", "openGraphDescriptionKey",
"openGraphType", "openGraphUrl", "openGraphImage", "openGraphImageMime", "twitterCardType",
"twitterCardSite", "twitterCardTitleKey", "twitterCardDescriptionKey", "twitterCardImageUrl",
"twitterCardCreatorHandle"] as $wantedKey) {
if(!key_exists($wantedKey, $json_data)) {
return null;
}
}
// Preparing optional fields
foreach(["twitterCardImageAltKey"] as $optionalKey) {
if(!key_exists($optionalKey, $json_data)) {
$json_data[$optionalKey] = null;
}
}
$metadata = new ContentMetadata();
$metadata->metaTitleKey = $json_data["metaTitleKey"];
$metadata->metaDescriptionKey = $json_data["metaDescriptionKey"];
$metadata->metaAuthor = $json_data["metaAuthor"];
$metadata->openGraphTitleKey = $json_data["openGraphTitleKey"];
$metadata->openGraphDescriptionKey = $json_data["openGraphDescriptionKey"];
$metadata->openGraphType = $json_data["openGraphType"];
$metadata->openGraphUrl = $json_data["openGraphUrl"];
$metadata->openGraphImage = $json_data["openGraphImage"];
$metadata->openGraphImageMime = $json_data["openGraphImageMime"];
$metadata->twitterCardType = $json_data["twitterCardType"];
$metadata->twitterCardSite = $json_data["twitterCardSite"];
$metadata->twitterCardTitleKey = $json_data["twitterCardTitleKey"];
$metadata->twitterCardDescriptionKey = $json_data["twitterCardDescriptionKey"];
$metadata->twitterCardImageUrl = $json_data["twitterCardImageUrl"];
$metadata->twitterCardImageAltKey = $json_data["twitterCardImageAltKey"];
$metadata->twitterCardCreatorHandle = $json_data["twitterCardCreatorHandle"];
return $metadata;
}
}
?>