X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fbbcode.php;h=20631818a2503fbe8167130edd644e1cccd6a41b;hb=28d79281a9d521591d197215aaf9a7c92ed265e1;hp=0ef1c974165e6d153ccbd481acd25c1a7c6bb029;hpb=3051d30c885d575daf90b321e6af3c959932505e;p=friendica.git diff --git a/include/bbcode.php b/include/bbcode.php index 0ef1c97416..20631818a2 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -1,16 +1,26 @@ ' . generate_map(str_replace('/', ' ', $match[1])) . '', $match[0]); + return str_replace($match[0], '
' . Map::byCoordinates(str_replace('/', ' ', $match[1])) . '
', $match[0]); } function bb_map_location($match) { // the extra space in the following line is intentional - return str_replace($match[0], '
' . generate_named_map($match[1]) . '
', $match[0]); + return str_replace($match[0], '
' . Map::byLocation($match[1]) . '
', $match[0]); } -function bb_attachment($Text, $simplehtml = false, $tryoembed = true) { - - $data = get_attachment_data($Text); +/** + * Processes [attachment] tags + * + * Note: Can produce a [bookmark] tag in the returned string + * + * @brief Processes [attachment] tags + * @param string $return + * @param bool|int $simplehtml + * @param bool $tryoembed + * @return string + */ +function bb_attachment($return, $simplehtml = false, $tryoembed = true) +{ + $data = BBCode::getAttachmentData($return); if (!$data) { - return $Text; + return $return; } if (isset($data["title"])) { $data["title"] = strip_tags($data["title"]); - $data["title"] = str_replace(array("http://", "https://"), "", $data["title"]); + $data["title"] = str_replace(["http://", "https://"], "", $data["title"]); } - if (((strpos($data["text"], "[img=") !== false) OR (strpos($data["text"], "[img]") !== false)) AND ($data["image"] != "")) { + if (((strpos($data["text"], "[img=") !== false) || (strpos($data["text"], "[img]") !== false) || Config::get('system', 'always_show_preview')) && ($data["image"] != "")) { $data["preview"] = $data["image"]; $data["image"] = ""; } + $return = ''; if ($simplehtml == 7) { - $title2 = $data["title"]; - - $test1 = trim(html_entity_decode($data["text"],ENT_QUOTES,'UTF-8')); - $test2 = trim(html_entity_decode($data["title"],ENT_QUOTES,'UTF-8')); - - // If the link description is similar to the text above then don't add the link description - if (($data["title"] != "") AND ((strpos($test1,$test2) !== false) OR - (similar_text($test1,$test2) / strlen($data["title"])) > 0.9)) { - $title2 = $data["url"]; - } - $text = sprintf('%s
', - $data["url"], $data["title"], $title2); - } elseif (($simplehtml != 4) AND ($simplehtml != 0)) { - $text = sprintf('%s
', $data["url"], $data["title"]); + $return = style_url_for_mastodon($data["url"]); + } elseif (($simplehtml != 4) && ($simplehtml != 0)) { + $return = sprintf('%s
', $data["url"], $data["title"]); } else { - $text = sprintf('', $data["type"]); - - $bookmark = array(sprintf('[bookmark=%s]%s[/bookmark]', $data["url"], $data["title"]), $data["url"], $data["title"]); - if ($tryoembed) { - $oembed = tryoembed($bookmark); - } else { - $oembed = $bookmark[0]; - } + try { + if ($tryoembed && OEmbed::isAllowedURL($data['url'])) { + $return = OEmbed::getHTML($data['url'], $data['title']); + } else { + throw new Exception('OEmbed is disabled for this attachment.'); + } + } catch (Exception $e) { + if ($simplehtml != 4) { + $return = sprintf('
', $data["type"]); + } - if (strstr(strtolower($oembed), "