prevent tag recursion on shared posts

This commit is contained in:
friendica 2012-10-08 18:04:12 +11:00
parent 3c04676a32
commit ef22c1a9b3
3 changed files with 12 additions and 4 deletions

View File

@ -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

View File

@ -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])) {

View File

@ -18,14 +18,14 @@ function share_init(&$a) {
if(! count($r) || ($r[0]['private'] == 1))
killme();
$o = '';
$o = '[share]';
$o .= "\xE2\x99\xb2" . ' [url=' . $r[0]['author-link'] . ']' . $r[0]['author-name'] . '[/url]' . "\n";
if($r[0]['title'])
$o .= '[b]' . $r[0]['title'] . '[/b]' . "\n";
$o .= $r[0]['body'] . "\n" ;
$o .= (($r[0]['plink']) ? '[url=' . $r[0]['plink'] . ']' . t('link') . '[/url]' . "\n" : '');
$o .= (($r[0]['plink']) ? '[url=' . $r[0]['plink'] . ']' . t('link') . '[/url]' . "\n" : '') . '[/share]';
echo $o;
killme();