kopia lustrzana https://github.com/friendica/friendica
Merge pull request #10148 from annando/detecting-photo-page
Prevent false "photo" page detectionpull/10143/head
commit
ccf0214411
|
@ -162,7 +162,13 @@ class OEmbed
|
||||||
$oembed->type = $data['type'];
|
$oembed->type = $data['type'];
|
||||||
|
|
||||||
if ($oembed->type == 'photo') {
|
if ($oembed->type == 'photo') {
|
||||||
$oembed->url = $data['url'];
|
if (!empty($data['images'])) {
|
||||||
|
$oembed->url = $data['images'][0]['src'];
|
||||||
|
$oembed->width = $data['images'][0]['width'];
|
||||||
|
$oembed->height = $data['images'][0]['height'];
|
||||||
|
} else {
|
||||||
|
$oembed->type = 'link';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -190,7 +196,7 @@ class OEmbed
|
||||||
$oembed->author_url = $data['author_url'];
|
$oembed->author_url = $data['author_url'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($data['images'])) {
|
if (!empty($data['images']) && ($oembed->type != 'photo')) {
|
||||||
$oembed->thumbnail_url = $data['images'][0]['src'];
|
$oembed->thumbnail_url = $data['images'][0]['src'];
|
||||||
$oembed->thumbnail_width = $data['images'][0]['width'];
|
$oembed->thumbnail_width = $data['images'][0]['width'];
|
||||||
$oembed->thumbnail_height = $data['images'][0]['height'];
|
$oembed->thumbnail_height = $data['images'][0]['height'];
|
||||||
|
|
|
@ -349,6 +349,9 @@ class ParseUrl
|
||||||
$siteinfo['title'] = trim($list->item(0)->nodeValue);
|
$siteinfo['title'] = trim($list->item(0)->nodeValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$twitter_card = false;
|
||||||
|
$twitter_image = false;
|
||||||
|
|
||||||
$list = $xpath->query('//meta[@name]');
|
$list = $xpath->query('//meta[@name]');
|
||||||
foreach ($list as $node) {
|
foreach ($list as $node) {
|
||||||
$meta_tag = [];
|
$meta_tag = [];
|
||||||
|
@ -376,6 +379,7 @@ class ParseUrl
|
||||||
break;
|
break;
|
||||||
case 'twitter:image':
|
case 'twitter:image':
|
||||||
$siteinfo['image'] = $meta_tag['content'];
|
$siteinfo['image'] = $meta_tag['content'];
|
||||||
|
$twitter_image = true;
|
||||||
break;
|
break;
|
||||||
case 'twitter:image:src':
|
case 'twitter:image:src':
|
||||||
$siteinfo['image'] = $meta_tag['content'];
|
$siteinfo['image'] = $meta_tag['content'];
|
||||||
|
@ -383,7 +387,7 @@ class ParseUrl
|
||||||
case 'twitter:card':
|
case 'twitter:card':
|
||||||
// Detect photo pages
|
// Detect photo pages
|
||||||
if ($meta_tag['content'] == 'summary_large_image') {
|
if ($meta_tag['content'] == 'summary_large_image') {
|
||||||
$siteinfo['type'] = 'photo';
|
$twitter_card = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'twitter:description':
|
case 'twitter:description':
|
||||||
|
@ -458,6 +462,7 @@ class ParseUrl
|
||||||
break;
|
break;
|
||||||
case 'twitter:image':
|
case 'twitter:image':
|
||||||
$siteinfo['image'] = $meta_tag['content'];
|
$siteinfo['image'] = $meta_tag['content'];
|
||||||
|
$twitter_image = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -473,8 +478,8 @@ class ParseUrl
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prevent to have a photo type without an image
|
// Prevent to have a photo type without an image
|
||||||
if ((empty($siteinfo['image']) || !empty($siteinfo['text'])) && ($siteinfo['type'] == 'photo')) {
|
if ($twitter_card && $twitter_image && !empty($siteinfo['image'])) {
|
||||||
$siteinfo['type'] = 'link';
|
$siteinfo['type'] = 'photo';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($siteinfo['image'])) {
|
if (!empty($siteinfo['image'])) {
|
||||||
|
|
Ładowanie…
Reference in New Issue