public function buildSideNavView($filter = null, $for_app = false)
 {
     $nav = new AphrontSideNavFilterView();
     $nav->setBaseURI(new PhutilURI($this->getApplicationURI()));
     $nav->addLabel(pht('Guides'));
     $modules = PhabricatorGuideModule::getEnabledModules();
     foreach ($modules as $key => $module) {
         $nav->addFilter($key . '/', $module->getModuleName());
     }
     return $nav;
 }
 public function handleRequest(AphrontRequest $request)
 {
     $viewer = $this->getViewer();
     $key = $request->getURIData('module');
     $all_modules = PhabricatorGuideModule::getEnabledModules();
     if (!$key) {
         $key = key($all_modules);
     }
     $nav = $this->buildSideNavView();
     $nav->selectFilter($key . '/');
     $module = $all_modules[$key];
     $content = $module->renderModuleStatus($request);
     $title = $module->getModuleName();
     $crumbs = $this->buildApplicationCrumbs();
     $crumbs->addTextCrumb($title);
     $crumbs->setBorder(true);
     $header = id(new PHUIHeaderView())->setHeader($title)->setProfileHeader(true);
     $view = id(new PHUICMSView())->setCrumbs($crumbs)->setNavigation($nav)->setHeader($header)->setContent($content);
     return $this->newPage()->setTitle($title)->addClass('phui-cms-body')->appendChild($view);
 }