@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Move OwnersPackage to Appliation PHIDs

Summary: Ref T2715.

Test Plan: `phid.query`

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2715

Differential Revision: https://secure.phabricator.com/D6572

+62 -25
+2
src/__phutil_library_map__.php
··· 1342 1342 'PhabricatorOwnersEditController' => 'applications/owners/controller/PhabricatorOwnersEditController.php', 1343 1343 'PhabricatorOwnersListController' => 'applications/owners/controller/PhabricatorOwnersListController.php', 1344 1344 'PhabricatorOwnersOwner' => 'applications/owners/storage/PhabricatorOwnersOwner.php', 1345 + 'PhabricatorOwnersPHIDTypePackage' => 'applications/owners/phid/PhabricatorOwnersPHIDTypePackage.php', 1345 1346 'PhabricatorOwnersPackage' => 'applications/owners/storage/PhabricatorOwnersPackage.php', 1346 1347 'PhabricatorOwnersPackagePathValidator' => 'applications/repository/worker/commitchangeparser/PhabricatorOwnersPackagePathValidator.php', 1347 1348 'PhabricatorOwnersPackageQuery' => 'applications/owners/query/PhabricatorOwnersPackageQuery.php', ··· 3358 3359 'PhabricatorOwnersEditController' => 'PhabricatorOwnersController', 3359 3360 'PhabricatorOwnersListController' => 'PhabricatorOwnersController', 3360 3361 'PhabricatorOwnersOwner' => 'PhabricatorOwnersDAO', 3362 + 'PhabricatorOwnersPHIDTypePackage' => 'PhabricatorPHIDType', 3361 3363 'PhabricatorOwnersPackage' => 3362 3364 array( 3363 3365 0 => 'PhabricatorOwnersDAO',
+1 -1
src/applications/audit/controller/PhabricatorAuditListController.php
··· 225 225 break; 226 226 case 'package': 227 227 case 'packagecommits': 228 - if ($type !== PhabricatorPHIDConstants::PHID_TYPE_OPKG) { 228 + if ($type !== PhabricatorOwnersPHIDTypePackage::TYPECONST) { 229 229 throw new Exception("PHID must be a package PHID!"); 230 230 } 231 231 break;
+45
src/applications/owners/phid/PhabricatorOwnersPHIDTypePackage.php
··· 1 + <?php 2 + 3 + final class PhabricatorOwnersPHIDTypePackage extends PhabricatorPHIDType { 4 + 5 + const TYPECONST = 'OPKG'; 6 + 7 + public function getTypeConstant() { 8 + return self::TYPECONST; 9 + } 10 + 11 + public function getTypeName() { 12 + return pht('Owners Package'); 13 + } 14 + 15 + public function newObject() { 16 + return new PhabricatorOwnersPackage(); 17 + } 18 + 19 + public function loadObjects( 20 + PhabricatorObjectQuery $query, 21 + array $phids) { 22 + 23 + return id(new PhabricatorOwnersPackageQuery()) 24 + ->setViewer($query->getViewer()) 25 + ->withPHIDs($phids) 26 + ->execute(); 27 + } 28 + 29 + public function loadHandles( 30 + PhabricatorHandleQuery $query, 31 + array $handles, 32 + array $objects) { 33 + 34 + foreach ($handles as $phid => $handle) { 35 + $package = $objects[$phid]; 36 + 37 + $name = $package->getName(); 38 + $id = $package->getID(); 39 + 40 + $handle->setName($name); 41 + $handle->setURI("/owners/package/{$id}/"); 42 + } 43 + } 44 + 45 + }
+14 -1
src/applications/owners/query/PhabricatorOwnersPackageQuery.php
··· 3 3 final class PhabricatorOwnersPackageQuery 4 4 extends PhabricatorCursorPagedPolicyAwareQuery { 5 5 6 + private $phids; 6 7 private $ownerPHIDs; 7 8 8 9 /** ··· 10 11 */ 11 12 public function withOwnerPHIDs(array $phids) { 12 13 $this->ownerPHIDs = $phids; 14 + return $this; 15 + } 16 + 17 + public function withPHIDs(array $phids) { 18 + $this->phids = $phids; 13 19 return $this; 14 20 } 15 21 ··· 39 45 id(new PhabricatorOwnersOwner())->getTableName()); 40 46 } 41 47 42 - return implode('', $joins); 48 + return implode(' ', $joins); 43 49 } 44 50 45 51 private function buildWhereClause(AphrontDatabaseConnection $conn_r) { 46 52 $where = array(); 53 + 54 + if ($this->phids) { 55 + $where[] = qsprintf( 56 + $conn_r, 57 + 'p.phid IN (%Ls)', 58 + $this->phids); 59 + } 47 60 48 61 if ($this->ownerPHIDs) { 49 62 $base_phids = $this->ownerPHIDs;
-1
src/applications/phid/PhabricatorPHIDConstants.php
··· 5 5 const PHID_TYPE_USER = 'USER'; 6 6 const PHID_TYPE_UNKNOWN = '????'; 7 7 const PHID_TYPE_MAGIC = '!!!!'; 8 - const PHID_TYPE_OPKG = 'OPKG'; 9 8 const PHID_TYPE_STRY = 'STRY'; 10 9 const PHID_TYPE_APRJ = 'APRJ'; 11 10 const PHID_TYPE_ACMT = 'ACMT';
-22
src/applications/phid/handle/PhabricatorObjectHandleData.php
··· 56 56 $phids); 57 57 return mpull($users, null, 'getPHID'); 58 58 59 - case PhabricatorPHIDConstants::PHID_TYPE_OPKG: 60 - $object = new PhabricatorOwnersPackage(); 61 - $packages = $object->loadAllWhere('phid in (%Ls)', $phids); 62 - return mpull($packages, null, 'getPHID'); 63 - 64 59 case PhabricatorPHIDConstants::PHID_TYPE_APRJ: 65 60 $project_dao = new PhabricatorRepositoryArcanistProject(); 66 61 $projects = $project_dao->loadAllWhere( ··· 222 217 $handle->setImageURI( 223 218 PhabricatorUser::getDefaultProfileImageURI()); 224 219 } 225 - } 226 - $handles[$phid] = $handle; 227 - } 228 - break; 229 - 230 - case PhabricatorPHIDConstants::PHID_TYPE_OPKG: 231 - foreach ($phids as $phid) { 232 - $handle = new PhabricatorObjectHandle(); 233 - $handle->setPHID($phid); 234 - $handle->setType($type); 235 - if (empty($objects[$phid])) { 236 - $handle->setName('Unknown Package'); 237 - } else { 238 - $package = $objects[$phid]; 239 - $handle->setName($package->getName()); 240 - $handle->setURI('/owners/package/'.$package->getID().'/'); 241 - $handle->setComplete(true); 242 220 } 243 221 $handles[$phid] = $handle; 244 222 }