示例#1
0
 /**
  * @param int    $userId
  * @param string $type
  * @param string $role
  * @param string $sortColumn
  * @param int    $sortDirection
  * @param int    $offset
  * @param int    $limit
  *
  * @return array
  * @todo: integrate better way of caching
  */
 public function getMyGroups($userId, $type = null, $role = null, $sortColumn = 'name', $sortDirection = 0, $offset = 0, $limit = 5)
 {
     static $cache;
     $key = md5(json_encode(func_get_args()));
     if (isset($cache[$key])) {
         return $cache[$key];
     }
     if ($role !== null) {
         $memberships = $this->client->findUserMembershipsForRole($userId, $role, $sortColumn, $sortDirection, $type, $offset, $limit);
     } else {
         $memberships = $this->client->findGroupedUserMemberships($userId, $sortColumn, $sortDirection, $type, $offset, $limit);
     }
     $cache[$key] = $memberships;
     return $memberships;
 }