From c5f0b85357e04f436402d16a3b3781df47f30812 Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 9 Feb 2014 00:30:43 -0800 Subject: [PATCH] fix wall photos --- include/items.php | 9 +++++++++ mod/item.php | 2 +- version.inc | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/include/items.php b/include/items.php index efc2322d5..acf05ed11 100755 --- a/include/items.php +++ b/include/items.php @@ -167,6 +167,15 @@ function red_zrl_callback($matches) { } +// If we've got a url or zrl tag with a naked url somewhere in the link text, +// escape it with quotes unless the naked url is a linked photo. + +function red_escape_zrl_callback($matches) { + + if((strpos($matches[3],'zmg') !== false) || (strpos($matches[3],'img') !== false)) + return $matches[0]; + return '[' . $matches[1] . 'rl' . $matches[2] . ']' . $matches[3] . '"' . $matches[4] . '"' . $matches[5] . '[/' . $matches[6] . 'rl]'; +} /** * @function post_activity_item($arr) diff --git a/mod/item.php b/mod/item.php index 19d771832..69cc624ea 100644 --- a/mod/item.php +++ b/mod/item.php @@ -429,7 +429,7 @@ function item_post(&$a) { * otherwise http://elsewhere.com becomes #^[url=http://elsewhere.com]http://elsewhere.com[/url] */ - $body = preg_replace('/\[([uz])rl(.*?)\](.*?)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,]+)(.*?)\[\/([uz])rl\]/ism','[$1rl$2]$3"$4"$5[/$6rl]',$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); diff --git a/version.inc b/version.inc index bd1fa0985..fc4e28cab 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2014-02-08.582 +2014-02-09.583