aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2012-10-08 18:04:12 +1100
committerfriendica <info@friendica.com>2012-10-08 18:04:12 +1100
commitef22c1a9b3d4c452144bce7b94f31050622e17d6 (patch)
treee507cfa953469a48c9c65729893d91cb5673d842 /include
parent3c04676a32b048677813c1d8a4c525963a7b2f01 (diff)
downloadvolse-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.php4
-rwxr-xr-xinclude/items.php8
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("<", "&lt;", $Text);
$Text = str_replace(">", "&gt;", $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])) {