@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.

at recaptime-dev/main 88 lines 2.2 kB view raw
1<?php 2 3final class PhortuneSubscriptionCart 4 extends PhortuneCartImplementation { 5 6 private $subscriptionPHID; 7 private $subscription; 8 9 public function setSubscriptionPHID($subscription_phid) { 10 $this->subscriptionPHID = $subscription_phid; 11 return $this; 12 } 13 14 public function getSubscriptionPHID() { 15 return $this->subscriptionPHID; 16 } 17 18 public function setSubscription(PhortuneSubscription $subscription) { 19 $this->subscription = $subscription; 20 return $this; 21 } 22 23 public function getSubscription() { 24 return $this->subscription; 25 } 26 27 public function getName(PhortuneCart $cart) { 28 return $this->getSubscription()->getCartName($cart); 29 } 30 31 public function willCreateCart( 32 PhabricatorUser $viewer, 33 PhortuneCart $cart) { 34 35 $subscription = $this->getSubscription(); 36 if (!$subscription) { 37 throw new PhutilInvalidStateException('setSubscription'); 38 } 39 40 $cart->setMetadataValue('subscriptionPHID', $subscription->getPHID()); 41 } 42 43 public function loadImplementationsForCarts( 44 PhabricatorUser $viewer, 45 array $carts) { 46 47 $phids = array(); 48 foreach ($carts as $cart) { 49 $phids[] = $cart->getMetadataValue('subscriptionPHID'); 50 } 51 52 $subscriptions = id(new PhortuneSubscriptionQuery()) 53 ->setViewer($viewer) 54 ->withPHIDs($phids) 55 ->execute(); 56 $subscriptions = mpull($subscriptions, null, 'getPHID'); 57 58 $objects = array(); 59 foreach ($carts as $key => $cart) { 60 $subscription_phid = $cart->getMetadataValue('subscriptionPHID'); 61 $subscription = idx($subscriptions, $subscription_phid); 62 if (!$subscription) { 63 continue; 64 } 65 66 $object = id(new PhortuneSubscriptionCart()) 67 ->setSubscriptionPHID($subscription_phid) 68 ->setSubscription($subscription); 69 70 $objects[$key] = $object; 71 } 72 73 return $objects; 74 } 75 76 public function getCancelURI(PhortuneCart $cart) { 77 return $this->getSubscription()->getURI(); 78 } 79 80 public function getDoneURI(PhortuneCart $cart) { 81 return $this->getSubscription()->getURI(); 82 } 83 84 public function getDoneActionName(PhortuneCart $cart) { 85 return pht('Return to Subscription'); 86 } 87 88}