isAdmin = $is_admin; return $this; } private function getIsAdmin() { return $this->isAdmin; } public function setUser(PhabricatorUser $user) { $this->user = $user; return $this; } private function getUser() { return $this->user; } public function setBloggers(array $bloggers) { assert_instances_of($bloggers, 'PhabricatorObjectHandle'); $this->bloggers = $bloggers; return $this; } private function getBloggers() { return $this->bloggers; } public function setBlog(PhameBlog $blog) { $this->blog = $blog; return $this; } private function getBlog() { return $this->blog; } public function render() { require_celerity_resource('phabricator-remarkup-css'); require_celerity_resource('phame-blog-detail-css'); $user = $this->getUser(); $blog = $this->getBlog(); $bloggers = $this->getBloggers(); $name = phutil_escape_html($blog->getName()); $description = phutil_escape_html($blog->getDescription()); $bloggers_txt = implode(' · ', mpull($bloggers, 'renderLink')); $panel = id(new AphrontPanelView()) ->addClass('blog-detail') ->setHeader($name) ->setCaption($description) ->setWidth(AphrontPanelView::WIDTH_FORM) ->appendChild('Current bloggers: '.$bloggers_txt); if ($this->getIsAdmin()) { $panel->addButton( phutil_render_tag( 'a', array( 'href' => $blog->getEditURI(), 'class' => 'button grey', ), 'Edit Blog') ); } return $panel->render(); } }