public function processRequest() { $request = $this->getRequest(); $user = $request->getUser(); $pager = new AphrontPagerView(); $page_size = 50; $pager->setURI($request->getRequestURI(), 'offset'); $pager->setPageSize($page_size); $pager->setOffset($request->getInt('offset')); if ($this->getBloggerName()) { $blogger = id(new PhabricatorUser())->loadOneWhere('username = %s', $this->getBloggerName()); if (!$blogger) { return new Aphront404Response(); } $page_title = 'Posts by ' . $this->getBloggerName(); if ($blogger->getPHID() == $user->getPHID()) { $actions = array('view', 'edit'); } else { $actions = array('view'); } $this->setShowSideNav(false); } else { $blogger = $user; $page_title = 'Posts by ' . $user->getUserName(); $actions = array('view', 'edit'); $this->setShowSideNav(true); } $phid = $blogger->getPHID(); // user gets to see their own unpublished stuff if ($phid == $user->getPHID() && $this->isDraft()) { $post_visibility = PhamePost::VISIBILITY_DRAFT; } else { $post_visibility = PhamePost::VISIBILITY_PUBLISHED; } $query = new PhamePostQuery(); $query->withBloggerPHID($phid); $query->withVisibility($post_visibility); $posts = $query->executeWithPager($pager); $bloggers = array($blogger->getPHID() => $blogger); $panel = id(new PhamePostListView())->setUser($user)->setBloggers($bloggers)->setPosts($posts)->setActions($actions)->setDraftList($this->isDraft()); return $this->buildStandardPageResponse(array($panel, $pager), array('title' => $page_title)); }