Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/people/controller/PhabricatorPeopleController.php
12256 views
1
<?php
2
3
abstract class PhabricatorPeopleController extends PhabricatorController {
4
5
public function shouldRequireAdmin() {
6
return true;
7
}
8
9
public function buildSideNavView($for_app = false) {
10
$nav = new AphrontSideNavFilterView();
11
$nav->setBaseURI(new PhutilURI($this->getApplicationURI()));
12
13
$name = null;
14
if ($for_app) {
15
$name = $this->getRequest()->getURIData('username');
16
if ($name) {
17
$nav->setBaseURI(new PhutilURI('/p/'));
18
$nav->addFilter("{$name}/", $name);
19
$nav->addFilter("{$name}/calendar/", pht('Calendar'));
20
}
21
}
22
23
if (!$name) {
24
$viewer = $this->getRequest()->getUser();
25
id(new PhabricatorPeopleSearchEngine())
26
->setViewer($viewer)
27
->addNavigationItems($nav->getMenu());
28
29
if ($viewer->getIsAdmin()) {
30
$nav->addLabel(pht('User Administration'));
31
$nav->addFilter('logs', pht('Activity Logs'));
32
$nav->addFilter('invite', pht('Email Invitations'));
33
}
34
}
35
36
return $nav;
37
}
38
39
public function buildApplicationMenu() {
40
return $this->buildSideNavView(true)->getMenu();
41
}
42
43
}
44
45