PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.13.3
GiveWP – Donation Plugin and Fundraising Platform v2.13.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 / gateways / actions.php
give / includes / gateways Last commit date
paypal 5 years ago stripe 4 years ago actions.php 6 years ago functions.php 5 years ago manual.php 6 years ago offline-donations.php 6 years ago
actions.php
153 lines
1 <?php
2 /**
3 * Gateway Actions
4 *
5 * @package Give
6 * @subpackage Gateways
7 * @copyright Copyright (c) 2016, GiveWP
8 * @license https://opensource.org/licenses/gpl-license GNU Public License
9 * @since 1.0
10 */
11
12 // Exit if accessed directly.
13 if ( ! defined( 'ABSPATH' ) ) {
14 exit;
15 }
16
17 /**
18 * Processes gateway select on checkout. Only for users without ajax / javascript
19 *
20 * @since 1.0
21 *
22 * @param $data
23 */
24 function give_process_gateway_select( $data ) {
25 if ( isset( $_POST['gateway_submit'] ) ) {
26 wp_redirect( esc_url( add_query_arg( 'payment-mode', $_POST['payment-mode'] ) ) );
27 exit;
28 }
29 }
30
31 add_action( 'give_gateway_select', 'give_process_gateway_select' );
32
33 /**
34 * Loads a payment gateway via AJAX.
35 *
36 * @since 1.0
37 *
38 * @return void
39 */
40 function give_load_ajax_gateway() {
41
42 $post_data = give_clean( $_POST ); // WPCS: input var ok, CSRF ok.
43
44 if (
45 ! isset( $post_data['nonce'] )
46 || ! give_verify_donation_form_nonce( $post_data['nonce'], $post_data['give_form_id'] )
47 ) {
48 Give_Notices::print_frontend_notice( __( 'We\'re unable to recognize your session. Please refresh the screen to try again; otherwise contact your website administrator for assistance.', 'give' ), true, 'error' );
49 exit();
50
51 } elseif ( isset( $post_data['give_payment_mode'] ) ) {
52
53 $form_id_prefix = ! empty( $post_data['give_form_id_prefix'] ) ? $post_data['give_form_id_prefix'] : '';
54
55 $args = array(
56 'id_prefix' => $form_id_prefix,
57 );
58
59 /**
60 * Fire to render donation form.
61 *
62 * @since 1.7
63 */
64 do_action( 'give_donation_form', $post_data['give_form_id'], $args );
65
66 exit();
67 }
68 }
69
70 add_action( 'wp_ajax_give_load_gateway', 'give_load_ajax_gateway' );
71 add_action( 'wp_ajax_nopriv_give_load_gateway', 'give_load_ajax_gateway' );
72
73 /**
74 * Create wp nonce using Ajax call.
75 *
76 * Use give_donation_form_nonce() js fn to create nonce.
77 *
78 * @since 2.0
79 *
80 * @return void
81 */
82 function give_donation_form_nonce() {
83 if ( isset( $_POST['give_form_id'] ) ) {
84
85 // Get donation form id.
86 $form_id = is_numeric( $_POST['give_form_id'] ) ? absint( $_POST['give_form_id'] ) : 0;
87
88 // Send nonce json data.
89 wp_send_json_success( wp_create_nonce( "give_donation_form_nonce_{$form_id}" ) );
90 }
91 }
92
93 add_action( 'wp_ajax_give_donation_form_nonce', 'give_donation_form_nonce' );
94 add_action( 'wp_ajax_nopriv_give_donation_form_nonce', 'give_donation_form_nonce' );
95
96
97 /**
98 * Create all nonce of donation form using Ajax call.
99 * Note: only for internal use
100 *
101 * @since 2.2.0
102 *
103 * @return void
104 */
105 function __give_donation_form_reset_all_nonce() {
106 if ( isset( $_POST['give_form_id'] ) ) {
107
108 // Get donation form id.
109 $form_id = is_numeric( $_POST['give_form_id'] ) ? absint( $_POST['give_form_id'] ) : 0;
110
111 $data = array(
112 'give_form_hash' => wp_create_nonce( "give_donation_form_nonce_{$form_id}" ),
113 'give_form_user_register_hash' => wp_create_nonce( "give_form_create_user_nonce_{$form_id}" ),
114 );
115
116 /**
117 * Filter the ajax request data
118 *
119 * @since 2.2.0
120 */
121 $data = apply_filters( 'give_donation_form_reset_all_nonce_data', $data );
122
123 // Send nonce json data.
124 wp_send_json_success( $data );
125 }
126
127 wp_send_json_error();
128 }
129
130 add_action( 'wp_ajax_give_donation_form_reset_all_nonce', '__give_donation_form_reset_all_nonce' );
131 add_action( 'wp_ajax_nopriv_give_donation_form_reset_all_nonce', '__give_donation_form_reset_all_nonce' );
132
133 /**
134 * Sets an error within the donation form if no gateways are enabled.
135 *
136 * @todo: we can deprecate this function in future because gateways will not empty if get via Give API.
137 *
138 * @since 1.0
139 *
140 * @return void
141 */
142 function give_no_gateway_error() {
143 $gateways = give_get_enabled_payment_gateways();
144
145 if ( empty( $gateways ) ) {
146 give_set_error( 'no_gateways', esc_html__( 'You must enable a payment gateway to use Give.', 'give' ) );
147 } else {
148 give_unset_error( 'no_gateways' );
149 }
150 }
151
152 add_action( 'init', 'give_no_gateway_error' );
153