PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.22.3
GiveWP – Donation Plugin and Fundraising Platform v2.22.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 3 years ago Contracts 3 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 3 years ago PaymentGatewayRegister.php 4 years ago SubscriptionModule.php 4 years ago
DonationSummary.php
122 lines
1 <?php
2
3 namespace Give\Framework\PaymentGateways;
4
5 use Give\Donations\Models\Donation;
6
7 /**
8 * @since 2.19.0
9 */
10 class DonationSummary
11 {
12 /** @var int */
13 protected $length = 255;
14
15 /** @var Donation */
16 protected $donation;
17
18 /**
19 * @since 2.19.0
20 */
21 public function __construct(Donation $donation)
22 {
23 $this->donation = $donation;
24 }
25
26 /**
27 * @since 2.19.0
28 *
29 * @param int $length
30 */
31 public function setLength(int $length)
32 {
33 $this->length = $length;
34 }
35
36 /**
37 * @since 2.19.0
38 *
39 * @return string
40 */
41 public function getSummaryWithDonor(): string
42 {
43 return $this->trimAndFilter(
44 implode(' - ', [
45 $this->getSummary(),
46 $this->getDonorLabel(),
47 ])
48 );
49 }
50
51 /**
52 * @since 2.19.0
53 *
54 * @return string
55 */
56 public function getSummary(): string
57 {
58 return $this->trimAndFilter(
59 implode(
60 ': ',
61 array_filter([
62 $this->getLabel(),
63 $this->getPriceLabel(),
64 ])
65 )
66 );
67 }
68
69 /**
70 * @since 2.19.0
71 *
72 * @return string
73 */
74 protected function getLabel(): string
75 {
76 $formId = give_get_payment_form_id($this->donation->id);
77 $formTitle = get_the_title($formId);
78 return $formTitle ?: sprintf(__('Donation Form ID: %d', 'give'), $formId);
79 }
80
81 /**
82 * @since 2.19.0
83 * @return string
84 */
85 protected function getPriceLabel(): string
86 {
87 $priceId = $this->donation->levelId;
88
89 return is_numeric($priceId)
90 ? give_get_price_option_name($this->donation->formId, $this->donation->levelId)
91 : '';
92 }
93
94 /**
95 * @since 2.19.0
96 */
97 protected function getDonorLabel(): string
98 {
99 return sprintf(
100 '%s %s (%s)',
101 $this->donation->firstName,
102 $this->donation->lastName,
103 $this->donation->email
104 );
105 }
106
107 /**
108 * @since 2.19.0
109 *
110 * @param string $text
111 *
112 * @return string
113 */
114 protected function trimAndFilter(string $text): string
115 {
116 /**
117 * @since 1.8.12
118 */
119 return apply_filters('give_payment_gateway_donation_summary', substr($text, 0, $this->length));
120 }
121 }
122