/**
* Fetch the content type of the given url
* @param string $url URL of the page
- * @return array content type
+ * @return array content type
*/
public static function getContentType(string $url)
{
];
if ($count > 10) {
- Logger::log('Endless loop detected for ' . $url, Logger::DEBUG);
+ Logger::notice('Endless loop detected', ['url' => $url]);
return $siteinfo;
}
// See https://github.com/friendica/friendica/issues/5470#issuecomment-418351211
$charset = str_ireplace('latin-1', 'latin1', $charset);
- Logger::log('detected charset ' . $charset, Logger::DEBUG);
+ Logger::info('detected charset', ['charset' => $charset]);
$body = iconv($charset, 'UTF-8//TRANSLIT', $body);
}
}
}
-// Currently deactivated, see https://github.com/friendica/friendica/pull/10148#issuecomment-821512658
+// Currently deactivated, see https://github.com/friendica/friendica/pull/10148#issuecomment-821512658
// Prevent to have a photo type without an image
// if ($twitter_card && $twitter_image && !empty($siteinfo['image'])) {
// $siteinfo['type'] = 'photo';
{
if (!empty($jsonld['@graph']) && is_array($jsonld['@graph'])) {
foreach ($jsonld['@graph'] as $part) {
- if (!empty($part)) {
+ if (!empty($part) && is_array($part)) {
$siteinfo = self::parseParts($siteinfo, $part);
}
}
}
if ($numeric_keys) {
foreach ($jsonld as $part) {
- if (!empty($part)) {
+ if (!empty($part) && is_array($part)) {
$siteinfo = self::parseParts($siteinfo, $part);
}
}
case 'QAPage':
case 'RealEstateListing':
case 'SearchResultsPage':
- case 'MediaGallery':
+ case 'MediaGallery':
case 'ImageGallery':
case 'VideoGallery':
case 'RadioEpisode':
case 'PerformingGroup':
case 'DanceGroup';
case 'MusicGroup':
- case 'TheaterGroup':
+ case 'TheaterGroup':
return self::parseJsonLdWebPerson($siteinfo, $jsonld);
case 'AudioObject':
case 'Audio':