From ce044c40fb0c05d8f7869c8c06174b2c7428052b Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 27 Sep 2011 09:42:34 -0400 Subject: [PATCH] rewrite Profile_tag::getTagsArray() so it doesn't use joinAdd() --- classes/Profile_tag.php | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/classes/Profile_tag.php b/classes/Profile_tag.php index f1a60fdaa6..c9f8d96713 100644 --- a/classes/Profile_tag.php +++ b/classes/Profile_tag.php @@ -99,23 +99,26 @@ class Profile_tag extends Managed_DataObject static function getTagsArray($tagger, $tagged, $auth_user_id=null) { $ptag = new Profile_tag(); - $ptag->tagger = $tagger; - $ptag->tagged = $tagged; - - if ($tagger != $auth_user_id) { - $list = new Profile_list(); - $list->private = false; - $ptag->joinAdd($list); - $ptag->selectAdd(); - $ptag->selectAdd('profile_tag.tag'); + + $qry = sprint('select profile_tag.tag '. + 'from profile_tag join profile_list '. + ' on (profile_tag.tagger = profile_list.tagger ' . + ' and profile_tag.tag = profile_list.tag) ' . + 'where profile_tag.tagger = %d ' . + 'and profile_tag.tagged = %d ', + $tagger, $tagged); + + if ($auth_user_id != $tagger) { + $qry .= 'and profile_list.private = 0'; } $tags = array(); - $ptag->find(); + + $ptag->query($sql); + while ($ptag->fetch()) { $tags[] = $ptag->tag; } - $ptag->free(); return $tags; } -- 2.39.5