]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
turn into canonical terms before checking for unique-ness of a tag in a notice
authorBrenda Wallace <shiny@cpan.org>
Mon, 20 Jul 2009 02:18:48 +0000 (14:18 +1200)
committerBrenda Wallace <shiny@cpan.org>
Mon, 20 Jul 2009 02:18:48 +0000 (14:18 +1200)
classes/Notice.php

index 12b47f3604b686dc7a948355b6ac2fcd3606218f..7f002d838c6e4a095ead2587c3708d34522dcbc5 100644 (file)
@@ -101,9 +101,17 @@ class Notice extends Memcached_DataObject
         if (!$count) {
             return true;
         }
+        
+        //turn each into their canonical tag
+        //this is needed to remove dupes before saving e.g. #hash.tag = #hashtag
+        $hashtags = array();
+        for($i=0; $i<count($match[1]); $i++) {
+             $hashtags[] = common_canonical_tag($match[1][$i]);
+        }
+
  
         /* Add them to the database */
-        foreach(array_unique($match[1]) as $hashtag) {
+        foreach(array_unique($hashtags) as $hashtag) {
             /* elide characters we don't want in the tag */
             $this->saveTag($hashtag);
         }
@@ -112,8 +120,6 @@ class Notice extends Memcached_DataObject
 
     function saveTag($hashtag)
     {
-        $hashtag = common_canonical_tag($hashtag);
-
         $tag = new Notice_tag();
         $tag->notice_id = $this->id;
         $tag->tag = $hashtag;