X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fbbcode.php;h=c2ebf35e6308b7464359a8af2b3efe36d13628f7;hb=57c47a8e3660b8b968b36ff7b379f51aa398a684;hp=5395548f51b90279c6497bc2fcdec0c50893a87b;hpb=a3ae3c9156851a0ef458e0c757cc915a26b6c1d2;p=friendica.git diff --git a/include/bbcode.php b/include/bbcode.php index 5395548f51..c2ebf35e63 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -3,10 +3,10 @@ require_once("include/oembed.php"); require_once('include/event.php'); function bb_attachment($Text, $plaintext = false, $tryoembed = true) { - $Text = preg_replace_callback("/\[attachment(.*?)\](.*?)\[\/attachment\]/ism", + $Text = preg_replace_callback("/(.*?)\[attachment(.*?)\](.*?)\[\/attachment\]/ism", function ($match) use ($plaintext){ - $attributes = $match[1]; + $attributes = $match[2]; $type = ""; preg_match("/type='(.*?)'/ism", $attributes, $matches); @@ -41,7 +41,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), false, false, true); + $title = str_replace(array("[", "]"), array("[", "]"), $title); $image = ""; if ($type != "video") { @@ -65,6 +67,11 @@ function bb_attachment($Text, $plaintext = false, $tryoembed = true) { $preview = $matches[1]; } + if (((strpos($match[1], "[img=") !== false) OR (strpos($match[1], "[img]") !== false)) AND ($image != "")) { + $preview = $image; + $image = ""; + } + if ($plaintext) $text = sprintf('%s
', $url, $title); else { @@ -83,10 +90,10 @@ function bb_attachment($Text, $plaintext = false, $tryoembed = true) { $text .= $oembed; - $text .= sprintf('
%s
', trim($match[2])); + $text .= sprintf('
%s
', trim($match[3])); } - return($text); + return($match[1].$text); },$Text); return($Text); @@ -612,6 +619,17 @@ function GetProfileUsername($profile, $username, $compact = false, $getnetwork = return($username." (".$diaspora.")"); } + $red = preg_replace("=https?://(.*)/channel/(.*)=ism", "$2@$1", $profile); + if ($red != $profile) { + if ($getnetwork) + // red is identified as Diaspora - friendica can't connect directly to it + return(NETWORK_DIASPORA); + elseif ($compact) + return($red); + else + return($username." (".$red.")"); + } + $StatusnetHost = preg_replace("=https?://(.*)/user/(.*)=ism", "$1", $profile); if ($StatusnetHost != $profile) { $StatusnetUser = preg_replace("=https?://(.*)/user/(.*)=ism", "$2", $profile); @@ -690,7 +708,7 @@ function bb_RemovePictureLinks($match) { } function bb_expand_links($match) { - if (stristr($match[2], $match[3]) OR ($match[2] == $match[3])) + if (($match[3] == "") OR ($match[2] == $match[3]) OR stristr($match[2], $match[3])) return ($match[1]."[url]".$match[2]."[/url]"); else return ($match[1].$match[3]." [url]".$match[2]."[/url]"); @@ -1166,6 +1184,6 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal $a->save_timestamp($stamp1, "parser"); - return $Text; + return trim($Text); } ?>