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