diff options
author | Jeffery To <jeffery.to@gmail.com> | 2009-06-26 15:44:31 +0800 |
---|---|---|
committer | Jeffery To <jeffery.to@gmail.com> | 2009-06-26 15:44:31 +0800 |
commit | 612a107e09619b92d4614e2f3076ddca5c65824c (patch) | |
tree | 250fd003d4a6e27b91b73fa108e9ec4ed9bebc6e /classes/Profile.php | |
parent | 280f8faab4f692ff7f4389f82397adfa6db56325 (diff) | |
parent | 97ee517680979bf12e82eab99ecf943712fe97c9 (diff) |
Merge branch '0.8.x' into small-fixes
Diffstat (limited to 'classes/Profile.php')
-rw-r--r-- | classes/Profile.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/classes/Profile.php b/classes/Profile.php index 6b27c80cb..a0ed6b3ca 100644 --- a/classes/Profile.php +++ b/classes/Profile.php @@ -289,4 +289,52 @@ class Profile extends Memcached_DataObject return Avatar::defaultImage($size); } } + + function getSubscriptions($offset=0, $limit=null) + { + $qry = + 'SELECT profile.* ' . + 'FROM profile JOIN subscription ' . + 'ON profile.id = subscription.subscribed ' . + 'WHERE subscription.subscriber = %d ' . + 'AND subscription.subscribed != subscription.subscriber ' . + 'ORDER BY subscription.created DESC '; + + if (common_config('db','type') == 'pgsql') { + $qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset; + } else { + $qry .= ' LIMIT ' . $offset . ', ' . $limit; + } + + $profile = new Profile(); + + $profile->query(sprintf($qry, $this->id)); + + return $profile; + } + + function getSubscribers($offset=0, $limit=null) + { + $qry = + 'SELECT profile.* ' . + 'FROM profile JOIN subscription ' . + 'ON profile.id = subscription.subscriber ' . + 'WHERE subscription.subscribed = %d ' . + 'AND subscription.subscribed != subscription.subscriber ' . + 'ORDER BY subscription.created DESC '; + + if ($offset) { + if (common_config('db','type') == 'pgsql') { + $qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset; + } else { + $qry .= ' LIMIT ' . $offset . ', ' . $limit; + } + } + + $profile = new Profile(); + + $cnt = $profile->query(sprintf($qry, $this->id)); + + return $profile; + } } |