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