X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fbbcode.php;h=13061958c5f12682deb5bc52f87ea5868f9f5a93;hb=ed8cdc7d8502b03ca9096b4d4a4c5fd9d149d08f;hp=5395548f51b90279c6497bc2fcdec0c50893a87b;hpb=d81289c58b084f550d7be288a44a9ea01a0fae0b;p=friendica.git diff --git a/include/bbcode.php b/include/bbcode.php index 5395548f51..13061958c5 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -1,12 +1,23 @@ ' . generate_map(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]); +} + +function bb_attachment($Text, $simplehtml = false, $tryoembed = true) { + $Text = preg_replace_callback("/(.*?)\[attachment(.*?)\](.*?)\[\/attachment\]/ism", + function ($match) use ($simplehtml, $tryoembed){ + + $attributes = $match[2]; $type = ""; preg_match("/type='(.*?)'/ism", $attributes, $matches); @@ -41,7 +52,9 @@ function bb_attachment($Text, $plaintext = false, $tryoembed = true) { if ($matches[1] != "") $title = $matches[1]; - $title = htmlentities($title, ENT_QUOTES, 'UTF-8', false); + //$title = htmlentities($title, ENT_QUOTES, 'UTF-8', false); + $title = bbcode(html_entity_decode($title, ENT_QUOTES, 'UTF-8'), false, false, true); + $title = str_replace(array("[", "]"), array("[", "]"), $title); $image = ""; if ($type != "video") { @@ -65,7 +78,15 @@ function bb_attachment($Text, $plaintext = false, $tryoembed = true) { $preview = $matches[1]; } - if ($plaintext) + if (((strpos($match[1], "[img=") !== false) OR (strpos($match[1], "[img]") !== false)) AND ($image != "")) { + $preview = $image; + $image = ""; + } + + if ($simplehtml == 7) + $text = sprintf('%s', + $url, $title, $title); + elseif (($simplehtml != 4) AND ($simplehtml != 0)) $text = sprintf('%s
', $url, $title); else { $text = sprintf('', $type); @@ -76,17 +97,21 @@ function bb_attachment($Text, $plaintext = false, $tryoembed = true) { else $oembed = $bookmark[0]; - if (($image != "") AND !strstr(strtolower($oembed), "
', $url, $image, $title); - elseif (($preview != "") AND !strstr(strtolower($oembed), "
', $url, $preview, $title); + if (strstr(strtolower($oembed), "