diff options
author | Brion Vibber <brion@pobox.com> | 2010-03-30 11:07:01 -0700 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2010-03-30 11:45:35 -0700 |
commit | 0284e1315cc95d94e1e348a0af3ac88f1abcd5ff (patch) | |
tree | e5e8ce87c4794a7aa8b83dc0dc69aee4e42f9f74 /actions | |
parent | d38ce90fa12fcda80fb24d6366406d7b03f6a71b (diff) |
Quick fixes for grouplistall:
* respect count instead of listing all groups
* respect page parameter
* don't spew notice on undefined $id
* don't spew notice on undefined $group->homepage_url (dropped the element since there's nothing to go in it)
Diffstat (limited to 'actions')
-rw-r--r-- | actions/apigrouplistall.php | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/actions/apigrouplistall.php b/actions/apigrouplistall.php index e1b54a832..f7677970f 100644 --- a/actions/apigrouplistall.php +++ b/actions/apigrouplistall.php @@ -66,7 +66,7 @@ class ApiGroupListAllAction extends ApiPrivateAuthAction { parent::prepare($args); - $this->user = $this->getTargetUser($id); + $this->user = $this->getTargetUser(null); $this->groups = $this->getGroups(); return true; @@ -137,11 +137,18 @@ class ApiGroupListAllAction extends ApiPrivateAuthAction $qry = 'SELECT user_group.* '. 'from user_group join local_group on user_group.id = local_group.group_id '. 'order by created desc '; - + $offset = intval($this->page - 1) * intval($this->count); + $limit = intval($this->count); + if (common_config('db', 'type') == 'pgsql') { + $qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset; + } else { + $qry .= ' LIMIT ' . $offset . ', ' . $limit; + } $group = new User_group(); $group->query($qry); + $groups = array(); while ($group->fetch()) { $groups[] = clone($group); } |