Version Description
- 2021-08-25 =
- BUG FIX: Fixed issue with PMPro blocks not showing up in the block editor.
- REFACTOR: Some JS functions and element IDs and names have been prefixed with pmpro_ to avoid conflicts.
Download this release
Release Info
Developer | strangerstudios |
Plugin | Paid Memberships Pro |
Version | 2.6.1.1 |
Comparing to | |
See all releases |
Code changes from version 2.6.1 to 2.6.1.1
- CHANGELOG.txt +4 -0
- adminpages/emailtemplates.php +8 -8
- blocks/blocks.php +9 -1
- includes/scripts.php +54 -39
- js/pmpro-admin.js +31 -31
- paid-memberships-pro.php +2 -2
- readme.txt +6 -2
CHANGELOG.txt
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
== Changelog ==
|
|
|
|
|
|
|
|
|
2 |
= 2.6.1 - 2021-08-24 =
|
3 |
* SECURITY: Added capability checks to further tighten security around email template settings. (@ideadude, @sc0ttkclark)
|
4 |
* SECURITY: Added a pmpro_kses function and using that to sanitize email template bodies and all email bodies before sending. (@ideadude, @sc0ttkclark)
|
1 |
== Changelog ==
|
2 |
+
= 2.6.1.1 - 2021-08-25 =
|
3 |
+
* BUG FIX: Fixed issue with PMPro blocks not showing up in the block editor.
|
4 |
+
* REFACTOR: Some JS functions and element IDs and names have been prefixed with pmpro_ to avoid conflicts.
|
5 |
+
|
6 |
= 2.6.1 - 2021-08-24 =
|
7 |
* SECURITY: Added capability checks to further tighten security around email template settings. (@ideadude, @sc0ttkclark)
|
8 |
* SECURITY: Added a pmpro_kses function and using that to sanitize email template bodies and all email bodies before sending. (@ideadude, @sc0ttkclark)
|
adminpages/emailtemplates.php
CHANGED
@@ -48,13 +48,13 @@
|
|
48 |
</select>
|
49 |
<img src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" id="pmproet-spinner" style="display:none;"/>
|
50 |
|
51 |
-
<p id="
|
52 |
</td>
|
53 |
</tr>
|
54 |
<tr class="hide-while-loading">
|
55 |
<th scope="row" valign="top"></th>
|
56 |
<td>
|
57 |
-
<label><input id="
|
58 |
id="disable_label"><?php esc_html_e( 'Disable this email?', 'paid-memberships-pro' ); ?></span></label>
|
59 |
|
60 |
|
@@ -63,18 +63,18 @@
|
|
63 |
</td>
|
64 |
</tr>
|
65 |
<tr class="hide-while-loading">
|
66 |
-
<th scope="row" valign="top"><label for="
|
67 |
|
68 |
<td>
|
69 |
-
<input id="
|
70 |
</td>
|
71 |
</tr>
|
72 |
<tr class="hide-while-loading">
|
73 |
-
<th scope="row" valign="top"><label for="
|
74 |
|
75 |
<td>
|
76 |
<div id="template_editor_container">
|
77 |
-
<textarea rows="10" cols="80" name="
|
78 |
</div>
|
79 |
</td>
|
80 |
</tr>
|
@@ -97,10 +97,10 @@
|
|
97 |
<th scope="row" valign="top"></th>
|
98 |
<td>
|
99 |
<p class="submit">
|
100 |
-
<input id="
|
101 |
value="<?php esc_attr_e( 'Save Template', 'paid-memberships-pro' ); ?>"/>
|
102 |
|
103 |
-
<input id="
|
104 |
value="<?php esc_attr_e( 'Reset Template', 'paid-memberships-pro' ); ?>"/>
|
105 |
|
106 |
</p>
|
48 |
</select>
|
49 |
<img src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" id="pmproet-spinner" style="display:none;"/>
|
50 |
|
51 |
+
<p id="pmpro_email_template_help_text" class="description"></p>
|
52 |
</td>
|
53 |
</tr>
|
54 |
<tr class="hide-while-loading">
|
55 |
<th scope="row" valign="top"></th>
|
56 |
<td>
|
57 |
+
<label><input id="pmpro_email_template_disable" name="pmpro_email_template_disable" type="checkbox" /><span
|
58 |
id="disable_label"><?php esc_html_e( 'Disable this email?', 'paid-memberships-pro' ); ?></span></label>
|
59 |
|
60 |
|
63 |
</td>
|
64 |
</tr>
|
65 |
<tr class="hide-while-loading">
|
66 |
+
<th scope="row" valign="top"><label for="pmpro_email_template_subject"><?php esc_html_e( 'Subject', 'paid-memberships-pro' ); ?></label></th>
|
67 |
|
68 |
<td>
|
69 |
+
<input id="pmpro_email_template_subject" name="pmpro_email_template_subject" type="text" size="100"/>
|
70 |
</td>
|
71 |
</tr>
|
72 |
<tr class="hide-while-loading">
|
73 |
+
<th scope="row" valign="top"><label for="pmpro_email_template_body"><?php esc_html_e( 'Body', 'paid-memberships-pro' ); ?></label></th>
|
74 |
|
75 |
<td>
|
76 |
<div id="template_editor_container">
|
77 |
+
<textarea rows="10" cols="80" name="pmpro_email_template_body" id="pmpro_email_template_body"></textarea>
|
78 |
</div>
|
79 |
</td>
|
80 |
</tr>
|
97 |
<th scope="row" valign="top"></th>
|
98 |
<td>
|
99 |
<p class="submit">
|
100 |
+
<input id="pmpro_submit_template_data" name="pmpro_save_template" type="button" class="button-primary"
|
101 |
value="<?php esc_attr_e( 'Save Template', 'paid-memberships-pro' ); ?>"/>
|
102 |
|
103 |
+
<input id="pmpro_reset_template_data" name="pmpro_reset_template" type="button" class="button"
|
104 |
value="<?php esc_attr_e( 'Reset Template', 'paid-memberships-pro' ); ?>"/>
|
105 |
|
106 |
</p>
|
blocks/blocks.php
CHANGED
@@ -61,7 +61,15 @@ function pmpro_block_editor_scripts() {
|
|
61 |
wp_enqueue_script(
|
62 |
'pmpro-blocks-editor-js',
|
63 |
plugins_url( 'js/blocks.build.js', PMPRO_BASE_FILE ),
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
PMPRO_VERSION
|
66 |
);
|
67 |
|
61 |
wp_enqueue_script(
|
62 |
'pmpro-blocks-editor-js',
|
63 |
plugins_url( 'js/blocks.build.js', PMPRO_BASE_FILE ),
|
64 |
+
[
|
65 |
+
'wp-i18n',
|
66 |
+
'wp-element',
|
67 |
+
'wp-blocks',
|
68 |
+
'wp-components',
|
69 |
+
'wp-api',
|
70 |
+
'wp-block-editor',
|
71 |
+
'pmpro_admin',
|
72 |
+
],
|
73 |
PMPRO_VERSION
|
74 |
);
|
75 |
|
includes/scripts.php
CHANGED
@@ -94,48 +94,63 @@ add_action( 'wp_enqueue_scripts', 'pmpro_enqueue_scripts' );
|
|
94 |
* Enqueue admin JavaScript and CSS
|
95 |
*/
|
96 |
function pmpro_admin_enqueue_scripts() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
// Only enqueue PMPro admin scripts on our own pages.
|
98 |
if ( ! isset( $_GET['page'] ) || 0 !== strpos( $_GET['page'], 'pmpro' ) ) {
|
99 |
return;
|
100 |
}
|
101 |
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
$all_level_values_and_labels = array();
|
109 |
-
foreach( $all_levels as $level ) {
|
110 |
-
$all_level_values_and_labels[] = array( 'value' => $level->id, 'label' => $level->name );
|
111 |
-
}
|
112 |
-
wp_localize_script( 'pmpro_admin', 'pmpro', array(
|
113 |
-
'all_levels' => $all_levels,
|
114 |
-
'all_level_values_and_labels' => $all_level_values_and_labels
|
115 |
-
));
|
116 |
-
wp_enqueue_script( 'pmpro_admin' );
|
117 |
-
|
118 |
-
// Admin CSS
|
119 |
-
$admin_css_rtl = false;
|
120 |
-
if(file_exists(get_stylesheet_directory() . "/paid-memberships-pro/css/admin.css")) {
|
121 |
-
$admin_css = get_stylesheet_directory_uri() . "/paid-memberships-pro/css/admin.css";
|
122 |
-
if( is_rtl() && file_exists(get_stylesheet_directory() . "/paid-memberships-pro/css/admin-rtl.css") ) {
|
123 |
-
$admin_css_rtl = get_stylesheet_directory_uri() . "/paid-memberships-pro/css/admin-rtl.css";
|
124 |
-
}
|
125 |
-
} elseif(file_exists(get_template_directory() . "/paid-memberships-pro/admin.css")) {
|
126 |
-
$admin_css = get_template_directory_uri() . "/paid-memberships-pro/admin.css";
|
127 |
-
if( is_rtl() && file_exists(get_template_directory() . "/paid-memberships-pro/css/admin-rtl.css") ) {
|
128 |
-
$admin_css_rtl = get_template_directory_uri() . "/paid-memberships-pro/css/admin-rtl.css";
|
129 |
-
}
|
130 |
-
} else {
|
131 |
-
$admin_css = plugins_url('css/admin.css',dirname(__FILE__) );
|
132 |
-
if( is_rtl() ) {
|
133 |
-
$admin_css_rtl = plugins_url('css/admin-rtl.css',dirname(__FILE__) );
|
134 |
-
}
|
135 |
-
}
|
136 |
-
wp_enqueue_style('pmpro_admin', $admin_css, array(), PMPRO_VERSION, "screen");
|
137 |
-
if( $admin_css_rtl ) {
|
138 |
-
wp_enqueue_style('pmpro_admin_rtl', $admin_css_rtl, array(), PMPRO_VERSION, "screen");
|
139 |
-
}
|
140 |
}
|
141 |
-
add_action( 'admin_enqueue_scripts', 'pmpro_admin_enqueue_scripts' );
|
94 |
* Enqueue admin JavaScript and CSS
|
95 |
*/
|
96 |
function pmpro_admin_enqueue_scripts() {
|
97 |
+
// Admin JS
|
98 |
+
wp_register_script( 'pmpro_admin', plugins_url( 'js/pmpro-admin.js', __DIR__ ), [
|
99 |
+
'jquery',
|
100 |
+
'jquery-ui-sortable',
|
101 |
+
], PMPRO_VERSION );
|
102 |
+
|
103 |
+
$all_levels = pmpro_getAllLevels( true, true );
|
104 |
+
$all_level_values_and_labels = [];
|
105 |
+
|
106 |
+
foreach ( $all_levels as $level ) {
|
107 |
+
$all_level_values_and_labels[] = [
|
108 |
+
'value' => $level->id,
|
109 |
+
'label' => $level->name,
|
110 |
+
];
|
111 |
+
}
|
112 |
+
|
113 |
+
wp_localize_script( 'pmpro_admin', 'pmpro', [
|
114 |
+
'all_levels' => $all_levels,
|
115 |
+
'all_level_values_and_labels' => $all_level_values_and_labels,
|
116 |
+
] );
|
117 |
+
|
118 |
+
// Admin CSS
|
119 |
+
$admin_css_rtl = false;
|
120 |
+
|
121 |
+
if ( file_exists( get_stylesheet_directory() . '/paid-memberships-pro/css/admin.css' ) ) {
|
122 |
+
$admin_css = get_stylesheet_directory_uri() . '/paid-memberships-pro/css/admin.css';
|
123 |
+
|
124 |
+
if ( is_rtl() && file_exists( get_stylesheet_directory() . '/paid-memberships-pro/css/admin-rtl.css' ) ) {
|
125 |
+
$admin_css_rtl = get_stylesheet_directory_uri() . '/paid-memberships-pro/css/admin-rtl.css';
|
126 |
+
}
|
127 |
+
} elseif ( file_exists( get_template_directory() . '/paid-memberships-pro/admin.css' ) ) {
|
128 |
+
$admin_css = get_template_directory_uri() . '/paid-memberships-pro/admin.css';
|
129 |
+
|
130 |
+
if ( is_rtl() && file_exists( get_template_directory() . '/paid-memberships-pro/css/admin-rtl.css' ) ) {
|
131 |
+
$admin_css_rtl = get_template_directory_uri() . '/paid-memberships-pro/css/admin-rtl.css';
|
132 |
+
}
|
133 |
+
} else {
|
134 |
+
$admin_css = plugins_url( 'css/admin.css', __DIR__ );
|
135 |
+
|
136 |
+
if ( is_rtl() ) {
|
137 |
+
$admin_css_rtl = plugins_url( 'css/admin-rtl.css', __DIR__ );
|
138 |
+
}
|
139 |
+
}
|
140 |
+
|
141 |
+
wp_register_style( 'pmpro_admin', $admin_css, [], PMPRO_VERSION, 'screen' );
|
142 |
+
wp_register_style( 'pmpro_admin_rtl', $admin_css_rtl, [], PMPRO_VERSION, 'screen' );
|
143 |
+
|
144 |
// Only enqueue PMPro admin scripts on our own pages.
|
145 |
if ( ! isset( $_GET['page'] ) || 0 !== strpos( $_GET['page'], 'pmpro' ) ) {
|
146 |
return;
|
147 |
}
|
148 |
|
149 |
+
wp_enqueue_script( 'pmpro_admin' );
|
150 |
+
wp_enqueue_style( 'pmpro_admin' );
|
151 |
+
|
152 |
+
if ( $admin_css_rtl ) {
|
153 |
+
wp_enqueue_style( 'pmpro_admin_rtl' );
|
154 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
}
|
156 |
+
add_action( 'admin_enqueue_scripts', 'pmpro_admin_enqueue_scripts' );
|
js/pmpro-admin.js
CHANGED
@@ -211,7 +211,7 @@ jQuery(document).ready(function($) {
|
|
211 |
|
212 |
/* Variables */
|
213 |
var template, disabled, $subject, $editor, $testemail;
|
214 |
-
$subject = $("#
|
215 |
$editor = $("#wp-email_template_body-wrap");
|
216 |
$testemail = $("#test_email_address").closest("tr");
|
217 |
|
@@ -226,31 +226,31 @@ jQuery(document).ready(function($) {
|
|
226 |
|
227 |
//get template data
|
228 |
if (template)
|
229 |
-
|
230 |
else {
|
231 |
$(".hide-while-loading").hide();
|
232 |
$(".controls").hide();
|
233 |
}
|
234 |
});
|
235 |
|
236 |
-
$("#
|
237 |
-
|
238 |
});
|
239 |
|
240 |
-
$("#
|
241 |
-
|
242 |
});
|
243 |
|
244 |
-
$("#
|
245 |
-
|
246 |
});
|
247 |
|
248 |
$("#send_test_email").click(function(e) {
|
249 |
-
|
250 |
});
|
251 |
|
252 |
/* Functions */
|
253 |
-
function
|
254 |
|
255 |
//hide stuff and show ajax spinner
|
256 |
$(".hide-while-loading").hide();
|
@@ -295,17 +295,17 @@ jQuery(document).ready(function($) {
|
|
295 |
}
|
296 |
|
297 |
// populate help text, subject, and body
|
298 |
-
$('#
|
299 |
-
$('#
|
300 |
-
$('#
|
301 |
|
302 |
// disable form
|
303 |
disabled = template_data['disabled'];
|
304 |
-
|
305 |
});
|
306 |
}
|
307 |
|
308 |
-
function
|
309 |
|
310 |
$("#submit_template_data").attr("disabled", true);
|
311 |
$(".status").hide();
|
@@ -313,8 +313,8 @@ jQuery(document).ready(function($) {
|
|
313 |
|
314 |
$data = {
|
315 |
template: template,
|
316 |
-
subject: $("#
|
317 |
-
body: $("#
|
318 |
action: 'pmpro_email_templates_save_template_data',
|
319 |
security: $('input[name=security]').val()
|
320 |
};
|
@@ -334,7 +334,7 @@ jQuery(document).ready(function($) {
|
|
334 |
return $.Deferred().resolve();
|
335 |
}
|
336 |
|
337 |
-
function
|
338 |
|
339 |
var r = confirm('Are you sure? Your current template settings will be deleted permanently.');
|
340 |
|
@@ -347,20 +347,20 @@ jQuery(document).ready(function($) {
|
|
347 |
};
|
348 |
$.post(ajaxurl, $data, function(response) {
|
349 |
var template_data = $.parseJSON(response);
|
350 |
-
$('#
|
351 |
-
$('#
|
352 |
});
|
353 |
|
354 |
return true;
|
355 |
}
|
356 |
|
357 |
-
function
|
358 |
|
359 |
//update wp_options
|
360 |
data = {
|
361 |
template: template,
|
362 |
action: 'pmpro_email_templates_disable_template',
|
363 |
-
disabled: $("#
|
364 |
security: $('input[name=security]').val()
|
365 |
};
|
366 |
|
@@ -388,11 +388,11 @@ jQuery(document).ready(function($) {
|
|
388 |
|
389 |
disabled = response['status'];
|
390 |
|
391 |
-
|
392 |
});
|
393 |
}
|
394 |
|
395 |
-
function
|
396 |
|
397 |
//hide stuff and show ajax spinner
|
398 |
$(".hide-while-loading").hide();
|
@@ -423,17 +423,17 @@ jQuery(document).ready(function($) {
|
|
423 |
})
|
424 |
}
|
425 |
|
426 |
-
function
|
427 |
if(disabled == 'true') {
|
428 |
-
$("#
|
429 |
-
$("#
|
430 |
-
$("#
|
431 |
$(".controls").hide();
|
432 |
}
|
433 |
else {
|
434 |
-
$("#
|
435 |
-
$("#
|
436 |
-
$("#
|
437 |
$(".controls").show();
|
438 |
}
|
439 |
|
211 |
|
212 |
/* Variables */
|
213 |
var template, disabled, $subject, $editor, $testemail;
|
214 |
+
$subject = $("#pmpro_email_template_subject").closest("tr");
|
215 |
$editor = $("#wp-email_template_body-wrap");
|
216 |
$testemail = $("#test_email_address").closest("tr");
|
217 |
|
226 |
|
227 |
//get template data
|
228 |
if (template)
|
229 |
+
pmpro_get_template(template);
|
230 |
else {
|
231 |
$(".hide-while-loading").hide();
|
232 |
$(".controls").hide();
|
233 |
}
|
234 |
});
|
235 |
|
236 |
+
$("#pmpro_submit_template_data").click(function() {
|
237 |
+
pmpro_save_template()
|
238 |
});
|
239 |
|
240 |
+
$("#pmpro_reset_template_data").click(function() {
|
241 |
+
pmpro_reset_template();
|
242 |
});
|
243 |
|
244 |
+
$("#pmpro_email_template_disable").click(function(e) {
|
245 |
+
pmpro_disable_template();
|
246 |
});
|
247 |
|
248 |
$("#send_test_email").click(function(e) {
|
249 |
+
pmpro_save_template().done(setTimeout(function(){pmpro_send_test_email();}, '1000'));
|
250 |
});
|
251 |
|
252 |
/* Functions */
|
253 |
+
function pmpro_get_template(template) {
|
254 |
|
255 |
//hide stuff and show ajax spinner
|
256 |
$(".hide-while-loading").hide();
|
295 |
}
|
296 |
|
297 |
// populate help text, subject, and body
|
298 |
+
$('#pmpro_email_template_help_text').text(template_data['help_text']);
|
299 |
+
$('#pmpro_email_template_subject').val(template_data['subject']);
|
300 |
+
$('#pmpro_email_template_body').val(template_data['body']);
|
301 |
|
302 |
// disable form
|
303 |
disabled = template_data['disabled'];
|
304 |
+
pmpro_toggle_form_disabled(disabled);
|
305 |
});
|
306 |
}
|
307 |
|
308 |
+
function pmpro_save_template() {
|
309 |
|
310 |
$("#submit_template_data").attr("disabled", true);
|
311 |
$(".status").hide();
|
313 |
|
314 |
$data = {
|
315 |
template: template,
|
316 |
+
subject: $("#pmpro_email_template_subject").val(),
|
317 |
+
body: $("#pmpro_email_template_body").val(),
|
318 |
action: 'pmpro_email_templates_save_template_data',
|
319 |
security: $('input[name=security]').val()
|
320 |
};
|
334 |
return $.Deferred().resolve();
|
335 |
}
|
336 |
|
337 |
+
function pmpro_reset_template() {
|
338 |
|
339 |
var r = confirm('Are you sure? Your current template settings will be deleted permanently.');
|
340 |
|
347 |
};
|
348 |
$.post(ajaxurl, $data, function(response) {
|
349 |
var template_data = $.parseJSON(response);
|
350 |
+
$('#pmpro_email_template_subject').val(template_data['subject']);
|
351 |
+
$('#pmpro_email_template_body').val(template_data['body']);
|
352 |
});
|
353 |
|
354 |
return true;
|
355 |
}
|
356 |
|
357 |
+
function pmpro_disable_template() {
|
358 |
|
359 |
//update wp_options
|
360 |
data = {
|
361 |
template: template,
|
362 |
action: 'pmpro_email_templates_disable_template',
|
363 |
+
disabled: $("#pmpro_email_template_disable").is(":checked"),
|
364 |
security: $('input[name=security]').val()
|
365 |
};
|
366 |
|
388 |
|
389 |
disabled = response['status'];
|
390 |
|
391 |
+
pmpro_toggle_form_disabled(disabled);
|
392 |
});
|
393 |
}
|
394 |
|
395 |
+
function pmpro_send_test_email() {
|
396 |
|
397 |
//hide stuff and show ajax spinner
|
398 |
$(".hide-while-loading").hide();
|
423 |
})
|
424 |
}
|
425 |
|
426 |
+
function pmpro_toggle_form_disabled(disabled) {
|
427 |
if(disabled == 'true') {
|
428 |
+
$("#pmpro_email_template_disable").prop('checked', true);
|
429 |
+
$("#pmpro_email_template_body").attr('readonly', 'readonly').attr('disabled', 'disabled');
|
430 |
+
$("#pmpro_email_template_subject").attr('readonly', 'readonly').attr('disabled', 'disabled');
|
431 |
$(".controls").hide();
|
432 |
}
|
433 |
else {
|
434 |
+
$("#pmpro_email_template_disable").prop('checked', false);
|
435 |
+
$("#pmpro_email_template_body").removeAttr('readonly','readonly').removeAttr('disabled', 'disabled');
|
436 |
+
$("#pmpro_email_template_subject").removeAttr('readonly','readonly').removeAttr('disabled', 'disabled');
|
437 |
$(".controls").show();
|
438 |
}
|
439 |
|
paid-memberships-pro.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Paid Memberships Pro
|
4 |
* Plugin URI: https://www.paidmembershipspro.com
|
5 |
* Description: The most complete member management and membership subscriptions plugin for WordPress.
|
6 |
-
* Version: 2.6.1
|
7 |
* Author: Stranger Studios
|
8 |
* Author URI: https://www.strangerstudios.com
|
9 |
* Text Domain: paid-memberships-pro
|
@@ -16,7 +16,7 @@
|
|
16 |
*/
|
17 |
|
18 |
// version constant
|
19 |
-
define( 'PMPRO_VERSION', '2.6.1' );
|
20 |
define( 'PMPRO_USER_AGENT', 'Paid Memberships Pro v' . PMPRO_VERSION . '; ' . site_url() );
|
21 |
define( 'PMPRO_MIN_PHP_VERSION', '5.6' );
|
22 |
|
3 |
* Plugin Name: Paid Memberships Pro
|
4 |
* Plugin URI: https://www.paidmembershipspro.com
|
5 |
* Description: The most complete member management and membership subscriptions plugin for WordPress.
|
6 |
+
* Version: 2.6.1.1
|
7 |
* Author: Stranger Studios
|
8 |
* Author URI: https://www.strangerstudios.com
|
9 |
* Text Domain: paid-memberships-pro
|
16 |
*/
|
17 |
|
18 |
// version constant
|
19 |
+
define( 'PMPRO_VERSION', '2.6.1.1' );
|
20 |
define( 'PMPRO_USER_AGENT', 'Paid Memberships Pro v' . PMPRO_VERSION . '; ' . site_url() );
|
21 |
define( 'PMPRO_MIN_PHP_VERSION', '5.6' );
|
22 |
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: strangerstudios, kimannwall, andrewza, dlparker1005, paidmembershi
|
|
3 |
Tags: memberships, members, subscriptions, ecommerce, user registration, member, membership, e-commerce, paypal, stripe, braintree, authorize.net, payflow, restrict access, restrict content, directory
|
4 |
Requires at least: 5.2
|
5 |
Tested up to: 5.8
|
6 |
-
Stable tag: 2.6.1
|
7 |
|
8 |
Get Paid with Paid Memberships Pro: The most complete member management and membership subscriptions plugin for your WordPress site.
|
9 |
|
@@ -155,6 +155,10 @@ Not sure? You can find out by doing a bit a research.
|
|
155 |
9. Membership Account page, display all sections or show specific sections using shortcode attributes.
|
156 |
|
157 |
== Changelog ==
|
|
|
|
|
|
|
|
|
158 |
= 2.6.1 - 2021-08-24 =
|
159 |
* SECURITY: Added capability checks to further tighten security around email template settings. (@ideadude, @sc0ttkclark)
|
160 |
* SECURITY: Added a pmpro_kses function and using that to sanitize email template bodies and all email bodies before sending. (@ideadude, @sc0ttkclark)
|
@@ -550,4 +554,4 @@ BUG FIX: Fixed issue where PMPro would always try to add capabilities to the adm
|
|
550 |
* BUG FIX: Fixed issues with PayPal orders when using the pmpro_paypal_level_description filter.
|
551 |
* BUG FIX/ENHANCEMENT: Responsive update for smaller device viewports for the Membership Levels table in the dashboard.
|
552 |
* ENHANCEMENT: Added filters: pmpro_is_level_free, pmpro_is_level_trial, and pmpro_is_level_expiring.
|
553 |
-
* ENHANCEMENT: Updated IPN handler and Stripe Webhook handler to use pmpro_cancelMembershipLevel instead of pmpro_changeMembershipLevele. This improves support for the MMPU addon.
|
3 |
Tags: memberships, members, subscriptions, ecommerce, user registration, member, membership, e-commerce, paypal, stripe, braintree, authorize.net, payflow, restrict access, restrict content, directory
|
4 |
Requires at least: 5.2
|
5 |
Tested up to: 5.8
|
6 |
+
Stable tag: 2.6.1.1
|
7 |
|
8 |
Get Paid with Paid Memberships Pro: The most complete member management and membership subscriptions plugin for your WordPress site.
|
9 |
|
155 |
9. Membership Account page, display all sections or show specific sections using shortcode attributes.
|
156 |
|
157 |
== Changelog ==
|
158 |
+
= 2.6.1.1 - 2021-08-25 =
|
159 |
+
* BUG FIX: Fixed issue with PMPro blocks not showing up in the block editor.
|
160 |
+
* REFACTOR: Some JS functions and element IDs and names have been prefixed with pmpro_ to avoid conflicts.
|
161 |
+
|
162 |
= 2.6.1 - 2021-08-24 =
|
163 |
* SECURITY: Added capability checks to further tighten security around email template settings. (@ideadude, @sc0ttkclark)
|
164 |
* SECURITY: Added a pmpro_kses function and using that to sanitize email template bodies and all email bodies before sending. (@ideadude, @sc0ttkclark)
|
554 |
* BUG FIX: Fixed issues with PayPal orders when using the pmpro_paypal_level_description filter.
|
555 |
* BUG FIX/ENHANCEMENT: Responsive update for smaller device viewports for the Membership Levels table in the dashboard.
|
556 |
* ENHANCEMENT: Added filters: pmpro_is_level_free, pmpro_is_level_trial, and pmpro_is_level_expiring.
|
557 |
+
* ENHANCEMENT: Updated IPN handler and Stripe Webhook handler to use pmpro_cancelMembershipLevel instead of pmpro_changeMembershipLevele. This improves support for the MMPU addon.
|