public function prepareQueryBeforeCount(xPDOQuery $c) { $c->leftJoin('modUserProfile', 'Profile'); $query = $this->getProperty('query', ''); if (!empty($query)) { $c->where(array('modUser.username:LIKE' => '%' . $query . '%', 'OR:Profile.fullname:LIKE' => '%' . $query . '%', 'OR:Profile.email:LIKE' => '%' . $query . '%')); } $userGroup = $this->getProperty('usergroup', 0); if (!empty($userGroup)) { if ($userGroup === 'anonymous') { $c->join('modUserGroupMember', 'UserGroupMembers', 'LEFT OUTER JOIN'); $c->where(array('UserGroupMembers.user_group' => NULL)); } else { $c->distinct(); $c->innerJoin('modUserGroupMember', 'UserGroupMembers'); $c->where(array('UserGroupMembers.user_group' => $userGroup)); } } return $c; }