buildStandardPageView(); $page->setApplicationName('Herald'); $page->setBaseURI('/herald/'); $page->setTitle(idx($data, 'title')); $page->setGlyph("\xE2\x98\xBF"); $doclink = PhabricatorEnv::getDoclink('article/Herald_User_Guide.html'); $tabs = array( 'help' => array( 'href' => $doclink, 'name' => 'Help', ), ); $page->setTabs($tabs, null); $page->appendChild($view); $page->setIsAdminInterface(idx($data, 'admin')); $response = new AphrontWebpageResponse(); return $response->setContent($page->render()); } protected function renderNav() { $nav = id(new AphrontSideNavFilterView()) ->setBaseURI(new PhutilURI('/herald/')) ->addLabel('My Rules') ->addFilter('new', 'Create Rule'); $rules_map = HeraldContentTypeConfig::getContentTypeMap(); foreach ($rules_map as $key => $value) { $nav->addFilter("view/{$key}/personal", $value); } $nav ->addSpacer() ->addLabel('Global Rules'); foreach ($rules_map as $key => $value) { $nav->addFilter("view/{$key}/global", $value); } $nav ->addSpacer() ->addLabel('Utilities') ->addFilter('test', 'Test Console') ->addFilter('transcript', 'Transcripts') ->addFilter('history', 'Edit Log'); if ($this->getRequest()->getUser()->getIsAdmin()) { $nav ->addSpacer() ->addLabel('Admin'); foreach ($rules_map as $key => $value) { $nav->addFilter("view/{$key}/all", $value); } } return $nav; } }