Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/paid-memberships-pro/includes/services.php
Keine Baseline-Datei – Diff nur gegen leer.
1
-
1
+
<?php
2
+
/*
3
+
Loading a service?
4
+
*/
5
+
/*
6
+
Note: The applydiscountcode goes through the site_url() instead of admin-ajax to avoid HTTP/HTTPS issues.
7
+
*/
8
+
if(isset($_REQUEST['action']) && $_REQUEST['action'] == "applydiscountcode")
9
+
{
10
+
function pmpro_applydiscountcode_init()
11
+
{
12
+
require_once(dirname(__FILE__) . "/../services/applydiscountcode.php");
13
+
exit;
14
+
}
15
+
add_action("init", "pmpro_applydiscountcode_init", 11);
16
+
}
17
+
function pmpro_wp_ajax_authnet_silent_post()
18
+
{
19
+
require_once(dirname(__FILE__) . "/../services/authnet-silent-post.php");
20
+
exit;
21
+
}
22
+
add_action('wp_ajax_nopriv_authnet_silent_post', 'pmpro_wp_ajax_authnet_silent_post');
23
+
add_action('wp_ajax_authnet_silent_post', 'pmpro_wp_ajax_authnet_silent_post');
24
+
function pmpro_wp_ajax_getfile()
25
+
{
26
+
require_once(dirname(__FILE__) . "/../services/getfile.php");
27
+
exit;
28
+
}
29
+
add_action('wp_ajax_nopriv_getfile', 'pmpro_wp_ajax_getfile');
30
+
add_action('wp_ajax_getfile', 'pmpro_wp_ajax_getfile');
31
+
function pmpro_wp_ajax_ipnhandler()
32
+
{
33
+
require_once(dirname(__FILE__) . "/../services/ipnhandler.php");
34
+
exit;
35
+
}
36
+
add_action('wp_ajax_nopriv_ipnhandler', 'pmpro_wp_ajax_ipnhandler');
37
+
add_action('wp_ajax_ipnhandler', 'pmpro_wp_ajax_ipnhandler');
38
+
function pmpro_wp_ajax_stripe_webhook()
39
+
{
40
+
require_once(dirname(__FILE__) . "/../services/stripe-webhook.php");
41
+
exit;
42
+
}
43
+
add_action('wp_ajax_nopriv_stripe_webhook', 'pmpro_wp_ajax_stripe_webhook');
44
+
add_action('wp_ajax_stripe_webhook', 'pmpro_wp_ajax_stripe_webhook');
45
+
function pmpro_wp_ajax_braintree_webhook()
46
+
{
47
+
require_once(dirname(__FILE__) . "/../services/braintree-webhook.php");
48
+
exit;
49
+
}
50
+
add_action('wp_ajax_nopriv_braintree_webhook', 'pmpro_wp_ajax_braintree_webhook');
51
+
add_action('wp_ajax_braintree_webhook', 'pmpro_wp_ajax_braintree_webhook');
52
+
function pmpro_wp_ajax_twocheckout_ins()
53
+
{
54
+
require_once(dirname(__FILE__) . "/../services/twocheckout-ins.php");
55
+
exit;
56
+
}
57
+
add_action('wp_ajax_nopriv_twocheckout-ins', 'pmpro_wp_ajax_twocheckout_ins');
58
+
add_action('wp_ajax_twocheckout-ins', 'pmpro_wp_ajax_twocheckout_ins');
59
+
function pmpro_wp_ajax_memberlist_csv()
60
+
{
61
+
require_once(dirname(__FILE__) . "/../adminpages/memberslist-csv.php");
62
+
exit;
63
+
}
64
+
add_action('wp_ajax_memberslist_csv', 'pmpro_wp_ajax_memberlist_csv');
65
+
function pmpro_wp_ajax_orders_csv()
66
+
{
67
+
require_once(dirname(__FILE__) . "/../adminpages/orders-csv.php");
68
+
exit;
69
+
}
70
+
add_action('wp_ajax_orders_csv', 'pmpro_wp_ajax_orders_csv');
71
+
72
+
73
+
/**
74
+
* Handles the Visits, Views and Logins Export
75
+
*/
76
+
function pmpro_wp_ajax_login_report_csv() {
77
+
require_once(dirname(__FILE__) . "/../adminpages/login-csv.php");
78
+
exit;
79
+
}
80
+
add_action('wp_ajax_login_report_csv', 'pmpro_wp_ajax_login_report_csv');
81
+
82
+
/**
83
+
* Handles the Sales Export
84
+
*/
85
+
function pmpro_wp_ajax_sales_report_csv() {
86
+
require_once(dirname(__FILE__) . "/../adminpages/sales-csv.php");
87
+
exit;
88
+
}
89
+
add_action('wp_ajax_sales_report_csv', 'pmpro_wp_ajax_sales_report_csv');
90
+
91
+
/**
92
+
* Handles the Membership Stats Export
93
+
*/
94
+
function pmpro_wp_ajax_membership_stats_csv() {
95
+
require_once(dirname(__FILE__) . "/../adminpages/memberships-csv.php");
96
+
exit;
97
+
}
98
+
add_action('wp_ajax_membership_stats_csv', 'pmpro_wp_ajax_membership_stats_csv');
99
+
100
+
/**
101
+
* Load the Orders print view.
102
+
*
103
+
* @since 1.8.6
104
+
*/
105
+
function pmpro_orders_print_view() {
106
+
require_once(dirname(__FILE__) . "/../adminpages/orders-print.php");
107
+
exit;
108
+
}
109
+
add_action('wp_ajax_pmpro_orders_print_view', 'pmpro_orders_print_view');
110
+
111
+
/**
112
+
* Get order JSON.
113
+
*
114
+
* @since 1.8.6
115
+
* @since 2.9.10 - Only returns a subset of data. Only email is really used.
116
+
*/
117
+
function pmpro_get_order_json() {
118
+
// only admins can get this
119
+
if ( ! function_exists( 'current_user_can' ) || ( ! current_user_can( 'manage_options' ) && ! current_user_can( 'pmpro_orders' ) ) ) {
120
+
die( esc_html__( 'You do not have permissions to perform this action.', 'paid-memberships-pro' ) );
121
+
}
122
+
123
+
$order_id = intval( $_REQUEST['order_id'] );
124
+
$order = new MemberOrder($order_id);
125
+
$user = get_userdata($order->user_id);
126
+
127
+
$r = array(
128
+
'id' => (int)$order->id,
129
+
'user_id' => (int)$order->user_id,
130
+
'membership_id' => (int)$order->membership_id,
131
+
'code' => esc_html( $order->code ),
132
+
'Email' => sanitize_email( empty( $user->user_email ) ? '' : $user->user_email ),
133
+
);
134
+
135
+
echo wp_json_encode($r);
136
+
exit;
137
+
}
138
+
add_action('wp_ajax_pmpro_get_order_json', 'pmpro_get_order_json');
139
+
140
+
function pmpro_update_level_order() {
141
+
// only admins can get this
142
+
if ( ! function_exists( 'current_user_can' ) || ( ! current_user_can( 'manage_options' ) && ! current_user_can( 'pmpro_membershiplevels' ) ) ) {
143
+
die( esc_html__( 'You do not have permissions to perform this action.', 'paid-memberships-pro' ) );
144
+
}
145
+
146
+
// Check the nonce.
147
+
if ( ! wp_verify_nonce( sanitize_key( $_REQUEST['nonce'] ), 'pmpro_update_level_order' ) ) {
148
+
die( esc_html__( 'You do not have permissions to perform this action.', 'paid-memberships-pro' ) );
149
+
}
150
+
151
+
$level_order = null;
152
+
153
+
if ( isset( $_REQUEST['level_order'] ) && is_array( $_REQUEST['level_order'] ) ) {
154
+
$level_order = array_map( 'intval', $_REQUEST['level_order'] );
155
+
$level_order = implode(',', $level_order );
156
+
} else if ( isset( $_REQUEST['level_order'] ) ) {
157
+
$level_order = sanitize_text_field( $_REQUEST['level_order'] );
158
+
}
159
+
160
+
echo esc_html( update_option('pmpro_level_order', $level_order) );
161
+
exit;
162
+
}
163
+
add_action('wp_ajax_pmpro_update_level_order', 'pmpro_update_level_order');
164
+
165
+
function pmpro_update_level_group_order() {
166
+
// only admins can get this
167
+
if ( ! function_exists( 'current_user_can' ) || ( ! current_user_can( 'manage_options' ) && ! current_user_can( 'pmpro_membershiplevels' ) ) ) {
168
+
die( esc_html__( 'You do not have permissions to perform this action.', 'paid-memberships-pro' ) );
169
+
}
170
+
171
+
// Check the nonce.
172
+
if ( ! wp_verify_nonce( sanitize_key( $_REQUEST['nonce'] ), 'pmpro_update_level_group_order' ) ) {
173
+
die( esc_html__( 'You do not have permissions to perform this action.', 'paid-memberships-pro' ) );
174
+
}
175
+
176
+
$level_group_order = null;
177
+
178
+
if ( isset( $_REQUEST['level_group_order'] ) && is_array( $_REQUEST['level_group_order'] ) ) {
179
+
$level_group_order = array_map( 'intval', $_REQUEST['level_group_order'] );
180
+
} else if ( isset( $_REQUEST['level_group_order'] ) ) {
181
+
$level_group_order = explode(',', sanitize_text_field( $_REQUEST['level_group_order'] ) );
182
+
}
183
+
184
+
$count = 1;
185
+
foreach ( $level_group_order as $level_group_id ) {
186
+
$level_group = pmpro_get_level_group( $level_group_id );
187
+
if ( ! empty( $level_group ) ) {
188
+
pmpro_edit_level_group( $level_group_id, $level_group->name, $level_group->allow_multiple_selections, $count );
189
+
}
190
+
$count++;
191
+
}
192
+
193
+
exit;
194
+
}
195
+
add_action('wp_ajax_pmpro_update_level_group_order', 'pmpro_update_level_group_order');
196
+
197
+
// User fields AJAX.
198
+
/**
199
+
* Callback to draw a field group.
200
+
*/
201
+
function pmpro_userfields_get_group_ajax() {
202
+
pmpro_get_field_group_html();
203
+
exit;
204
+
}
205
+
add_action( 'wp_ajax_pmpro_userfields_get_group', 'pmpro_userfields_get_group_ajax' );
206
+
207
+
/**
208
+
* Callback to draw a field.
209
+
*/
210
+
function pmpro_userfields_get_field_ajax() {
211
+
pmpro_get_field_html();
212
+
exit;
213
+
}
214
+
add_action( 'wp_ajax_pmpro_userfields_get_field', 'pmpro_userfields_get_field_ajax' );
215
+