Merge pull request #5732 from annando/fix-picture-posts
Fix: Posts with pictures will now look good again on connector networks
This commit is contained in:
commit
480d792356
3 changed files with 19 additions and 17 deletions
|
@ -1633,7 +1633,7 @@ function photos_content(App $a)
|
||||||
'$paginate' => $paginate,
|
'$paginate' => $paginate,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$a->page['htmlhead'] .= "\n" . '<meta name="twitter:card" content="photo" />' . "\n";
|
$a->page['htmlhead'] .= "\n" . '<meta name="twitter:card" content="summary_large_image" />' . "\n";
|
||||||
$a->page['htmlhead'] .= '<meta name="twitter:title" content="' . $photo["album"] . '" />' . "\n";
|
$a->page['htmlhead'] .= '<meta name="twitter:title" content="' . $photo["album"] . '" />' . "\n";
|
||||||
$a->page['htmlhead'] .= '<meta name="twitter:image" content="' . $photo["href"] . '" />' . "\n";
|
$a->page['htmlhead'] .= '<meta name="twitter:image" content="' . $photo["href"] . '" />' . "\n";
|
||||||
$a->page['htmlhead'] .= '<meta name="twitter:image:width" content="' . $photo["width"] . '" />' . "\n";
|
$a->page['htmlhead'] .= '<meta name="twitter:image:width" content="' . $photo["width"] . '" />' . "\n";
|
||||||
|
|
|
@ -572,15 +572,18 @@ class BBCode extends BaseObject
|
||||||
$return = sprintf('<div class="type-%s">', $data["type"]);
|
$return = sprintf('<div class="type-%s">', $data["type"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($data['title']) && !empty($data['url'])) {
|
||||||
|
if (!empty($data["image"]) && empty($data["text"]) && ($data["type"] == "photo")) {
|
||||||
|
$return .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-image" /></a>', $data["url"], self::proxyUrl($data["image"], $simplehtml), $data["title"]);
|
||||||
|
} else {
|
||||||
if (!empty($data["image"])) {
|
if (!empty($data["image"])) {
|
||||||
$return .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-image" /></a><br />', $data["url"], self::proxyUrl($data["image"], $simplehtml), $data["title"]);
|
$return .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-image" /></a><br />', $data["url"], self::proxyUrl($data["image"], $simplehtml), $data["title"]);
|
||||||
} elseif (!empty($data["preview"])) {
|
} elseif (!empty($data["preview"])) {
|
||||||
$return .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-preview" /></a><br />', $data["url"], self::proxyUrl($data["preview"], $simplehtml), $data["title"]);
|
$return .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-preview" /></a><br />', $data["url"], self::proxyUrl($data["preview"], $simplehtml), $data["title"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($data['title']) && !empty($data['url'])) {
|
|
||||||
$return .= sprintf('<h4><a href="%s">%s</a></h4>', $data['url'], $data['title']);
|
$return .= sprintf('<h4><a href="%s">%s</a></h4>', $data['url'], $data['title']);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!empty($data["description"]) && $data["description"] != $data["title"]) {
|
if (!empty($data["description"]) && $data["description"] != $data["title"]) {
|
||||||
// Sanitize the HTML by converting it to BBCode
|
// Sanitize the HTML by converting it to BBCode
|
||||||
|
|
|
@ -271,11 +271,9 @@ class ParseUrl
|
||||||
$siteinfo['image'] = $meta_tag['content'];
|
$siteinfo['image'] = $meta_tag['content'];
|
||||||
break;
|
break;
|
||||||
case 'twitter:card':
|
case 'twitter:card':
|
||||||
// Obsolete card type
|
// Detect photo pages
|
||||||
if ($meta_tag['content'] == 'photo') {
|
if ($meta_tag['content'] == 'summary_large_image') {
|
||||||
$siteinfo['type'] = 'summary_large_image';
|
$siteinfo['type'] = 'photo';
|
||||||
} else {
|
|
||||||
$siteinfo['type'] = $meta_tag['content'];
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'twitter:description':
|
case 'twitter:description':
|
||||||
|
@ -299,10 +297,6 @@ class ParseUrl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($siteinfo['type'] == 'summary' || $siteinfo['type'] == 'summary_large_image') {
|
|
||||||
$siteinfo['type'] = 'link';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($keywords)) {
|
if (isset($keywords)) {
|
||||||
$siteinfo['keywords'] = [];
|
$siteinfo['keywords'] = [];
|
||||||
foreach ($keywords as $keyword) {
|
foreach ($keywords as $keyword) {
|
||||||
|
@ -338,6 +332,11 @@ class ParseUrl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Prevent to have a photo type without an image
|
||||||
|
if (empty($siteinfo['image']) && ($siteinfo['type'] == 'photo')) {
|
||||||
|
$siteinfo['type'] = 'link';
|
||||||
|
}
|
||||||
|
|
||||||
if ((@$siteinfo['image'] == '') && !$no_guessing) {
|
if ((@$siteinfo['image'] == '') && !$no_guessing) {
|
||||||
$list = $xpath->query('//img[@src]');
|
$list = $xpath->query('//img[@src]');
|
||||||
foreach ($list as $node) {
|
foreach ($list as $node) {
|
||||||
|
|
Loading…
Reference in a new issue