From a76c53657bca9ea6aa2246535f117f7043bb5205 Mon Sep 17 00:00:00 2001 From: friendica Date: Mon, 10 Feb 2014 01:11:59 -0800 Subject: don't add bookmark tags to naked links inside code blocks --- include/items.php | 9 +++++++++ mod/item.php | 5 +++++ version.inc | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/include/items.php b/include/items.php index c69ac2c84..d78792839 100755 --- a/include/items.php +++ b/include/items.php @@ -179,6 +179,15 @@ function red_escape_zrl_callback($matches) { return '[' . $matches[1] . 'rl' . $matches[2] . ']' . $matches[3] . '"' . $matches[4] . '"' . $matches[5] . '[/' . $matches[6] . 'rl]'; } +function red_escape_codeblock($m) { + return '[code]' . base64_encode($m[1]) . '[/code]'; +} + +function red_unescape_codeblock($m) { + return '[code]' . base64_decode($m[1]) . '[/code]'; +} + + /** * @function post_activity_item($arr) * diff --git a/mod/item.php b/mod/item.php index 69cc624ea..784ee31b4 100644 --- a/mod/item.php +++ b/mod/item.php @@ -429,10 +429,15 @@ function item_post(&$a) { * otherwise http://elsewhere.com becomes #^[url=http://elsewhere.com]http://elsewhere.com[/url] */ + $body = preg_replace_callback('/\[code\](.*?)\[\/code\]/ism','red_escape_codeblock',$body); + $body = preg_replace_callback('/\[([uz])rl(.*?)\](.*?)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,]+)(.*?)\[\/([uz])rl\]/ism','red_escape_zrl_callback',$body); $body = preg_replace_callback("/([^\]\='".'"'."]|^|\#\^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,]+)/ism", 'red_zrl_callback', $body); + $body = preg_replace_callback('/\[code\](.*?)\[\/code\]/ism','red_unescape_codeblock',$body); + + /** * * When a photo was uploaded into the message using the (profile wall) ajax diff --git a/version.inc b/version.inc index fc4e28cab..177a8cfe6 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2014-02-09.583 +2014-02-10.584 -- cgit v1.2.3