1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-01 03:02:43 +01:00
phorge-phorge/src/applications/packages/application/PhabricatorPackagesApplication.php

90 lines
2.7 KiB
PHP
Raw Normal View History

<?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',
),
),
);
}
}