PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.2
GiveWP – Donation Plugin and Fundraising Platform v4.16.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 / includes / donors / actions.php
give / includes / donors Last commit date
actions.php 9 months ago backward-compatibility.php 9 months ago class-give-donor-stats.php 6 years ago class-give-donor-wall.php 6 months ago class-give-donors-query.php 5 months ago frontend-donor-functions.php 3 years ago
actions.php
111 lines
1 <?php
2
3 use Give\Framework\PaymentGateways\PaymentGatewayRegister;
4
5 /**
6 * Insert donor comment to donation.
7 *
8 * @since 4.9.0 rename function - PHP 8 compatibility
9 * @since 2.21.0 remove anonymous
10 * @since 2.2.0
11 *
12 * @param int $donation_id
13 * @param array $donation_data
14 */
15 function _give_insert_donor_donation_comment( $donation_id, $donation_data ) {
16 if ( ! empty( $_POST['give_comment'] ) ) {
17 $donation = give()->donations->getById($donation_id);
18 $donation->comment = sanitize_textarea_field(trim($_POST['give_comment']));
19 $donation->save();
20 }
21 }
22
23 add_action( 'give_insert_payment', '_give_insert_donor_donation_comment', 10, 2 );
24
25
26
27 /**
28 * Validate donor comment
29 *
30 * @since 4.9.0 rename function - PHP 8 compatibility
31 * @since 2.2.0
32 */
33 function give_validate_donor_comment() {
34 // Check wp_check_comment_data_max_lengths for comment length validation.
35 if ( ! empty( $_POST['give_comment'] ) ) {
36 $max_lengths = wp_get_comment_fields_max_lengths();
37 $comment = give_clean( $_POST['give_comment'] );
38
39 if ( mb_strlen( $comment, '8bit' ) > $max_lengths['comment_content'] ) {
40 give_set_error( 'comment_content_column_length', __( 'Your comment is too long.', 'give' ) );
41 }
42 }
43 }
44 add_action( 'give_checkout_error_checks', 'give_validate_donor_comment', 10, 1 );
45
46
47 /**
48 * Update donor comment status when donation status update
49 *
50 * @since 4.9.0 rename function - PHP 8 compatibility
51 * @since 2.2.0
52 *
53 * @param $donation_id
54 * @param $status
55 */
56 function give_update_donor_donation_comment_status( $donation_id, $status ) {
57 $approve = absint( 'publish' === $status );
58
59 /* @var WP_Comment $note */
60 $donor_comment = give_get_donor_donation_comment( $donation_id, give_get_payment_donor_id( $donation_id ) );
61
62 if ( $donor_comment instanceof WP_Comment ) {
63 wp_set_comment_status( $donor_comment->comment_ID, (string) $approve );
64 }
65 }
66
67 add_action( 'give_update_payment_status', 'give_update_donor_donation_comment_status', 10, 2 );
68
69 /**
70 * Remove donor comment when donation delete
71 *
72 * @since 4.9.0 rename function - PHP 8 compatibility
73 * @since 2.2.0
74 *
75 * @param $donation_id
76 */
77 function give_remove_donor_donation_comment( $donation_id ) {
78 /* @var WP_Comment $note */
79 $donor_comment = give_get_donor_donation_comment( $donation_id, give_get_payment_donor_id( $donation_id ) );
80
81 if ( $donor_comment instanceof WP_Comment ) {
82 wp_delete_comment( $donor_comment->comment_ID );
83 }
84 }
85
86 add_action( 'give_payment_deleted', 'give_remove_donor_donation_comment', 10 );
87
88
89 /**
90 * Update anonymous donation for legacy gateways
91 *
92 * @since 2.21.3
93 *
94 * @retrun void
95 */
96 function giveUpdateAnonymousDonationForLegacyGateways(int $donationId)
97 {
98 $gatewayId = give_get_meta($donationId,'_give_payment_gateway', true);
99
100 /** @var PaymentGatewayRegister $registrar */
101 $registrar = give(PaymentGatewayRegister::class);
102
103 if (!$registrar->hasPaymentGateway($gatewayId)){
104 $isAnonymousDonation = isset( $_POST['give_anonymous_donation'] ) ? absint( give_clean($_POST['give_anonymous_donation']) ) : 0;
105
106 give_update_meta( $donationId, '_give_anonymous_donation', $isAnonymousDonation );
107 }
108 }
109
110 add_action('give_insert_payment', 'giveUpdateAnonymousDonationForLegacyGateways');
111