X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fbbcode.php;h=ebafc353a4dcb153b759ab3820f6cdf79f17a0c0;hb=d49325d177cf03b97df250ca3cb081421c541049;hp=84425e8ef65d961ef92a0ea33493f36a6dfb2c55;hpb=e512a83ecc003a5f63329193ce25bde2d96d1e6d;p=friendica.git diff --git a/include/bbcode.php b/include/bbcode.php index 84425e8ef6..ebafc353a4 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -34,7 +34,6 @@ function bb_map_location($match) { function bb_attachment($Text, $simplehtml = false, $tryoembed = true) { $data = get_attachment_data($Text); - if (!$data) return $Text; @@ -85,7 +84,7 @@ function bb_attachment($Text, $simplehtml = false, $tryoembed = true) { $text .= $oembed; if (trim($data["description"]) != "") - $text .= sprintf('
%s', trim($data["description"])); + $text .= sprintf('
%s', trim(bbcode($data["description"]))); } } return $data["text"].$text.$data["after"]; @@ -147,7 +146,7 @@ function cleancss($input) { if (($char >= "a") and ($char <= "z")) $cleaned .= $char; - if (!(strpos(" #;:0123456789-_", $char) === false)) + if (!(strpos(" #;:0123456789-_.%", $char) === false)) $cleaned .= $char; } @@ -415,21 +414,21 @@ function bb_ShareAttributes($share, $simplehtml) { $data = get_contact_details_by_url($profile); - if (isset($data["name"]) AND isset($data["addr"])) + if (isset($data["name"]) AND ($data["name"] != "") AND isset($data["addr"]) AND ($data["addr"] != "")) $userid_compact = $data["name"]." (".$data["addr"].")"; else $userid_compact = GetProfileUsername($profile,$author, true); - if (isset($data["addr"])) + if (isset($data["addr"]) AND ($data["addr"] != "")) $userid = $data["addr"]; else $userid = GetProfileUsername($profile,$author, false); - if (isset($data["name"])) + if (isset($data["name"]) AND ($data["name"] != "")) $author = $data["name"]; - if (isset($data["thumb"])) - $avatar = $data["thumb"]; + if (isset($data["micro"]) AND ($data["micro"] != "")) + $avatar = $data["micro"]; $preshare = trim($share[1]); @@ -724,6 +723,13 @@ function bb_CleanPictureLinks($text) { return ($text); } +function bb_highlight($match) { + if(in_array(strtolower($match[1]),['php','css','mysql','sql','abap','diff','html','perl','ruby', + 'vbscript','avrc','dtd','java','xml','cpp','python','javascript','js','sh'])) + return text_highlight($match[2],strtolower($match[1])); + return $match[0]; +} + // BBcode 2 HTML was written by WAY2WEB.net // extended to work with Mistpark/Friendica - Mike Macgirvin @@ -776,6 +782,11 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal if (!$tryoembed) $Text = preg_replace("/\[share(.*?)avatar\s?=\s?'.*?'\s?(.*?)\]\s?(.*?)\s?\[\/share\]\s?/ism","\n[share$1$2]$3[/share]",$Text); + // Check for [code] text here, before the linefeeds are messed with. + // The highlighter will unescape and re-escape the content. + if (strpos($Text,'[code=') !== false) { + $Text = preg_replace_callback("/\[code=(.*?)\](.*?)\[\/code\]/ism", 'bb_highlight', $Text); + } // Convert new line chars to html
$1
',$Text); + // Check for bold text $Text = preg_replace("(\[b\](.*?)\[\/b\])ism",'$1',$Text); @@ -1128,6 +1141,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal $Text = preg_replace("/\[event\-finish\](.*?)\[\/event\-finish\]/ism",'',$Text); $Text = preg_replace("/\[event\-location\](.*?)\[\/event\-location\]/ism",'',$Text); $Text = preg_replace("/\[event\-adjust\](.*?)\[\/event\-adjust\]/ism",'',$Text); + $Text = preg_replace("/\[event\-id\](.*?)\[\/event\-id\]/ism",'',$Text); }