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