Changeset View
Changeset View
Standalone View
Standalone View
src/applications/config/controller/PhabricatorConfigController.php
<?php | <?php | ||||
abstract class PhabricatorConfigController extends PhabricatorController { | abstract class PhabricatorConfigController extends PhabricatorController { | ||||
public function shouldRequireAdmin() { | public function shouldRequireAdmin() { | ||||
return true; | return true; | ||||
} | } | ||||
public function buildSideNavView($filter = null, $for_app = false) { | public function buildSideNavView($filter = null, $for_app = false) { | ||||
$guide_href = new PhutilURI('/guides/'); | $guide_href = new PhutilURI('/guides/'); | ||||
$nav = new AphrontSideNavFilterView(); | $nav = new AphrontSideNavFilterView(); | ||||
$nav->setBaseURI(new PhutilURI($this->getApplicationURI())); | $nav->setBaseURI(new PhutilURI($this->getApplicationURI())); | ||||
$nav->addLabel(pht('Configuration')); | |||||
$nav->addFilter('/', | $nav->addFilter('/', | ||||
pht('Core Settings'), null, 'fa-gear'); | pht('Core Settings'), null, 'fa-gear'); | ||||
$nav->addFilter('application/', | $nav->addFilter('application/', | ||||
pht('Application Settings'), null, 'fa-globe'); | pht('Application Settings'), null, 'fa-globe'); | ||||
$nav->addFilter('history/', | $nav->addFilter('history/', | ||||
pht('Settings History'), null, 'fa-history'); | pht('Settings History'), null, 'fa-history'); | ||||
$nav->addFilter('version/', | $nav->addFilter('version/', | ||||
pht('Version Information'), null, 'fa-download'); | pht('Version Information'), null, 'fa-download'); | ||||
Show All 18 Lines | public function buildSideNavView($filter = null, $for_app = false) { | ||||
$nav->addFilter('cluster/notifications/', | $nav->addFilter('cluster/notifications/', | ||||
pht('Notification Servers'), null, 'fa-bell-o'); | pht('Notification Servers'), null, 'fa-bell-o'); | ||||
$nav->addFilter('cluster/repositories/', | $nav->addFilter('cluster/repositories/', | ||||
pht('Repository Servers'), null, 'fa-code'); | pht('Repository Servers'), null, 'fa-code'); | ||||
$nav->addFilter('cluster/search/', | $nav->addFilter('cluster/search/', | ||||
pht('Search Servers'), null, 'fa-search'); | pht('Search Servers'), null, 'fa-search'); | ||||
$nav->addLabel(pht('Modules')); | $nav->addLabel(pht('Modules')); | ||||
$modules = PhabricatorConfigModule::getAllModules(); | $modules = PhabricatorConfigModule::getAllModules(); | ||||
foreach ($modules as $key => $module) { | foreach ($modules as $key => $module) { | ||||
$nav->addFilter('module/'.$key.'/', | $nav->addFilter('module/'.$key.'/', | ||||
$module->getModuleName(), null, 'fa-puzzle-piece'); | $module->getModuleName(), null, 'fa-puzzle-piece'); | ||||
} | } | ||||
return $nav; | return $nav; | ||||
} | } | ||||
public function buildApplicationMenu() { | public function buildApplicationMenu() { | ||||
return $this->buildSideNavView(null, true)->getMenu(); | return $this->buildSideNavView(null, true)->getMenu(); | ||||
} | } | ||||
public function buildHeaderView($text, $action = null) { | |||||
$viewer = $this->getViewer(); | |||||
$file = PhabricatorFile::loadBuiltin($viewer, 'projects/v3/manage.png'); | |||||
$image = $file->getBestURI($file); | |||||
$header = id(new PHUIHeaderView()) | |||||
->setHeader($text) | |||||
->setProfileHeader(true) | |||||
->setImage($image); | |||||
if ($action) { | |||||
$header->addActionLink($action); | |||||
} | |||||
return $header; | |||||
} | |||||
public function buildConfigBoxView($title, $content, $action = null) { | |||||
$header = id(new PHUIHeaderView()) | |||||
->setHeader($title); | |||||
if ($action) { | |||||
$header->addActionItem($action); | |||||
} | |||||
$view = id(new PHUIObjectBoxView()) | |||||
->setHeader($header) | |||||
->appendChild($content) | |||||
->setBackground(PHUIObjectBoxView::WHITE_CONFIG); | |||||
return $view; | |||||
} | |||||
} | } |