From a9ec56ace1756726517650d96192df5320f445fe Mon Sep 17 00:00:00 2001 From: Friendika Date: Wed, 2 Nov 2011 18:52:55 -0700 Subject: [PATCH] prevent duplicate @ tags --- boot.php | 2 +- mod/item.php | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/boot.php b/boot.php index c8d667f58..9932f0430 100644 --- a/boot.php +++ b/boot.php @@ -9,7 +9,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDIKA_PLATFORM', 'Friendica'); -define ( 'FRIENDIKA_VERSION', '2.3.1152' ); +define ( 'FRIENDIKA_VERSION', '2.3.1153' ); define ( 'DFRN_PROTOCOL_VERSION', '2.22' ); define ( 'DB_UPDATE_VERSION', 1101 ); 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; + } } } }