From a9ec56ace1756726517650d96192df5320f445fe Mon Sep 17 00:00:00 2001 From: Friendika Date: Wed, 2 Nov 2011 18:52:55 -0700 Subject: prevent duplicate @ tags --- mod/item.php | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'mod') diff --git a/mod/item.php b/mod/item.php index 3af0f799a..48bfb7751 100644 --- a/mod/item.php +++ b/mod/item.php @@ -455,17 +455,23 @@ function item_post(&$a) { if($profile) { $body = str_replace('@' . $name, '@' . '[url=' . $profile . ']' . $newname . '[/url]', $body); $profile = str_replace(',','%2c',$profile); - if(strlen($str_tags)) - $str_tags .= ','; - $str_tags .= '@[url=' . $profile . ']' . $newname . '[/url]'; + $newtag = '@[url=' . $profile . ']' . $newname . '[/url]'; + if(! stristr($str_tags,$newtag)) { + if(strlen($str_tags)) + $str_tags .= ','; + $str_tags .= $newtag; + } // Status.Net seems to require the numeric ID URL in a mention if the person isn't // subscribed to you. But the nickname URL is OK if they are. Grrr. We'll tag both. if(strlen($alias)) { - if(strlen($str_tags)) - $str_tags .= ','; - $str_tags .= '@[url=' . $alias . ']' . $newname . '[/url]'; + $newtag = '@[url=' . $alias . ']' . $newname . '[/url]'; + if(! stristr($str_tags,$newtag)) { + if(strlen($str_tags)) + $str_tags .= ','; + $str_tags .= $newtag; + } } } } -- cgit v1.2.3