private function buildQuery($filter, $user_phid) { $query = new DifferentialRevisionQuery(); $query->needRelationships(true); switch ($filter) { case 'active': $query->withResponsibleUsers(array($user_phid)); $query->withStatus(DifferentialRevisionQuery::STATUS_OPEN); $query->setLimit(null); break; case 'revisions': $query->withAuthors(array($user_phid)); break; case 'reviews': $query->withReviewers(array($user_phid)); break; case 'subscribed': $query->withSubscribers(array($user_phid)); break; case 'drafts': $query->withDraftRepliesByAuthors(array($user_phid)); break; case 'all': break; default: throw new Exception("Unknown filter '{$filter}'!"); } return $query; }