PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.2.4
GiveWP – Donation Plugin and Fundraising Platform v2.2.4
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
actions.php 7 years ago functions.php 8 years ago manual.php 8 years ago offline-donations.php 7 years ago paypal-standard.php 7 years ago
actions.php
146 lines
1 <?php
2 /**
3 * Gateway Actions
4 *
5 * @package Give
6 * @subpackage Gateways
7 * @copyright Copyright (c) 2016, WordImpress
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 ( isset( $post_data['give_payment_mode'] ) ) {
45
46 $form_id_prefix = ! empty( $post_data['give_form_id_prefix'] ) ? $post_data['give_form_id_prefix'] : '';
47
48 $args = array(
49 'id_prefix' => $form_id_prefix,
50 );
51
52 /**
53 * Fire to render donation form.
54 *
55 * @since 1.7
56 */
57 do_action( 'give_donation_form', $post_data['give_form_id'], $args );
58
59 exit();
60 }
61 }
62
63 add_action( 'wp_ajax_give_load_gateway', 'give_load_ajax_gateway' );
64 add_action( 'wp_ajax_nopriv_give_load_gateway', 'give_load_ajax_gateway' );
65
66 /**
67 * Create wp nonce using Ajax call.
68 *
69 * Use give_donation_form_nonce() js fn to create nonce.
70 *
71 * @since 2.0
72 *
73 * @return void
74 */
75 function give_donation_form_nonce() {
76 if ( isset( $_POST['give_form_id'] ) ) {
77
78 // Get donation form id.
79 $form_id = is_numeric( $_POST['give_form_id'] ) ? absint( $_POST['give_form_id'] ) : 0;
80
81 // Send nonce json data.
82 wp_send_json_success( wp_create_nonce( "give_donation_form_nonce_{$form_id}" ) );
83 }
84 }
85
86 add_action( 'wp_ajax_give_donation_form_nonce', 'give_donation_form_nonce' );
87 add_action( 'wp_ajax_nopriv_give_donation_form_nonce', 'give_donation_form_nonce' );
88
89
90 /**
91 * Create all nonce of donation form using Ajax call.
92 * Note: only for internal use
93 *
94 * @since 2.2.0
95 *
96 * @return void
97 */
98 function __give_donation_form_reset_all_nonce() {
99 if ( isset( $_POST['give_form_id'] ) ) {
100
101 // Get donation form id.
102 $form_id = is_numeric( $_POST['give_form_id'] ) ? absint( $_POST['give_form_id'] ) : 0;
103
104 $data = array(
105 'give_form_hash' => wp_create_nonce( "give_donation_form_nonce_{$form_id}" ),
106 'give_form_user_register_hash' => wp_create_nonce( "give_form_create_user_nonce_{$form_id}" )
107 );
108
109 /**
110 * Filter the ajax request data
111 *
112 * @since 2.2.0
113 *
114 */
115 $data = apply_filters( 'give_donation_form_reset_all_nonce_data', $data );
116
117 // Send nonce json data.
118 wp_send_json_success( $data );
119 }
120
121 wp_send_json_error();
122 }
123
124 add_action( 'wp_ajax_give_donation_form_reset_all_nonce', '__give_donation_form_reset_all_nonce' );
125 add_action( 'wp_ajax_nopriv_give_donation_form_reset_all_nonce', '__give_donation_form_reset_all_nonce' );
126
127 /**
128 * Sets an error within the donation form if no gateways are enabled.
129 * @todo: we can deprecate this function in future because gateways will not empty if get via Give API.
130 *
131 * @since 1.0
132 *
133 * @return void
134 */
135 function give_no_gateway_error() {
136 $gateways = give_get_enabled_payment_gateways();
137
138 if ( empty( $gateways ) ) {
139 give_set_error( 'no_gateways', esc_html__( 'You must enable a payment gateway to use Give.', 'give' ) );
140 } else {
141 give_unset_error( 'no_gateways' );
142 }
143 }
144
145 add_action( 'init', 'give_no_gateway_error' );
146