[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/diffusion/application/ -> PhabricatorDiffusionApplication.php (source)

   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  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1