mirror of
https://github.com/friendica/friendica
synced 2024-11-19 05:03:41 +00:00
Trust OEmbed HTML when it's available
- Reworked bb_attachment() to trust OEmbed content when it's successfully pulled - Fix coding standard by renaming parameter and variables
This commit is contained in:
parent
da9523ed23
commit
5691564220
1 changed files with 29 additions and 32 deletions
|
@ -46,16 +46,16 @@ function bb_map_location($match) {
|
||||||
* Note: Can produce a [bookmark] tag in the returned string
|
* Note: Can produce a [bookmark] tag in the returned string
|
||||||
*
|
*
|
||||||
* @brief Processes [attachment] tags
|
* @brief Processes [attachment] tags
|
||||||
* @param string $Text
|
* @param string $return
|
||||||
* @param bool|int $simplehtml
|
* @param bool|int $simplehtml
|
||||||
* @param bool $tryoembed
|
* @param bool $tryoembed
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function bb_attachment($Text, $simplehtml = false, $tryoembed = true)
|
function bb_attachment($return, $simplehtml = false, $tryoembed = true)
|
||||||
{
|
{
|
||||||
$data = get_attachment_data($Text);
|
$data = get_attachment_data($return);
|
||||||
if (!$data) {
|
if (!$data) {
|
||||||
return $Text;
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($data["title"])) {
|
if (isset($data["title"])) {
|
||||||
|
@ -68,49 +68,46 @@ function bb_attachment($Text, $simplehtml = false, $tryoembed = true)
|
||||||
$data["image"] = "";
|
$data["image"] = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$return = '';
|
||||||
if ($simplehtml == 7) {
|
if ($simplehtml == 7) {
|
||||||
$text = style_url_for_mastodon($data["url"]);
|
$return = style_url_for_mastodon($data["url"]);
|
||||||
} elseif (($simplehtml != 4) && ($simplehtml != 0)) {
|
} elseif (($simplehtml != 4) && ($simplehtml != 0)) {
|
||||||
$text = sprintf('<a href="%s" target="_blank">%s</a><br>', $data["url"], $data["title"]);
|
$return = sprintf('<a href="%s" target="_blank">%s</a><br>', $data["url"], $data["title"]);
|
||||||
} else {
|
} else {
|
||||||
if ($simplehtml != 4) {
|
|
||||||
$text = sprintf('<span class="type-%s">', $data["type"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
$oembed = sprintf('[bookmark=%s]%s[/bookmark]', $data['url'], $data['title']);
|
|
||||||
if ($tryoembed) {
|
|
||||||
try {
|
try {
|
||||||
$oembed = OEmbed::getHTML($data['url'], $data['title']);
|
if ($tryoembed) {
|
||||||
} catch (Exception $e) {
|
$return = OEmbed::getHTML($data['url'], $data['title']);
|
||||||
// $oembed isn't modified
|
} else {
|
||||||
|
throw new Exception('OEmbed is disabled for this attachment.');
|
||||||
}
|
}
|
||||||
|
} catch (Exception $e) {
|
||||||
|
if ($simplehtml != 4) {
|
||||||
|
$return = sprintf('<span class="type-%s">', $data["type"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stripos($oembed, "<iframe ") !== false) {
|
if ($data["image"] != "") {
|
||||||
$text = $oembed;
|
$return .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-image" /></a><br />', $data["url"], proxy_url($data["image"]), $data["title"]);
|
||||||
} else {
|
} elseif ($data["preview"] != "") {
|
||||||
if (($data["image"] != "") && !strstr(strtolower($oembed), "<img ")) {
|
$return .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-preview" /></a><br />', $data["url"], proxy_url($data["preview"]), $data["title"]);
|
||||||
$text .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-image" /></a><br />', $data["url"], proxy_url($data["image"]), $data["title"]);
|
|
||||||
} elseif (($data["preview"] != "") && !strstr(strtolower($oembed), "<img ")) {
|
|
||||||
$text .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-preview" /></a><br />', $data["url"], proxy_url($data["preview"]), $data["title"]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (($data["type"] == "photo") && ($data["url"] != "") && ($data["image"] != "")) {
|
if (($data["type"] == "photo") && ($data["url"] != "") && ($data["image"] != "")) {
|
||||||
$text .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-image" /></a>', $data["url"], proxy_url($data["image"]), $data["title"]);
|
$return .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-image" /></a>', $data["url"], proxy_url($data["image"]), $data["title"]);
|
||||||
} else {
|
} else {
|
||||||
$text .= $oembed;
|
$return .= sprintf('[bookmark=%s]%s[/bookmark]', $data['url'], $data['title']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (trim($data["description"]) != "") {
|
if (trim($data["description"]) != "") {
|
||||||
$text .= sprintf('<blockquote>%s</blockquote>', trim(bbcode($data["description"])));
|
$return .= sprintf('<blockquote>%s</blockquote>', trim(bbcode($data["description"])));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($simplehtml != 4) {
|
if ($simplehtml != 4) {
|
||||||
$text .= '</span>';
|
$return .= '</span>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return trim($data["text"] . ' ' . $text . ' ' . $data["after"]);
|
}
|
||||||
|
|
||||||
|
return trim($data["text"] . ' ' . $return . ' ' . $data["after"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
function bb_remove_share_information($Text, $plaintext = false, $nolink = false) {
|
function bb_remove_share_information($Text, $plaintext = false, $nolink = false) {
|
||||||
|
|
Loading…
Reference in a new issue