PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.19.2
GiveWP – Donation Plugin and Fundraising Platform v2.19.2
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
121 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 * @param GatewayPaymentData $paymentData
21 */
22 public function __construct( GatewayPaymentData $paymentData )
23 {
24 $this->paymentData = $paymentData;
25 }
26
27 /**
28 * @since 2.19.0
29 * @param $length
30 */
31 public function setLength( $length )
32 {
33 $this->length = $length;
34 }
35
36 /**
37 * @since 2.19.0
38 * @return string
39 */
40 public function getSummaryWithDonor()
41 {
42 return $this->trimAndFilter(implode(' - ', [
43 $this->getSummary(),
44 $this->getDonorLabel(),
45 ]));
46 }
47
48 /**
49 * @since 2.19.0
50 * @return string
51 */
52 public function getSummary()
53 {
54 return $this->trimAndFilter(implode( ': ', array_filter([
55 $this->getLabel(),
56 $this->getPriceLabel(),
57 ])));
58 }
59
60 /**
61 * @since 2.19.0
62 * @param $property
63 * @return mixed|void
64 */
65 protected function get( $property )
66 {
67 if( property_exists( $this->paymentData, $property ) ) {
68 return $this->paymentData->$property;
69 }
70 }
71
72 /**
73 * @since 2.19.0
74 * @return string
75 */
76 protected function getLabel()
77 {
78 $formId = give_get_payment_form_id( $this->get( 'donationId' ) );
79 return wp_sprintf( __( 'Donation Form ID: %d', 'give' ), $formId );
80 }
81
82 /**
83 * @since 2.19.0
84 * @return string
85 */
86 protected function getPriceLabel()
87 {
88 $formId = give_get_payment_form_id( $this->get( 'donationId' ) );
89 return $this->get( 'priceId' )
90 ? give_get_price_option_name( $formId, $this->get( 'priceId' ) )
91 : '';
92 }
93
94 /**
95 * @since 2.19.0
96 * @return string
97 */
98 protected function getDonorLabel()
99 {
100 return sprintf(
101 '%s %s (%s)',
102 $this->get( 'donorInfo' )->firstName,
103 $this->get( 'donorInfo' )->lastName,
104 $this->get( 'donorInfo' )->email
105 );
106 }
107
108 /**
109 * @since 2.19.0
110 * @param string $text
111 * @return string
112 */
113 protected function trimAndFilter( $text )
114 {
115 /**
116 * @since 1.8.12
117 */
118 return apply_filters( 'give_payment_gateway_donation_summary', substr( $text, 0, $this->length ) );
119 }
120 }
121