Path: blob/master/src/applications/differential/application/PhabricatorDifferentialApplication.php
12256 views
<?php12final class PhabricatorDifferentialApplication3extends PhabricatorApplication {45public function getBaseURI() {6return '/differential/';7}89public function getName() {10return pht('Differential');11}1213public function getShortDescription() {14return pht('Pre-Commit Review');15}1617public function getIcon() {18return 'fa-cog';19}2021public function isPinnedByDefault(PhabricatorUser $viewer) {22return true;23}2425public function getHelpDocumentationArticles(PhabricatorUser $viewer) {26return array(27array(28'name' => pht('Differential User Guide'),29'href' => PhabricatorEnv::getDoclink('Differential User Guide'),30),31);32}3334public function getTitleGlyph() {35return "\xE2\x9A\x99";36}3738public function getOverview() {39return pht(40'Differential is a **code review application** which allows '.41'engineers to review, discuss and approve changes to software.');42}4344public function getRoutes() {45return array(46'/D(?P<id>[1-9]\d*)' => array(47'' => 'DifferentialRevisionViewController',48'/(?P<filter>new)/' => 'DifferentialRevisionViewController',49),50'/differential/' => array(51$this->getQueryRoutePattern() => 'DifferentialRevisionListController',52'diff/' => array(53'(?P<id>[1-9]\d*)/' => array(54'' => 'DifferentialDiffViewController',55'changesets/' => array(56$this->getQueryRoutePattern()57=> 'DifferentialChangesetListController',58),59),60'create/' => 'DifferentialDiffCreateController',61),62'changeset/' => 'DifferentialChangesetViewController',63'revision/' => array(64$this->getEditRoutePattern('edit/')65=> 'DifferentialRevisionEditController',66$this->getEditRoutePattern('attach/(?P<diffID>[^/]+)/to/')67=> 'DifferentialRevisionEditController',68'closedetails/(?P<phid>[^/]+)/'69=> 'DifferentialRevisionCloseDetailsController',70'update/(?P<revisionID>[1-9]\d*)/'71=> 'DifferentialDiffCreateController',72'operation/(?P<id>[1-9]\d*)/'73=> 'DifferentialRevisionOperationController',74'inlines/(?P<id>[1-9]\d*)/'75=> 'DifferentialRevisionInlinesController',76'paths/(?P<id>[1-9]\d*)/'77=> 'DifferentialRevisionAffectedPathsController',78),79'comment/' => array(80'inline/' => array(81'edit/(?P<id>[1-9]\d*)/'82=> 'DifferentialInlineCommentEditController',83),84),85'preview/' => 'PhabricatorMarkupPreviewController',86),87);88}8990public function getApplicationOrder() {91return 0.100;92}9394public function getRemarkupRules() {95return array(96new DifferentialRemarkupRule(),97);98}99100public function supportsEmailIntegration() {101return true;102}103104public function getAppEmailBlurb() {105return pht(106'Send email to these addresses to create revisions. The body of the '.107'message and / or one or more attachments should be the output of a '.108'"diff" command. %s',109phutil_tag(110'a',111array(112'href' => $this->getInboundEmailSupportLink(),113),114pht('Learn More')));115}116117protected function getCustomCapabilities() {118return array(119DifferentialDefaultViewCapability::CAPABILITY => array(120'caption' => pht('Default view policy for newly created revisions.'),121'template' => DifferentialRevisionPHIDType::TYPECONST,122'capability' => PhabricatorPolicyCapability::CAN_VIEW,123),124);125}126127public function getMailCommandObjects() {128return array(129'revision' => array(130'name' => pht('Email Commands: Revisions'),131'header' => pht('Interacting with Differential Revisions'),132'object' => new DifferentialRevision(),133'summary' => pht(134'This page documents the commands you can use to interact with '.135'revisions in Differential.'),136),137);138}139140public function getApplicationSearchDocumentTypes() {141return array(142DifferentialRevisionPHIDType::TYPECONST,143);144}145146}147148149