PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.19.7
GiveWP – Donation Plugin and Fundraising Platform v2.19.7
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / Framework / PaymentGateways / DonationSummary.php
give / src / Framework / PaymentGateways Last commit date
Actions 4 years ago CommandHandlers 4 years ago Commands 4 years ago Contracts 4 years ago DataTransferObjects 4 years ago Exceptions 4 years ago Log 4 years ago Routes 4 years ago Traits 4 years ago DonationSummary.php 4 years ago PaymentGateway.php 4 years ago PaymentGatewayRegister.php 4 years ago
DonationSummary.php
141 lines
1 <?php
2
3 namespace Give\Framework\PaymentGateways;
4
5 use Give\PaymentGateways\DataTransferObjects\GatewayPaymentData;
6
7 /**
8 * @since 2.19.0
9 */
10 class DonationSummary
11 {
12 /** @var int */
13 protected $length = 255;
14
15 /** @var GatewayPaymentData */
16 protected $paymentData;
17
18 /**
19 * @since 2.19.0
20 *
21 * @param GatewayPaymentData $paymentData
22 */
23 public function __construct(GatewayPaymentData $paymentData)
24 {
25 $this->paymentData = $paymentData;
26 }
27
28 /**
29 * @since 2.19.0
30 *
31 * @param int $length
32 */
33 public function setLength($length)
34 {
35 $this->length = $length;
36 }
37
38 /**
39 * @since 2.19.0
40 *
41 * @return string
42 */
43 public function getSummaryWithDonor()
44 {
45 return $this->trimAndFilter(
46 implode(' - ', [
47 $this->getSummary(),
48 $this->getDonorLabel(),
49 ])
50 );
51 }
52
53 /**
54 * @since 2.19.0
55 *
56 * @return string
57 */
58 public function getSummary()
59 {
60 return $this->trimAndFilter(
61 implode(
62 ': ',
63 array_filter([
64 $this->getLabel(),
65 $this->getPriceLabel(),
66 ])
67 )
68 );
69 }
70
71 /**
72 * @since 2.19.0
73 *
74 * @param string $property
75 *
76 * @return mixed|void
77 */
78 protected function get($property)
79 {
80 if (property_exists($this->paymentData, $property)) {
81 return $this->paymentData->$property;
82 }
83 }
84
85 /**
86 * @since 2.19.0
87 *
88 * @return string
89 */
90 protected function getLabel()
91 {
92 $formId = give_get_payment_form_id($this->get('donationId'));
93 $formTitle = get_the_title($formId);
94 return $formTitle ?: sprintf(__('Donation Form ID: %d', 'give'), $formId);
95 }
96
97 /**
98 * @since 2.19.0
99 * @return string
100 */
101 protected function getPriceLabel()
102 {
103 $formId = give_get_payment_form_id($this->get('donationId'));
104 $priceId = $this->get('priceId');
105
106 return is_numeric($priceId)
107 ? give_get_price_option_name($formId, $this->get('priceId'))
108 : '';
109 }
110
111 /**
112 * @since 2.19.0
113 *
114 * @return string
115 */
116 protected function getDonorLabel()
117 {
118 return sprintf(
119 '%s %s (%s)',
120 $this->get('donorInfo')->firstName,
121 $this->get('donorInfo')->lastName,
122 $this->get('donorInfo')->email
123 );
124 }
125
126 /**
127 * @since 2.19.0
128 *
129 * @param string $text
130 *
131 * @return string
132 */
133 protected function trimAndFilter($text)
134 {
135 /**
136 * @since 1.8.12
137 */
138 return apply_filters('give_payment_gateway_donation_summary', substr($text, 0, $this->length));
139 }
140 }
141