X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FProfile_tag.php;h=00585280d3153146e885c6a10b9eae5ba8a0ad5a;hb=3ba4258f9e13d6ba84dd21197782303ac26b28fd;hp=eb583c98fe06f4f126921631e8c33a48ffa8b110;hpb=57198a74647f8350db4de03b0b7ef157091a4359;p=quix0rs-gnu-social.git diff --git a/classes/Profile_tag.php b/classes/Profile_tag.php index eb583c98fe..00585280d3 100644 --- a/classes/Profile_tag.php +++ b/classes/Profile_tag.php @@ -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; + } }