[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class PhabricatorDiffusionApplication extends PhabricatorApplication { 4 5 public function getName() { 6 return pht('Diffusion'); 7 } 8 9 public function getShortDescription() { 10 return pht('Host and Browse Repositories'); 11 } 12 13 public function getBaseURI() { 14 return '/diffusion/'; 15 } 16 17 public function getIconName() { 18 return 'diffusion'; 19 } 20 21 public function isPinnedByDefault(PhabricatorUser $viewer) { 22 return true; 23 } 24 25 public function getHelpURI() { 26 return PhabricatorEnv::getDoclink('Diffusion User Guide'); 27 } 28 29 public function getFactObjectsForAnalysis() { 30 return array( 31 new PhabricatorRepositoryCommit(), 32 ); 33 } 34 35 public function getEventListeners() { 36 return array( 37 new DiffusionHovercardEventListener(), 38 ); 39 } 40 41 public function getRemarkupRules() { 42 return array( 43 new DiffusionRepositoryRemarkupRule(), 44 new DiffusionCommitRemarkupRule(), 45 ); 46 } 47 48 public function getRoutes() { 49 return array( 50 '/r(?P<callsign>[A-Z]+)(?P<commit>[a-z0-9]+)' 51 => 'DiffusionCommitController', 52 '/diffusion/' => array( 53 '(?:query/(?P<queryKey>[^/]+)/)?' 54 => 'DiffusionRepositoryListController', 55 'new/' => 'DiffusionRepositoryNewController', 56 '(?P<edit>create)/' => 'DiffusionRepositoryCreateController', 57 '(?P<edit>import)/' => 'DiffusionRepositoryCreateController', 58 'pushlog/' => array( 59 '(?:query/(?P<queryKey>[^/]+)/)?' => 'DiffusionPushLogListController', 60 'view/(?P<id>\d+)/' => 'DiffusionPushEventViewController', 61 ), 62 '(?P<callsign>[A-Z]+)/' => array( 63 '' => 'DiffusionRepositoryController', 64 65 'repository/(?P<dblob>.*)' => 'DiffusionRepositoryController', 66 'change/(?P<dblob>.*)' => 'DiffusionChangeController', 67 'history/(?P<dblob>.*)' => 'DiffusionHistoryController', 68 'browse/(?P<dblob>.*)' => 'DiffusionBrowseMainController', 69 'lastmodified/(?P<dblob>.*)' => 'DiffusionLastModifiedController', 70 'diff/' => 'DiffusionDiffController', 71 'tags/(?P<dblob>.*)' => 'DiffusionTagListController', 72 'branches/(?P<dblob>.*)' => 'DiffusionBranchTableController', 73 'lint/(?P<dblob>.*)' => 'DiffusionLintController', 74 'commit/(?P<commit>[a-z0-9]+)/branches/' 75 => 'DiffusionCommitBranchesController', 76 'commit/(?P<commit>[a-z0-9]+)/tags/' 77 => 'DiffusionCommitTagsController', 78 'commit/(?P<commit>[a-z0-9]+)/edit/' 79 => 'DiffusionCommitEditController', 80 'edit/' => array( 81 '' => 'DiffusionRepositoryEditMainController', 82 'basic/' => 'DiffusionRepositoryEditBasicController', 83 'encoding/' => 'DiffusionRepositoryEditEncodingController', 84 'activate/' => 'DiffusionRepositoryEditActivateController', 85 'dangerous/' => 'DiffusionRepositoryEditDangerousController', 86 'branches/' => 'DiffusionRepositoryEditBranchesController', 87 'subversion/' => 'DiffusionRepositoryEditSubversionController', 88 'actions/' => 'DiffusionRepositoryEditActionsController', 89 '(?P<edit>remote)/' => 'DiffusionRepositoryCreateController', 90 '(?P<edit>policy)/' => 'DiffusionRepositoryCreateController', 91 'local/' => 'DiffusionRepositoryEditLocalController', 92 'delete/' => 'DiffusionRepositoryEditDeleteController', 93 'hosting/' => 'DiffusionRepositoryEditHostingController', 94 '(?P<serve>serve)/' => 'DiffusionRepositoryEditHostingController', 95 'update/' => 'DiffusionRepositoryEditUpdateController', 96 ), 97 'pathtree/(?P<dblob>.*)' => 'DiffusionPathTreeController', 98 'mirror/' => array( 99 'edit/(?:(?P<id>\d+)/)?' => 'DiffusionMirrorEditController', 100 'delete/(?P<id>\d+)/' => 'DiffusionMirrorDeleteController', 101 ), 102 ), 103 104 // NOTE: This must come after the rule above; it just gives us a 105 // catch-all for serving repositories over HTTP. We must accept 106 // requests without the trailing "/" because SVN commands don't 107 // necessarily include it. 108 '(?P<callsign>[A-Z]+)(/|$).*' => 'DiffusionRepositoryDefaultController', 109 110 'inline/' => array( 111 'edit/(?P<phid>[^/]+)/' => 'DiffusionInlineCommentController', 112 'preview/(?P<phid>[^/]+)/' 113 => 'DiffusionInlineCommentPreviewController', 114 ), 115 'services/' => array( 116 'path/' => array( 117 'complete/' => 'DiffusionPathCompleteController', 118 'validate/' => 'DiffusionPathValidateController', 119 ), 120 ), 121 'symbol/(?P<name>[^/]+)/' => 'DiffusionSymbolController', 122 'external/' => 'DiffusionExternalController', 123 'lint/' => 'DiffusionLintController', 124 ), 125 ); 126 } 127 128 public function getApplicationOrder() { 129 return 0.120; 130 } 131 132 protected function getCustomCapabilities() { 133 return array( 134 DiffusionDefaultViewCapability::CAPABILITY => array(), 135 DiffusionDefaultEditCapability::CAPABILITY => array( 136 'default' => PhabricatorPolicies::POLICY_ADMIN, 137 ), 138 DiffusionDefaultPushCapability::CAPABILITY => array(), 139 DiffusionCreateRepositoriesCapability::CAPABILITY => array( 140 'default' => PhabricatorPolicies::POLICY_ADMIN, 141 ), 142 ); 143 } 144 145 }
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 |