Page MenuHomestyx hydra

No OneTemporary

diff --git a/src/applications/calendar/application/PhabricatorCalendarApplication.php b/src/applications/calendar/application/PhabricatorCalendarApplication.php
index 16e6daf3bf..8dd68c42e0 100644
--- a/src/applications/calendar/application/PhabricatorCalendarApplication.php
+++ b/src/applications/calendar/application/PhabricatorCalendarApplication.php
@@ -1,101 +1,105 @@
<?php
final class PhabricatorCalendarApplication extends PhabricatorApplication {
public function getName() {
return pht('Calendar');
}
public function getShortDescription() {
return pht('Upcoming Events');
}
public function getFlavorText() {
return pht('Never miss an episode ever again.');
}
public function getBaseURI() {
return '/calendar/';
}
public function getIcon() {
return 'fa-calendar';
}
public function getTitleGlyph() {
// Unicode has a calendar character but it's in some distant code plane,
// use "keyboard" since it looks vaguely similar.
return "\xE2\x8C\xA8";
}
+ public function getApplicationGroup() {
+ return self::GROUP_UTILITIES;
+ }
+
public function isPrototype() {
return true;
}
public function getRemarkupRules() {
return array(
new PhabricatorCalendarRemarkupRule(),
);
}
public function getRoutes() {
return array(
'/E(?P<id>[1-9]\d*)(?:/(?P<sequence>\d+)/)?'
=> 'PhabricatorCalendarEventViewController',
'/calendar/' => array(
'(?:query/(?P<queryKey>[^/]+)/(?:(?P<year>\d+)/'.
'(?P<month>\d+)/)?(?:(?P<day>\d+)/)?)?'
=> 'PhabricatorCalendarEventListController',
'event/' => array(
$this->getEditRoutePattern('edit/')
=> 'PhabricatorCalendarEventEditController',
'drag/(?P<id>[1-9]\d*)/'
=> 'PhabricatorCalendarEventDragController',
'cancel/(?P<id>[1-9]\d*)/'
=> 'PhabricatorCalendarEventCancelController',
'(?P<action>join|decline|accept)/(?P<id>[1-9]\d*)/'
=> 'PhabricatorCalendarEventJoinController',
),
),
);
}
public function getHelpDocumentationArticles(PhabricatorUser $viewer) {
return array(
array(
'name' => pht('Calendar User Guide'),
'href' => PhabricatorEnv::getDoclink('Calendar User Guide'),
),
);
}
public function getMailCommandObjects() {
return array(
'event' => array(
'name' => pht('Email Commands: Events'),
'header' => pht('Interacting with Calendar Events'),
'object' => new PhabricatorCalendarEvent(),
'summary' => pht(
'This page documents the commands you can use to interact with '.
'events in Calendar. These commands work when creating new tasks '.
'via email and when replying to existing tasks.'),
),
);
}
protected function getCustomCapabilities() {
return array(
PhabricatorCalendarEventDefaultViewCapability::CAPABILITY => array(
'caption' => pht('Default view policy for newly created events.'),
'template' => PhabricatorCalendarEventPHIDType::TYPECONST,
'capability' => PhabricatorPolicyCapability::CAN_VIEW,
),
PhabricatorCalendarEventDefaultEditCapability::CAPABILITY => array(
'caption' => pht('Default edit policy for newly created events.'),
'template' => PhabricatorCalendarEventPHIDType::TYPECONST,
'capability' => PhabricatorPolicyCapability::CAN_EDIT,
),
);
}
}
diff --git a/src/applications/feed/application/PhabricatorFeedApplication.php b/src/applications/feed/application/PhabricatorFeedApplication.php
index f24ff76fe4..287cf2d387 100644
--- a/src/applications/feed/application/PhabricatorFeedApplication.php
+++ b/src/applications/feed/application/PhabricatorFeedApplication.php
@@ -1,34 +1,38 @@
<?php
final class PhabricatorFeedApplication extends PhabricatorApplication {
public function getBaseURI() {
return '/feed/';
}
public function getName() {
return pht('Feed');
}
public function getShortDescription() {
return pht('Review Recent Activity');
}
public function getIcon() {
return 'fa-newspaper-o';
}
+ public function getApplicationGroup() {
+ return self::GROUP_UTILITIES;
+ }
+
public function canUninstall() {
return false;
}
public function getRoutes() {
return array(
'/feed/' => array(
'(?P<id>\d+)/' => 'PhabricatorFeedDetailController',
'(?:query/(?P<queryKey>[^/]+)/)?' => 'PhabricatorFeedListController',
),
);
}
}
diff --git a/src/applications/packages/application/PhabricatorPackagesApplication.php b/src/applications/packages/application/PhabricatorPackagesApplication.php
index 7a100e82b8..9de74dddc0 100644
--- a/src/applications/packages/application/PhabricatorPackagesApplication.php
+++ b/src/applications/packages/application/PhabricatorPackagesApplication.php
@@ -1,85 +1,89 @@
<?php
final class PhabricatorPackagesApplication extends PhabricatorApplication {
public function getName() {
return pht('Packages');
}
public function getShortDescription() {
return pht('Publish Software');
}
public function getFlavorText() {
return pht('Applications and Extensions');
}
public function getBaseURI() {
return '/packages/';
}
public function getIcon() {
return 'fa-gift';
}
+ public function getApplicationGroup() {
+ return self::GROUP_UTILITIES;
+ }
+
public function isPrototype() {
return true;
}
protected function getCustomCapabilities() {
return array(
PhabricatorPackagesCreatePublisherCapability::CAPABILITY => array(
'default' => PhabricatorPolicies::POLICY_ADMIN,
),
PhabricatorPackagesPublisherDefaultEditCapability::CAPABILITY => array(
'caption' => pht('Default edit policy for newly created publishers.'),
'template' => PhabricatorPackagesPublisherPHIDType::TYPECONST,
'default' => PhabricatorPolicies::POLICY_NOONE,
),
PhabricatorPackagesPackageDefaultViewCapability::CAPABILITY => array(
'caption' => pht('Default edit policy for newly created packages.'),
'template' => PhabricatorPackagesPackagePHIDType::TYPECONST,
),
PhabricatorPackagesPackageDefaultEditCapability::CAPABILITY => array(
'caption' => pht('Default view policy for newly created packages.'),
'template' => PhabricatorPackagesPackagePHIDType::TYPECONST,
'default' => PhabricatorPolicies::POLICY_NOONE,
),
);
}
public function getRoutes() {
return array(
'/package/' => array(
'(?P<publisherKey>[^/]+)/' => array(
'' => 'PhabricatorPackagesPublisherViewController',
'(?P<packageKey>[^/]+)/' => array(
'' => 'PhabricatorPackagesPackageViewController',
'(?P<versionKey>[^/]+)/' =>
'PhabricatorPackagesVersionViewController',
),
),
),
'/packages/' => array(
'publisher/' => array(
$this->getQueryRoutePattern() =>
'PhabricatorPackagesPublisherListController',
$this->getEditRoutePattern('edit/') =>
'PhabricatorPackagesPublisherEditController',
),
'package/' => array(
$this->getQueryRoutePattern() =>
'PhabricatorPackagesPackageListController',
$this->getEditRoutePattern('edit/') =>
'PhabricatorPackagesPackageEditController',
),
'version/' => array(
$this->getQueryRoutePattern() =>
'PhabricatorPackagesVersionListController',
$this->getEditRoutePattern('edit/') =>
'PhabricatorPackagesVersionEditController',
),
),
);
}
}
diff --git a/src/applications/people/application/PhabricatorPeopleApplication.php b/src/applications/people/application/PhabricatorPeopleApplication.php
index adc3d87560..44672edd3c 100644
--- a/src/applications/people/application/PhabricatorPeopleApplication.php
+++ b/src/applications/people/application/PhabricatorPeopleApplication.php
@@ -1,135 +1,139 @@
<?php
final class PhabricatorPeopleApplication extends PhabricatorApplication {
public function getName() {
return pht('People');
}
public function getShortDescription() {
return pht('User Accounts and Profiles');
}
public function getBaseURI() {
return '/people/';
}
public function getTitleGlyph() {
return "\xE2\x99\x9F";
}
public function getIcon() {
return 'fa-users';
}
public function isPinnedByDefault(PhabricatorUser $viewer) {
return $viewer->getIsAdmin();
}
public function getFlavorText() {
return pht('Sort of a social utility.');
}
+ public function getApplicationGroup() {
+ return self::GROUP_UTILITIES;
+ }
+
public function canUninstall() {
return false;
}
public function getRoutes() {
return array(
'/people/' => array(
'(query/(?P<key>[^/]+)/)?' => 'PhabricatorPeopleListController',
'logs/(?:query/(?P<queryKey>[^/]+)/)?'
=> 'PhabricatorPeopleLogsController',
'invite/' => array(
'(?:query/(?P<queryKey>[^/]+)/)?'
=> 'PhabricatorPeopleInviteListController',
'send/'
=> 'PhabricatorPeopleInviteSendController',
),
'approve/(?P<id>[1-9]\d*)/' => 'PhabricatorPeopleApproveController',
'(?P<via>disapprove)/(?P<id>[1-9]\d*)/'
=> 'PhabricatorPeopleDisableController',
'(?P<via>disable)/(?P<id>[1-9]\d*)/'
=> 'PhabricatorPeopleDisableController',
'empower/(?P<id>[1-9]\d*)/' => 'PhabricatorPeopleEmpowerController',
'delete/(?P<id>[1-9]\d*)/' => 'PhabricatorPeopleDeleteController',
'rename/(?P<id>[1-9]\d*)/' => 'PhabricatorPeopleRenameController',
'welcome/(?P<id>[1-9]\d*)/' => 'PhabricatorPeopleWelcomeController',
'create/' => 'PhabricatorPeopleCreateController',
'new/(?P<type>[^/]+)/' => 'PhabricatorPeopleNewController',
'ldap/' => 'PhabricatorPeopleLdapController',
'editprofile/(?P<id>[1-9]\d*)/' =>
'PhabricatorPeopleProfileEditController',
'picture/(?P<id>[1-9]\d*)/' =>
'PhabricatorPeopleProfilePictureController',
'manage/(?P<id>[1-9]\d*)/' =>
'PhabricatorPeopleProfileManageController',
),
'/p/(?P<username>[\w._-]+)/' => array(
'' => 'PhabricatorPeopleProfileViewController',
'panel/'
=> $this->getPanelRouting('PhabricatorPeopleProfilePanelController'),
),
);
}
public function getRemarkupRules() {
return array(
new PhabricatorMentionRemarkupRule(),
);
}
protected function getCustomCapabilities() {
return array(
PeopleCreateUsersCapability::CAPABILITY => array(
'default' => PhabricatorPolicies::POLICY_ADMIN,
),
PeopleBrowseUserDirectoryCapability::CAPABILITY => array(),
);
}
public function loadStatus(PhabricatorUser $user) {
if (!$user->getIsAdmin()) {
return array();
}
$limit = self::MAX_STATUS_ITEMS;
$need_approval = id(new PhabricatorPeopleQuery())
->setViewer($user)
->withIsApproved(false)
->withIsDisabled(false)
->setLimit($limit)
->execute();
if (!$need_approval) {
return array();
}
$status = array();
$count = count($need_approval);
if ($count >= $limit) {
$count_str = pht(
'%s+ User(s) Need Approval',
new PhutilNumber($limit - 1));
} else {
$count_str = pht(
'%s User(s) Need Approval',
new PhutilNumber($count));
}
$type = PhabricatorApplicationStatusView::TYPE_NEEDS_ATTENTION;
$status[] = id(new PhabricatorApplicationStatusView())
->setType($type)
->setText($count_str)
->setCount($count);
return $status;
}
public function getApplicationSearchDocumentTypes() {
return array(
PhabricatorPeopleUserPHIDType::TYPECONST,
);
}
}
diff --git a/src/applications/phurl/application/PhabricatorPhurlApplication.php b/src/applications/phurl/application/PhabricatorPhurlApplication.php
index 763a85173c..59f8f1546f 100644
--- a/src/applications/phurl/application/PhabricatorPhurlApplication.php
+++ b/src/applications/phurl/application/PhabricatorPhurlApplication.php
@@ -1,71 +1,75 @@
<?php
final class PhabricatorPhurlApplication extends PhabricatorApplication {
public function getName() {
return pht('Phurl');
}
public function getShortDescription() {
return pht('URL Shortener');
}
public function getFlavorText() {
return pht('Shorten your favorite URL.');
}
public function getBaseURI() {
return '/phurl/';
}
public function getIcon() {
return 'fa-compress';
}
public function isPrototype() {
return true;
}
+ public function getApplicationGroup() {
+ return self::GROUP_UTILITIES;
+ }
+
public function getRemarkupRules() {
return array(
new PhabricatorPhurlRemarkupRule(),
new PhabricatorPhurlLinkRemarkupRule(),
);
}
public function getRoutes() {
return array(
'/U(?P<id>[1-9]\d*)/?' => 'PhabricatorPhurlURLViewController',
'/u/(?P<id>[1-9]\d*)/?' => 'PhabricatorPhurlURLAccessController',
'/u/(?P<alias>[^/]+)/?' => 'PhabricatorPhurlURLAccessController',
'/phurl/' => array(
'(?:query/(?P<queryKey>[^/]+)/)?'
=> 'PhabricatorPhurlURLListController',
'url/' => array(
'create/'
=> 'PhabricatorPhurlURLEditController',
'edit/(?P<id>[1-9]\d*)/'
=> 'PhabricatorPhurlURLEditController',
'comment/(?P<id>[1-9]\d*)/'
=> 'PhabricatorPhurlURLCommentController',
),
),
);
}
public function getShortRoutes() {
return array(
'/u/(?P<append>[^/]+)' => 'PhabricatorPhurlShortURLController',
'.*' => 'PhabricatorPhurlShortURLDefaultController',
);
}
protected function getCustomCapabilities() {
return array(
PhabricatorPhurlURLCreateCapability::CAPABILITY => array(
'default' => PhabricatorPolicies::POLICY_USER,
),
);
}
}
diff --git a/src/applications/ponder/application/PhabricatorPonderApplication.php b/src/applications/ponder/application/PhabricatorPonderApplication.php
index 616eda10c9..ced8606e99 100644
--- a/src/applications/ponder/application/PhabricatorPonderApplication.php
+++ b/src/applications/ponder/application/PhabricatorPonderApplication.php
@@ -1,116 +1,120 @@
<?php
final class PhabricatorPonderApplication extends PhabricatorApplication {
public function getBaseURI() {
return '/ponder/';
}
public function getName() {
return pht('Ponder');
}
public function getShortDescription() {
return pht('Questions and Answers');
}
public function getIcon() {
return 'fa-university';
}
public function getFactObjectsForAnalysis() {
return array(
new PonderQuestion(),
);
}
public function getTitleGlyph() {
return "\xE2\x97\xB3";
}
public function getRemarkupRules() {
return array(
new PonderRemarkupRule(),
);
}
+ public function getApplicationGroup() {
+ return self::GROUP_UTILITIES;
+ }
+
public function supportsEmailIntegration() {
return true;
}
public function getAppEmailBlurb() {
return pht(
'Send email to these addresses to create questions. %s',
phutil_tag(
'a',
array(
'href' => $this->getInboundEmailSupportLink(),
),
pht('Learn More')));
}
public function getRoutes() {
return array(
'/Q(?P<id>[1-9]\d*)'
=> 'PonderQuestionViewController',
'/ponder/' => array(
'(?:query/(?P<queryKey>[^/]+)/)?'
=> 'PonderQuestionListController',
'answer/add/'
=> 'PonderAnswerSaveController',
'answer/edit/(?P<id>\d+)/'
=> 'PonderAnswerEditController',
'answer/comment/(?P<id>\d+)/'
=> 'PonderAnswerCommentController',
'answer/history/(?P<id>\d+)/'
=> 'PonderAnswerHistoryController',
'question/edit/(?:(?P<id>\d+)/)?'
=> 'PonderQuestionEditController',
'question/create/'
=> 'PonderQuestionEditController',
'question/comment/(?P<id>\d+)/'
=> 'PonderQuestionCommentController',
'question/history/(?P<id>\d+)/'
=> 'PonderQuestionHistoryController',
'preview/'
=> 'PhabricatorMarkupPreviewController',
'question/status/(?P<id>[1-9]\d*)/'
=> 'PonderQuestionStatusController',
),
);
}
public function getMailCommandObjects() {
return array(
'question' => array(
'name' => pht('Email Commands: Questions'),
'header' => pht('Interacting with Ponder Questions'),
'object' => new PonderQuestion(),
'summary' => pht(
'This page documents the commands you can use to interact with '.
'questions in Ponder.'),
),
);
}
protected function getCustomCapabilities() {
return array(
PonderDefaultViewCapability::CAPABILITY => array(
'template' => PonderQuestionPHIDType::TYPECONST,
'capability' => PhabricatorPolicyCapability::CAN_VIEW,
),
PonderModerateCapability::CAPABILITY => array(
'default' => PhabricatorPolicies::POLICY_ADMIN,
'template' => PonderQuestionPHIDType::TYPECONST,
'capability' => PhabricatorPolicyCapability::CAN_EDIT,
),
);
}
public function getApplicationSearchDocumentTypes() {
return array(
PonderQuestionPHIDType::TYPECONST,
);
}
}
diff --git a/src/applications/releeph/application/PhabricatorReleephApplication.php b/src/applications/releeph/application/PhabricatorReleephApplication.php
index ab5a12dc80..2590478f1a 100644
--- a/src/applications/releeph/application/PhabricatorReleephApplication.php
+++ b/src/applications/releeph/application/PhabricatorReleephApplication.php
@@ -1,88 +1,92 @@
<?php
final class PhabricatorReleephApplication extends PhabricatorApplication {
public function getName() {
return pht('Releeph');
}
public function getShortDescription() {
return pht('Pull Requests');
}
public function getBaseURI() {
return '/releeph/';
}
public function getIcon() {
return 'fa-flag-checkered';
}
+ public function getApplicationGroup() {
+ return self::GROUP_UTILITIES;
+ }
+
public function isPrototype() {
return true;
}
public function getRoutes() {
return array(
'/Y(?P<requestID>[1-9]\d*)' => 'ReleephRequestViewController',
// TODO: Remove these older routes eventually.
'/RQ(?P<requestID>[1-9]\d*)' => 'ReleephRequestViewController',
'/releeph/request/(?P<requestID>[1-9]\d*)/'
=> 'ReleephRequestViewController',
'/releeph/' => array(
'' => 'ReleephProductListController',
'(?:product|project)/' => array(
'(?:query/(?P<queryKey>[^/]+)/)?' => 'ReleephProductListController',
'create/' => 'ReleephProductCreateController',
'(?P<projectID>[1-9]\d*)/' => array(
'(?:query/(?P<queryKey>[^/]+)/)?' => 'ReleephProductViewController',
'edit/' => 'ReleephProductEditController',
'cutbranch/' => 'ReleephBranchCreateController',
'action/(?P<action>.+)/' => 'ReleephProductActionController',
'history/' => 'ReleephProductHistoryController',
),
),
'branch/' => array(
'edit/(?P<branchID>[1-9]\d*)/'
=> 'ReleephBranchEditController',
'(?P<action>close|re-open)/(?P<branchID>[1-9]\d*)/'
=> 'ReleephBranchAccessController',
'preview/' => 'ReleephBranchNamePreviewController',
'(?P<branchID>[1-9]\d*)/' => array(
'history/' => 'ReleephBranchHistoryController',
'(?:query/(?P<queryKey>[^/]+)/)?' => 'ReleephBranchViewController',
),
'pull/(?P<branchID>[1-9]\d*)/'
=> 'ReleephRequestEditController',
),
'request/' => array(
'create/' => 'ReleephRequestEditController',
'differentialcreate/' => array(
'D(?P<diffRevID>[1-9]\d*)' =>
'ReleephRequestDifferentialCreateController',
),
'edit/(?P<requestID>[1-9]\d*)/'
=> 'ReleephRequestEditController',
'action/(?P<action>.+)/(?P<requestID>[1-9]\d*)/'
=> 'ReleephRequestActionController',
'typeahead/' =>
'ReleephRequestTypeaheadController',
'comment/(?P<requestID>[1-9]\d*)/'
=> 'ReleephRequestCommentController',
),
),
);
}
public function getMailCommandObjects() {
// TODO: Pull requests don't implement any interfaces which give them
// meaningful commands, so don't expose ReleephRequest here for now.
// Once we add relevant commands, return it here.
return array();
}
}

File Metadata

Mime Type
text/x-diff
Expires
Tue, Jul 1, 6:29 PM (21 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
164516
Default Alt Text
(21 KB)

Event Timeline