public function buildSideNavView($filter = null, $for_app = false)
 {
     $user = $this->getRequest()->getUser();
     $nav = new AphrontSideNavFilterView();
     $nav->setBaseURI(new PhutilURI($this->getApplicationURI()));
     $nav->addLabel(pht('Configuration'));
     $nav->addFilter('/', pht('Browse Settings'));
     $nav->addFilter('all/', pht('All Settings'));
     $nav->addFilter('history/', pht('Settings History'));
     $nav->addLabel(pht('Setup'));
     $nav->addFilter('issue/', pht('Setup Issues'));
     $nav->addLabel(pht('Database'));
     $nav->addFilter('database/', pht('Database Status'));
     $nav->addFilter('dbissue/', pht('Database Issues'));
     $nav->addLabel(pht('Cache'));
     $nav->addFilter('cache/', pht('Cache Status'));
     $nav->addLabel(pht('Cluster'));
     $nav->addFilter('cluster/databases/', pht('Database Servers'));
     $nav->addFilter('cluster/notifications/', pht('Notification Servers'));
     $nav->addFilter('cluster/repositories/', pht('Repository Servers'));
     $nav->addLabel(pht('Welcome'));
     $nav->addFilter('welcome/', pht('Welcome Screen'));
     $nav->addLabel(pht('Modules'));
     $modules = PhabricatorConfigModule::getAllModules();
     foreach ($modules as $key => $module) {
         $nav->addFilter('module/' . $key . '/', $module->getModuleName());
     }
     return $nav;
 }
 public function buildSideNavView($filter = null, $for_app = false)
 {
     $guide_href = new PhutilURI('/guides/');
     $nav = new AphrontSideNavFilterView();
     $nav->setBaseURI(new PhutilURI($this->getApplicationURI()));
     $nav->addLabel(pht('Configuration'));
     $nav->addFilter('/', pht('Core Settings'), null, 'fa-gear');
     $nav->addFilter('application/', pht('Application Settings'), null, 'fa-globe');
     $nav->addFilter('history/', pht('Settings History'), null, 'fa-history');
     $nav->addFilter('version/', pht('Version Information'), null, 'fa-download');
     $nav->addFilter('all/', pht('All Settings'), null, 'fa-list-ul');
     $nav->addLabel(pht('Setup'));
     $nav->addFilter('issue/', pht('Setup Issues'), null, 'fa-warning');
     $nav->addFilter(null, pht('Installation Guide'), $guide_href, 'fa-book');
     $nav->addLabel(pht('Database'));
     $nav->addFilter('database/', pht('Database Status'), null, 'fa-heartbeat');
     $nav->addFilter('dbissue/', pht('Database Issues'), null, 'fa-exclamation-circle');
     $nav->addLabel(pht('Cache'));
     $nav->addFilter('cache/', pht('Cache Status'), null, 'fa-home');
     $nav->addLabel(pht('Cluster'));
     $nav->addFilter('cluster/databases/', pht('Database Servers'), null, 'fa-database');
     $nav->addFilter('cluster/notifications/', pht('Notification Servers'), null, 'fa-bell-o');
     $nav->addFilter('cluster/repositories/', pht('Repository Servers'), null, 'fa-code');
     $nav->addLabel(pht('Modules'));
     $modules = PhabricatorConfigModule::getAllModules();
     foreach ($modules as $key => $module) {
         $nav->addFilter('module/' . $key . '/', $module->getModuleName(), null, 'fa-puzzle-piece');
     }
     return $nav;
 }
 public function handleRequest(AphrontRequest $request)
 {
     $viewer = $this->getViewer();
     $key = $request->getURIData('module');
     $all_modules = PhabricatorConfigModule::getAllModules();
     if (empty($all_modules[$key])) {
         return new Aphront404Response();
     }
     $module = $all_modules[$key];
     $content = $module->renderModuleStatus($request);
     $name = $module->getModuleName();
     $crumbs = $this->buildApplicationCrumbs();
     $crumbs->addTextCrumb($name);
     $nav = $this->buildSideNavView();
     $nav->selectFilter('module/' . $key . '/');
     $nav->appendChild(array($crumbs, $content));
     return $this->buildApplicationPage($nav, array('title' => $name));
 }
 public function handleRequest(AphrontRequest $request)
 {
     $viewer = $this->getViewer();
     $key = $request->getURIData('module');
     $all_modules = PhabricatorConfigModule::getAllModules();
     if (empty($all_modules[$key])) {
         return new Aphront404Response();
     }
     $module = $all_modules[$key];
     $content = $module->renderModuleStatus($request);
     $title = $module->getModuleName();
     $crumbs = $this->buildApplicationCrumbs();
     $crumbs->addTextCrumb($title);
     $nav = $this->buildSideNavView();
     $nav->selectFilter('module/' . $key . '/');
     $view = id(new PHUITwoColumnView())->setNavigation($nav)->setMainColumn(array($content));
     return $this->newPage()->setTitle($title)->setCrumbs($crumbs)->appendChild($view);
 }
 public function handleRequest(AphrontRequest $request)
 {
     $viewer = $this->getViewer();
     $key = $request->getURIData('module');
     $all_modules = PhabricatorConfigModule::getAllModules();
     if (empty($all_modules[$key])) {
         return new Aphront404Response();
     }
     $module = $all_modules[$key];
     $content = $module->renderModuleStatus($request);
     $title = $module->getModuleName();
     $crumbs = $this->buildApplicationCrumbs();
     $crumbs->addTextCrumb($title);
     $crumbs->setBorder(true);
     $nav = $this->buildSideNavView();
     $nav->selectFilter('module/' . $key . '/');
     $header = id(new PHUIHeaderView())->setHeader($title)->setProfileHeader(true);
     $content = id(new PhabricatorConfigPageView())->setHeader($header)->setContent($content);
     return $this->newPage()->setTitle($title)->setCrumbs($crumbs)->setNavigation($nav)->appendChild($content)->addClass('white-background');
 }