PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.27.2
GiveWP – Donation Plugin and Fundraising Platform v2.27.2
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 / Form / LegacyConsumer / Commands / SetupFieldReceipt.php
give / src / Form / LegacyConsumer / Commands Last commit date
DeprecateOldTemplateHook.php 4 years ago HookCommandInterface.php 4 years ago SetupFieldConfirmation.php 3 years ago SetupFieldEmailTag.php 4 years ago SetupFieldPersistence.php 4 years ago SetupFieldReceipt.php 3 years ago SetupFieldValidation.php 4 years ago SetupNewTemplateHook.php 4 years ago
SetupFieldReceipt.php
111 lines
1 <?php
2
3 namespace Give\Form\LegacyConsumer\Commands;
4
5 use Give\Framework\FieldsAPI\Field;
6 use Give\Framework\FieldsAPI\Group;
7 use Give\Receipt\DonationReceipt;
8
9 /**
10 * @since 2.10.2
11 */
12 class SetupFieldReceipt
13 {
14 /**
15 * @var DonationReceipt
16 */
17 protected $receipt;
18
19 /**
20 * @since 2.10.2
21 *
22 * @param DonationReceipt $receipt
23 */
24 public function __construct(DonationReceipt $receipt)
25 {
26 $this->receipt = $receipt;
27 }
28
29 /**
30 * @since 2.10.2
31 *
32 * @param string $hook
33 *
34 * @return void
35 */
36 public function __invoke($hook)
37 {
38 $formID = give_get_payment_meta($this->receipt->donationId, '_give_payment_form_id');
39
40 $collection = Group::make($hook);
41 do_action("give_fields_{$hook}", $collection, $formID);
42
43 $collection->walkFields([$this, 'apply']);
44 }
45
46 /**
47 * @since 2.10.2
48 *
49 * @param Field $field
50 *
51 * @return void
52 */
53 public function apply(Field $field)
54 {
55 if ( ! $field->shouldShowInReceipt()) {
56 return;
57 }
58
59 if ($field->shouldStoreAsDonorMeta()) {
60 $this->addDonorLineItem($field);
61 } else {
62 $this->addAdditionalLineItems($field);
63 }
64 }
65
66 /**
67 * @since 2.10.2
68 *
69 * @param Field $field
70 *
71 * @return void
72 */
73 protected function addDonorLineItem(Field $field)
74 {
75 $donorID = give_get_payment_meta($this->receipt->donationId, '_give_payment_donor_id');
76 if ($value = Give()->donor_meta->get_meta($donorID, $field->getName(), true)) {
77 $this->receipt
78 ->getSections()[DonationReceipt::DONORSECTIONID]
79 ->addLineItem(
80 [
81 'id' => $field->getName(),
82 'label' => $field->getLabel(),
83 'value' => $value,
84 ]
85 );
86 }
87 }
88
89 /**
90 * @since 2.10.2
91 *
92 * @param Field $field
93 *
94 * @return void
95 */
96 protected function addAdditionalLineItems(Field $field)
97 {
98 if ($value = give_get_payment_meta($this->receipt->donationId, $field->getName())) {
99 $this->receipt
100 ->getSections()[DonationReceipt::ADDITIONALINFORMATIONSECTIONID]
101 ->addLineItem(
102 [
103 'id' => $field->getName(),
104 'label' => $field->getLabel(),
105 'value' => $value,
106 ]
107 );
108 }
109 }
110 }
111