[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class PhabricatorDifferentialApplication extends PhabricatorApplication { 4 5 public function getBaseURI() { 6 return '/differential/'; 7 } 8 9 public function getName() { 10 return pht('Differential'); 11 } 12 13 public function getShortDescription() { 14 return pht('Review Code'); 15 } 16 17 public function getIconName() { 18 return 'differential'; 19 } 20 21 public function isPinnedByDefault(PhabricatorUser $viewer) { 22 return true; 23 } 24 25 public function getHelpURI() { 26 return PhabricatorEnv::getDoclink('Differential User Guide'); 27 } 28 29 public function getFactObjectsForAnalysis() { 30 return array( 31 new DifferentialRevision(), 32 ); 33 } 34 35 public function getTitleGlyph() { 36 return "\xE2\x9A\x99"; 37 } 38 39 public function getEventListeners() { 40 return array( 41 new DifferentialActionMenuEventListener(), 42 new DifferentialHovercardEventListener(), 43 new DifferentialLandingActionMenuEventListener(), 44 ); 45 } 46 47 public function getOverview() { 48 return pht(<<<EOTEXT 49 Differential is a **code review application** which allows engineers to review, 50 discuss and approve changes to software. 51 EOTEXT 52 ); 53 } 54 55 public function getRoutes() { 56 return array( 57 '/D(?P<id>[1-9]\d*)' => 'DifferentialRevisionViewController', 58 '/differential/' => array( 59 '(?:query/(?P<queryKey>[^/]+)/)?' 60 => 'DifferentialRevisionListController', 61 'diff/' => array( 62 '(?P<id>[1-9]\d*)/' => 'DifferentialDiffViewController', 63 'create/' => 'DifferentialDiffCreateController', 64 ), 65 'changeset/' => 'DifferentialChangesetViewController', 66 'revision/edit/(?:(?P<id>[1-9]\d*)/)?' 67 => 'DifferentialRevisionEditController', 68 'revision/land/(?:(?P<id>[1-9]\d*))/(?P<strategy>[^/]+)/' 69 => 'DifferentialRevisionLandController', 70 'revision/closedetails/(?P<phid>[^/]+)/' 71 => 'DifferentialRevisionCloseDetailsController', 72 'comment/' => array( 73 'preview/(?P<id>[1-9]\d*)/' => 'DifferentialCommentPreviewController', 74 'save/(?P<id>[1-9]\d*)/' => 'DifferentialCommentSaveController', 75 'inline/' => array( 76 'preview/(?P<id>[1-9]\d*)/' 77 => 'DifferentialInlineCommentPreviewController', 78 'edit/(?P<id>[1-9]\d*)/' 79 => 'DifferentialInlineCommentEditController', 80 ), 81 ), 82 'preview/' => 'PhabricatorMarkupPreviewController', 83 ), 84 ); 85 } 86 87 public function getApplicationOrder() { 88 return 0.100; 89 } 90 91 public function getRemarkupRules() { 92 return array( 93 new DifferentialRemarkupRule(), 94 ); 95 } 96 97 public function loadStatus(PhabricatorUser $user) { 98 $revisions = id(new DifferentialRevisionQuery()) 99 ->setViewer($user) 100 ->withResponsibleUsers(array($user->getPHID())) 101 ->withStatus(DifferentialRevisionQuery::STATUS_OPEN) 102 ->needRelationships(true) 103 ->execute(); 104 105 list($blocking, $active, $waiting) = 106 DifferentialRevisionQuery::splitResponsible( 107 $revisions, 108 array($user->getPHID())); 109 110 $status = array(); 111 112 $blocking = count($blocking); 113 $type = PhabricatorApplicationStatusView::TYPE_NEEDS_ATTENTION; 114 $status[] = id(new PhabricatorApplicationStatusView()) 115 ->setType($type) 116 ->setText(pht('%d Review(s) Blocking Others', $blocking)) 117 ->setCount($blocking); 118 119 $active = count($active); 120 $type = PhabricatorApplicationStatusView::TYPE_WARNING; 121 $status[] = id(new PhabricatorApplicationStatusView()) 122 ->setType($type) 123 ->setText(pht('%d Review(s) Need Attention', $active)) 124 ->setCount($active); 125 126 $waiting = count($waiting); 127 $type = PhabricatorApplicationStatusView::TYPE_INFO; 128 $status[] = id(new PhabricatorApplicationStatusView()) 129 ->setType($type) 130 ->setText(pht('%d Review(s) Waiting on Others', $waiting)) 131 ->setCount($waiting); 132 133 return $status; 134 } 135 136 protected function getCustomCapabilities() { 137 return array( 138 DifferentialDefaultViewCapability::CAPABILITY => array( 139 'caption' => pht('Default view policy for newly created revisions.'), 140 ), 141 ); 142 } 143 144 }
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 |