diff options
author | friendica <info@friendica.com> | 2012-10-08 18:04:12 +1100 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-10-08 18:04:12 +1100 |
commit | ef22c1a9b3d4c452144bce7b94f31050622e17d6 (patch) | |
tree | e507cfa953469a48c9c65729893d91cb5673d842 /include | |
parent | 3c04676a32b048677813c1d8a4c525963a7b2f01 (diff) | |
download | volse-hubzilla-ef22c1a9b3d4c452144bce7b94f31050622e17d6.tar.gz volse-hubzilla-ef22c1a9b3d4c452144bce7b94f31050622e17d6.tar.bz2 volse-hubzilla-ef22c1a9b3d4c452144bce7b94f31050622e17d6.zip |
prevent tag recursion on shared posts
Diffstat (limited to 'include')
-rw-r--r-- | include/bbcode.php | 4 | ||||
-rwxr-xr-x | include/items.php | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/include/bbcode.php b/include/bbcode.php index e204e1cb4..b383f43b6 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -148,6 +148,10 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) { $Text = str_replace("<", "<", $Text); $Text = str_replace(">", ">", $Text); + // This only matters when looking for tags - otherwise has no meaning + + $Text = preg_replace("/\[share\](.*?)\[\/share\]/ism", '$1', $Text); + // Convert new line chars to html <br /> tags // nlbr seems to be hopelessly messed up diff --git a/include/items.php b/include/items.php index d755b7050..4b16e48fb 100755 --- a/include/items.php +++ b/include/items.php @@ -1228,7 +1228,9 @@ function tag_deliver($uid,$item_id) { $link = normalise_link($a->get_baseurl() . '/profile/' . $u[0]['nickname']); - $cnt = preg_match_all('/[\@\!]\[url\=(.*?)\](.*?)\[\/url\]/ism',$item['body'],$matches,PREG_SET_ORDER); + $body = preg_replace("/\[share\](.*?)\[\/share\]/ism", '', $item['body']); + + $cnt = preg_match_all('/[\@\!]\[url\=(.*?)\](.*?)\[\/url\]/ism',$body,$matches,PREG_SET_ORDER); if($cnt) { foreach($matches as $mtch) { if(link_compare($link,$mtch[1])) { @@ -1344,7 +1346,9 @@ function tgroup_check($uid,$item) { $dlink = normalise_link($a->get_baseurl() . '/u/' . $u[0]['nickname']); - $cnt = preg_match_all('/[\@\!]\[url\=(.*?)\](.*?)\[\/url\]/ism',$item['body'],$matches,PREG_SET_ORDER); + $body = preg_replace("/\[share\](.*?)\[\/share\]/ism", '', $item['body']); + + $cnt = preg_match_all('/[\@\!]\[url\=(.*?)\](.*?)\[\/url\]/ism',$body,$matches,PREG_SET_ORDER); if($cnt) { foreach($matches as $mtch) { if(link_compare($link,$mtch[1]) || link_compare($dlink,$mtch[1])) { |