public function processRequest()
 {
     $user = $this->getRequest()->getUser();
     $query = new PhamePostQuery();
     $query->withVisibility(PhamePost::VISIBILITY_PUBLISHED);
     $this->setPhamePostQuery($query);
     $this->setActions(array('view'));
     $page_title = 'All Posts';
     $this->setPageTitle($page_title);
     $this->setShowSideNav(true);
     return $this->buildPostListPageResponse();
 }
 public function processRequest()
 {
     $user = $this->getRequest()->getUser();
     $phid = $user->getPHID();
     $query = new PhamePostQuery();
     $query->withBloggerPHID($phid);
     $query->withVisibility(PhamePost::VISIBILITY_DRAFT);
     $this->setPhamePostQuery($query);
     $actions = array('view', 'edit');
     $this->setActions($actions);
     $this->setPageTitle('My Drafts');
     $this->setShowSideNav(true);
     return $this->buildPostListPageResponse();
 }
 public function processRequest()
 {
     $user = $this->getRequest()->getUser();
     $blogger = id(new PhabricatorUser())->loadOneWhere('username = %s', $this->getBloggerName());
     if (!$blogger) {
         return new Aphront404Response();
     }
     $blogger_phid = $blogger->getPHID();
     if ($blogger_phid == $user->getPHID()) {
         $actions = array('view', 'edit');
     } else {
         $actions = array('view');
     }
     $this->setActions($actions);
     $query = new PhamePostQuery();
     $query->withBloggerPHID($blogger_phid);
     $query->withVisibility(PhamePost::VISIBILITY_PUBLISHED);
     $this->setPhamePostQuery($query);
     $page_title = 'Posts by ' . $this->getBloggerName();
     $this->setPageTitle($page_title);
     $this->setShowSideNav(false);
     return $this->buildPostListPageResponse();
 }
 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));
 }
 protected function execute(ConduitAPIRequest $request)
 {
     $query = new PhamePostQuery();
     $query->setViewer($request->getUser());
     $ids = $request->getValue('ids', array());
     if ($ids) {
         $query->withIDs($ids);
     }
     $phids = $request->getValue('phids', array());
     if ($phids) {
         $query->withPHIDs($phids);
     }
     $blog_phids = $request->getValue('blogPHIDs', array());
     if ($blog_phids) {
         $query->withBlogPHIDs($blog_phids);
     }
     $blogger_phids = $request->getValue('bloggerPHIDs', array());
     if ($blogger_phids) {
         $query->withBloggerPHIDs($blogger_phids);
     }
     $phame_titles = $request->getValue('phameTitles', array());
     if ($phame_titles) {
         $query->withPhameTitles($phame_titles);
     }
     $published = $request->getValue('published', null);
     if ($published === true) {
         $query->withVisibility(PhameConstants::VISIBILITY_PUBLISHED);
     } else {
         if ($published === false) {
             $query->withVisibility(PhameConstants::VISIBILITY_DRAFT);
         }
     }
     $published_after = $request->getValue('publishedAfter', null);
     if ($published_after !== null) {
         $query->withPublishedAfter($published_after);
     }
     $after = $request->getValue('after', null);
     if ($after !== null) {
         $query->setAfterID($after);
     }
     $before = $request->getValue('before', null);
     if ($before !== null) {
         $query->setBeforeID($before);
     }
     $limit = $request->getValue('limit', null);
     if ($limit !== null) {
         $query->setLimit($limit);
     }
     $posts = $query->execute();
     $results = array();
     foreach ($posts as $post) {
         $results[] = $post->toDictionary();
     }
     return $results;
 }