]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - classes/Profile_tag.php
use notice list instead of threaded for list view
[quix0rs-gnu-social.git] / classes / Profile_tag.php
index eb583c98fe06f4f126921631e8c33a48ffa8b110..00585280d3153146e885c6a10b9eae5ba8a0ad5a 100644 (file)
@@ -143,6 +143,7 @@ class Profile_tag extends Memcached_DataObject
         if (Event::handle('StartTagProfile', array($tagger_profile, $tagged_profile, $tag))) {
 
             if (!$tagger_profile->canTag($tagged_profile)) {
+                // TRANS: Client exception thrown trying to set a tag for a user that cannot be tagged.
                 throw new ClientException(_('You cannot tag this user.'));
                 return false;
             }
@@ -152,6 +153,7 @@ class Profile_tag extends Memcached_DataObject
             $count = (int) $tags->count('distinct tag');
 
             if ($count >= common_config('peopletag', 'maxtags')) {
+                // TRANS: Client exception thrown trying to set more tags than allowed.
                 throw new ClientException(sprintf(_('You already have created %d or more tags ' .
                                                     'which is the maximum allowed number of tags. ' .
                                                     'Try using or deleting some existing tags.'),
@@ -165,7 +167,8 @@ class Profile_tag extends Memcached_DataObject
             $profile_list = Profile_list::ensureTag($tagger, $tag, $desc, $private);
 
             if ($profile_list->taggedCount() >= common_config('peopletag', 'maxpeople')) {
-                throw new ClientException(sprintf(_('You already have %d or more people tagged %s ' .
+                // TRANS: Client exception thrown trying to set one tag for more people than allowed.
+                throw new ClientException(sprintf(_('You already have %1$d or more people tagged %2$s, ' .
                                                     'which is the maximum allowed number.' .
                                                     'Try untagging others with the same tag first.'),
                                                     common_config('peopletag', 'maxpeople'), $tag));
@@ -221,7 +224,9 @@ class Profile_tag extends Memcached_DataObject
             Event::handle('EndUntagProfile', array($orig));
             if ($result) {
                 $profile_list = Profile_list::pkeyGet(array('tag' => $tag, 'tagger' => $tagger));
-                $profile_list->taggedCount(true);
+                if (!empty($profile_list)) {
+                    $profile_list->taggedCount(true);
+                }
                 self::blowCaches($tagger, $tagged);
                 return true;
             }
@@ -286,4 +291,26 @@ class Profile_tag extends Memcached_DataObject
         }
         return true;
     }
+
+    function insert()
+    {
+        $result = parent::insert();
+        if ($result) {
+            self::blow('profile_list:tagged_count:%d:%s', 
+                       $this->tagger,
+                       $this->tag);
+        }
+        return $result;
+    }
+
+    function delete()
+    {
+        $result = parent::delete();
+        if ($result) {
+            self::blow('profile_list:tagged_count:%d:%s', 
+                       $this->tagger,
+                       $this->tag);
+        }
+        return $result;
+    }
 }