[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 abstract class PhabricatorHomeController extends PhabricatorController { 4 5 public function buildStandardPageResponse($view, array $data) { 6 $page = $this->buildStandardPageView(); 7 8 $page->setBaseURI('/'); 9 $page->setTitle(idx($data, 'title')); 10 11 $page->setGlyph("\xE2\x9A\x92"); 12 $page->appendChild($view); 13 14 $response = new AphrontWebpageResponse(); 15 return $response->setContent($page->render()); 16 } 17 18 public function buildNav() { 19 $user = $this->getRequest()->getUser(); 20 21 $nav = new AphrontSideNavFilterView(); 22 $nav->setBaseURI(new PhutilURI('/')); 23 24 $applications = id(new PhabricatorApplicationQuery()) 25 ->setViewer($user) 26 ->withInstalled(true) 27 ->withUnlisted(false) 28 ->withLaunchable(true) 29 ->execute(); 30 31 $pinned = $user->loadPreferences()->getPinnedApplications( 32 $applications, 33 $user); 34 35 // Force "Applications" to appear at the bottom. 36 $meta_app = 'PhabricatorApplicationsApplication'; 37 $pinned = array_fuse($pinned); 38 unset($pinned[$meta_app]); 39 $pinned[$meta_app] = $meta_app; 40 $applications[$meta_app] = PhabricatorApplication::getByClass($meta_app); 41 42 $tiles = array(); 43 44 $home_app = new PhabricatorHomeApplication(); 45 46 $tiles[] = id(new PhabricatorApplicationLaunchView()) 47 ->setApplication($home_app) 48 ->setApplicationStatus($home_app->loadStatus($user)) 49 ->addClass('phabricator-application-launch-phone-only') 50 ->setUser($user); 51 52 foreach ($pinned as $pinned_application) { 53 if (empty($applications[$pinned_application])) { 54 continue; 55 } 56 57 $application = $applications[$pinned_application]; 58 59 $tile = id(new PhabricatorApplicationLaunchView()) 60 ->setApplication($application) 61 ->setApplicationStatus($application->loadStatus($user)) 62 ->setUser($user); 63 64 $tiles[] = $tile; 65 } 66 67 $nav->addCustomBlock( 68 phutil_tag( 69 'div', 70 array( 71 'class' => 'application-tile-group', 72 ), 73 $tiles)); 74 75 $nav->addFilter( 76 '', 77 pht('Customize Applications...'), 78 '/settings/panel/home/'); 79 80 $nav->addClass('phabricator-side-menu-home'); 81 $nav->selectFilter(null); 82 83 return $nav; 84 } 85 86 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |