Exemplo n.º 1
0
 /**
  * Get the Nth most recent group membership for this user
  *
  * @param User    $user The user to get memberships for
  * @param integer $n    How far to count back
  *
  * @return Group_member a membership or null
  */
 private function _getNthMem($user, $n)
 {
     $mem = new Group_member();
     $mem->profile_id = $user->id;
     $mem->orderBy('created DESC');
     $mem->limit($n - 1, 1);
     if ($mem->find(true)) {
         return $mem;
     } else {
         return null;
     }
 }
Exemplo n.º 2
0
 /**
  * Get stream of memberships by member
  *
  * @param integer $memberId profile ID of the member to fetch for
  * @param integer $offset   offset from start of stream to get
  * @param integer $limit    number of memberships to get
  *
  * @return Group_member stream of memberships, use fetch() to iterate
  */
 static function byMember($memberId, $offset = 0, $limit = GROUPS_PER_PAGE)
 {
     $membership = new Group_member();
     $membership->profile_id = $memberId;
     $membership->orderBy('created DESC');
     $membership->limit($offset, $limit);
     $membership->find();
     return $membership;
 }
Exemplo n.º 3
0
 function getMemberIDs($offset = 0, $limit = null)
 {
     $gm = new Group_member();
     $gm->selectAdd();
     $gm->selectAdd('profile_id');
     $gm->group_id = $this->id;
     $gm->orderBy('created DESC');
     if (!is_null($limit)) {
         $gm->limit($offset, $limit);
     }
     $ids = array();
     if ($gm->find()) {
         while ($gm->fetch()) {
             $ids[] = $gm->profile_id;
         }
     }
     return $ids;
 }