PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.2.1
GiveWP – Donation Plugin and Fundraising Platform v2.2.1
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
92 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 if ( ! empty( $_POST['give_comment'] ) ) {
17 $comment_id = give_insert_donor_donation_comment(
18 $donation_id,
19 $donation_data['user_info']['donor_id'],
20 trim( $_POST['give_comment'] ), // We are sanitizing comment in Give_comment:add
21 array( 'comment_author_email' => $donation_data['user_info']['email'] )
22 );
23
24 update_comment_meta( $comment_id, '_give_anonymous_donation', $is_anonymous_donation );
25 Give()->donor_meta->update_meta( $donation_data['user_info']['donor_id'], '_give_has_comment', '1' );
26 }
27
28 give_update_meta( $donation_id, '_give_anonymous_donation', $is_anonymous_donation );
29 Give()->donor_meta->update_meta( $donation_data['user_info']['donor_id'], '_give_anonymous_donor', $is_anonymous_donation );
30 }
31
32 add_action( 'give_insert_payment', '__give_insert_donor_donation_comment', 10, 2 );
33
34
35 /**
36 * Validate donor comment
37 *
38 * @since 2.2.0
39 */
40 function __give_validate_donor_comment() {
41 // Check wp_check_comment_data_max_lengths for comment length validation.
42 if ( ! empty( $_POST['give_comment'] ) ) {
43 $max_lengths = wp_get_comment_fields_max_lengths();
44 $comment = give_clean( $_POST['give_comment'] );
45
46 if ( mb_strlen( $comment, '8bit' ) > $max_lengths['comment_content'] ) {
47 give_set_error( 'comment_content_column_length', __( 'Your comment is too long.', 'give' ) );
48 }
49 }
50 }
51 add_action( 'give_checkout_error_checks', '__give_validate_donor_comment', 10, 1 );
52
53
54 /**
55 * Update donor comment status when donation status update
56 *
57 * @since 2.2.0
58 *
59 * @param $donation_id
60 * @param $status
61 */
62 function __give_update_donor_donation_comment_status( $donation_id, $status ) {
63 $approve = absint( 'publish' === $status );
64
65 /* @var WP_Comment $note */
66 $donor_comment = give_get_donor_donation_comment( $donation_id, give_get_payment_donor_id( $donation_id ) );
67
68 if( $donor_comment instanceof WP_Comment ) {
69 wp_set_comment_status( $donor_comment->comment_ID, (string) $approve );
70 }
71 }
72
73 add_action( 'give_update_payment_status', '__give_update_donor_donation_comment_status', 10, 2 );
74
75 /**
76 * Remove donor comment when donation delete
77 *
78 * @since 2.2.0
79 *
80 * @param $donation_id
81 */
82 function __give_remove_donor_donation_comment( $donation_id ) {
83 /* @var WP_Comment $note */
84 $donor_comment = give_get_donor_donation_comment( $donation_id, give_get_payment_donor_id( $donation_id ) );
85
86 if( $donor_comment instanceof WP_Comment ) {
87 wp_delete_comment( $donor_comment->comment_ID );
88 }
89 }
90
91 add_action( 'give_payment_deleted', '__give_remove_donor_donation_comment', 10 );
92