]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
A method on User for getting groups
authorEvan Prodromou <evan@controlyourself.ca>
Wed, 21 Jan 2009 17:19:23 +0000 (12:19 -0500)
committerEvan Prodromou <evan@controlyourself.ca>
Wed, 21 Jan 2009 17:19:23 +0000 (12:19 -0500)
classes/User.php

index 51e23fccf7d8fe3511ae5305c0c68ea38f5abedc..e507e082f90fd8602a61f81ec98492f3e40d7bc9 100644 (file)
@@ -520,4 +520,26 @@ class User extends Memcached_DataObject
             return false;
         }
     }
+
+    function getGroups($offset, $limit)
+    {
+        $qry =
+          'SELECT user_group.* ' .
+          'FROM user_group JOIN group_member '.
+          'ON user_group.id = group_member.group_id ' .
+          'WHERE group_member.profile_id = %d ' .
+          'ORDER BY group_member.created DESC ';
+
+        if (common_config('db','type') == 'pgsql') {
+            $qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset;
+        } else {
+            $qry .= ' LIMIT ' . $offset . ', ' . $limit;
+        }
+
+        $groups = new User_group();
+
+        $cnt = $groups->query(sprintf($qry, $this->id));
+
+        return $groups;
+    }
 }