]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
getTaggedSub-stuff moved to Profile class
authorMikael Nordfeldth <mmn@hethane.se>
Tue, 15 Oct 2013 00:00:27 +0000 (02:00 +0200)
committerMikael Nordfeldth <mmn@hethane.se>
Tue, 15 Oct 2013 00:00:27 +0000 (02:00 +0200)
classes/Profile.php
classes/User.php

index 2f734aafd7223e4e0584442e831093427469b184..5058fbce6836d91281e58cdc9bcb6b153c2ed229 100644 (file)
@@ -568,29 +568,50 @@ class Profile extends Managed_DataObject
         return $profiles;
     }
 
-    function getTaggedSubscribers($tag)
+    function getTaggedSubscribers($tag, $offset=0, $limit=null)
     {
         $qry =
           'SELECT profile.* ' .
-          'FROM profile JOIN (subscription, profile_tag, profile_list) ' .
+          'FROM profile JOIN subscription ' .
           'ON profile.id = subscription.subscriber ' .
-          'AND profile.id = profile_tag.tagged ' .
-          'AND profile_tag.tagger = profile_list.tagger AND profile_tag.tag = profile_list.tag ' .
+          'JOIN profile_tag ON (profile_tag.tagged = subscription.subscriber ' .
+          'AND profile_tag.tagger = subscription.subscribed) ' .
           'WHERE subscription.subscribed = %d ' .
+          "AND profile_tag.tag = '%s' " .
           'AND subscription.subscribed != subscription.subscriber ' .
-          'AND profile_tag.tagger = %d AND profile_tag.tag = "%s" ' .
-          'AND profile_list.private = false ' .
-          'ORDER BY subscription.created DESC';
+          'ORDER BY subscription.created DESC ';
+
+        if ($offset) {
+            $qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset;
+        }
 
         $profile = new Profile();
-        $tagged = array();
 
-        $cnt = $profile->query(sprintf($qry, $this->id, $this->id, $profile->escape($tag)));
+        $cnt = $profile->query(sprintf($qry, $this->id, $profile->escape($tag)));
 
-        while ($profile->fetch()) {
-            $tagged[] = clone($profile);
-        }
-        return $tagged;
+        return $profile;
+    }
+
+    function getTaggedSubscriptions($tag, $offset=0, $limit=null)
+    {
+        $qry =
+          'SELECT profile.* ' .
+          'FROM profile JOIN subscription ' .
+          'ON profile.id = subscription.subscribed ' .
+          'JOIN profile_tag on (profile_tag.tagged = subscription.subscribed ' .
+          'AND profile_tag.tagger = subscription.subscriber) ' .
+          'WHERE subscription.subscriber = %d ' .
+          "AND profile_tag.tag = '%s' " .
+          'AND subscription.subscribed != subscription.subscriber ' .
+          'ORDER BY subscription.created DESC ';
+
+        $qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset;
+
+        $profile = new Profile();
+
+        $profile->query(sprintf($qry, $this->id, $profile->escape($tag)));
+
+        return $profile;
     }
 
     /**
index ca3281107e65ea0fc0e9f5144bd39fe75c2f8f54..59cb4e1890735e6d708c06b272b1807b12602fc5 100644 (file)
@@ -717,48 +717,12 @@ class User extends Managed_DataObject
 
     function getTaggedSubscribers($tag, $offset=0, $limit=null)
     {
-        $qry =
-          'SELECT profile.* ' .
-          'FROM profile JOIN subscription ' .
-          'ON profile.id = subscription.subscriber ' .
-          'JOIN profile_tag ON (profile_tag.tagged = subscription.subscriber ' .
-          'AND profile_tag.tagger = subscription.subscribed) ' .
-          'WHERE subscription.subscribed = %d ' .
-          "AND profile_tag.tag = '%s' " .
-          'AND subscription.subscribed != subscription.subscriber ' .
-          'ORDER BY subscription.created DESC ';
-
-        if ($offset) {
-            $qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset;
-        }
-
-        $profile = new Profile();
-
-        $cnt = $profile->query(sprintf($qry, $this->id, $profile->escape($tag)));
-
-        return $profile;
+        return $this->getProfile()->getTaggedSubscribers($tag, $offset, $limit);
     }
 
     function getTaggedSubscriptions($tag, $offset=0, $limit=null)
     {
-        $qry =
-          'SELECT profile.* ' .
-          'FROM profile JOIN subscription ' .
-          'ON profile.id = subscription.subscribed ' .
-          'JOIN profile_tag on (profile_tag.tagged = subscription.subscribed ' .
-          'AND profile_tag.tagger = subscription.subscriber) ' .
-          'WHERE subscription.subscriber = %d ' .
-          "AND profile_tag.tag = '%s' " .
-          'AND subscription.subscribed != subscription.subscriber ' .
-          'ORDER BY subscription.created DESC ';
-
-        $qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset;
-
-        $profile = new Profile();
-
-        $profile->query(sprintf($qry, $this->id, $profile->escape($tag)));
-
-        return $profile;
+        return $this->getProfile()->getTaggedSubscriptions($tag, $offset, $limit);
     }
 
     function hasRight($right)