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