- merged erase/export data feature;

This commit is contained in:
nikitasinelnikov
2020-01-14 17:20:31 +02:00
parent 3b498d422e
commit 7a722065ee
5 changed files with 80 additions and 23 deletions
+7 -7
View File
@@ -70,22 +70,22 @@ jQuery(document).ready(function() {
e.preventDefault();
var request_action = jQuery(this).data('action');
var password = jQuery('#'+request_action).val();
jQuery('.um-field-area-response.'+request_action).hide();
var password = jQuery('#' + request_action).val();
jQuery('.um-field-area-response.' + request_action).hide();
if( password === '' ){
jQuery('.um-field-error.'+request_action).show();
if ( password === '' ) {
jQuery('.um-field-error.' + request_action).show();
} else {
jQuery('.um-field-error.'+request_action).hide();
jQuery('.um-field-error.' + request_action).hide();
var request = {
request_action: request_action,
password: password,
nonce: um_scripts.nonce
};
wp.ajax.send('um_request_user_data', {
wp.ajax.send( 'um_request_user_data', {
data: request,
success: function (data) {
jQuery('.um-field-area-response.'+request_action).text(data.answer).show();
jQuery('.um-field-area-response.' + request_action).text( data.answer ).show();
},
error: function (data) {
console.log(data);
+1 -1
View File
@@ -1 +1 @@
jQuery(document).ready(function(){var a=jQuery(".um-account-main").attr("data-current_tab");a&&(jQuery('.um-account-tab[data-tab="'+a+'"]').show(),jQuery(".um-account-tab:not(:visible)").find("input:not(:disabled)").addClass("um_account_inactive").prop("disabled",!0).attr("disabled",!0)),jQuery(document.body).on("click",".um-account-side li a",function(a){a.preventDefault();var t=jQuery(this);t.parents("ul").find("li a").removeClass("current"),t.addClass("current");var u=jQuery(this).attr("href"),e=jQuery(this).attr("data-tab");return jQuery('input[id="_um_account_tab"]:hidden').val(e),window.history.pushState("","",u),jQuery(".um-account-tab").hide(),jQuery('.um-account-tab[data-tab="'+e+'"]').fadeIn(),jQuery(".um-account-tab:visible").find("input.um_account_inactive:disabled").removeClass("um_account_inactive").prop("disabled",!1).attr("disabled",!1),jQuery(".um-account-tab:not(:visible)").find("input:not(:disabled)").addClass("um_account_inactive").prop("disabled",!0).attr("disabled",!0),jQuery(".um-account-nav a").removeClass("current"),jQuery('.um-account-nav a[data-tab="'+e+'"]').addClass("current"),!1}),jQuery(document.body).on("click",".um-account-nav a",function(a){a.preventDefault();var t=jQuery(this).attr("data-tab"),u=jQuery(this).parents("div"),e=jQuery(this);return jQuery('input[id="_um_account_tab"]:hidden').val(t),jQuery(".um-account-tab").hide(),e.hasClass("current")?(u.next(".um-account-tab").slideUp(),e.removeClass("current")):(u.next(".um-account-tab").slideDown(),e.parents("div").find("a").removeClass("current"),e.addClass("current")),jQuery(".um-account-tab:visible").find("input.um_account_inactive:disabled").removeClass("um_account_inactive").prop("disabled",!1).attr("disabled",!1),jQuery(".um-account-tab:not(:visible)").find("input:not(:disabled)").addClass("um_account_inactive").prop("disabled",!0).attr("disabled",!0),jQuery(".um-account-side li a").removeClass("current"),jQuery('.um-account-side li a[data-tab="'+t+'"]').addClass("current"),!1})});
jQuery(document).ready(function(){var a=jQuery(".um-account-main").attr("data-current_tab");a&&(jQuery('.um-account-tab[data-tab="'+a+'"]').show(),jQuery(".um-account-tab:not(:visible)").find("input:not(:disabled)").addClass("um_account_inactive").prop("disabled",!0).attr("disabled",!0)),jQuery(document.body).on("click",".um-account-side li a",function(a){a.preventDefault();var t=jQuery(this);t.parents("ul").find("li a").removeClass("current"),t.addClass("current");var e=jQuery(this).attr("href"),u=jQuery(this).attr("data-tab");return jQuery('input[id="_um_account_tab"]:hidden').val(u),window.history.pushState("","",e),jQuery(".um-account-tab").hide(),jQuery('.um-account-tab[data-tab="'+u+'"]').fadeIn(),jQuery(".um-account-tab:visible").find("input.um_account_inactive:disabled").removeClass("um_account_inactive").prop("disabled",!1).attr("disabled",!1),jQuery(".um-account-tab:not(:visible)").find("input:not(:disabled)").addClass("um_account_inactive").prop("disabled",!0).attr("disabled",!0),jQuery(".um-account-nav a").removeClass("current"),jQuery('.um-account-nav a[data-tab="'+u+'"]').addClass("current"),!1}),jQuery(document.body).on("click",".um-account-nav a",function(a){a.preventDefault();var t=jQuery(this).attr("data-tab"),e=jQuery(this).parents("div"),u=jQuery(this);return jQuery('input[id="_um_account_tab"]:hidden').val(t),jQuery(".um-account-tab").hide(),u.hasClass("current")?(e.next(".um-account-tab").slideUp(),u.removeClass("current")):(e.next(".um-account-tab").slideDown(),u.parents("div").find("a").removeClass("current"),u.addClass("current")),jQuery(".um-account-tab:visible").find("input.um_account_inactive:disabled").removeClass("um_account_inactive").prop("disabled",!1).attr("disabled",!1),jQuery(".um-account-tab:not(:visible)").find("input:not(:disabled)").addClass("um_account_inactive").prop("disabled",!0).attr("disabled",!0),jQuery(".um-account-side li a").removeClass("current"),jQuery('.um-account-side li a[data-tab="'+t+'"]').addClass("current"),!1}),jQuery(document.body).on("click",".um-request-button",function(a){a.preventDefault();var t=jQuery(this).data("action"),e=jQuery("#"+t).val();if(jQuery(".um-field-area-response."+t).hide(),""===e)jQuery(".um-field-error."+t).show();else{jQuery(".um-field-error."+t).hide();var u={request_action:t,password:e,nonce:um_scripts.nonce};wp.ajax.send("um_request_user_data",{data:u,success:function(a){jQuery(".um-field-area-response."+t).text(a.answer).show()},error:function(a){console.log(a)}})}})});
+17 -13
View File
@@ -478,48 +478,48 @@ function um_after_account_privacy( $args ) {
<div class="um-field um-field-export_data">
<div class="um-field-label">
<label>
<?php echo esc_html__( 'Download your data', 'ultimate-member' ); ?>
<?php esc_html_e( 'Download your data', 'ultimate-member' ); ?>
</label>
<span class="um-tip um-tip-w" original-title="<?php echo esc_html__( 'You can request a file with the information that we believe is most relevant and useful to you.', 'ultimate-member' ); ?>">
<span class="um-tip um-tip-w" original-title="<?php esc_attr_e( 'You can request a file with the information that we believe is most relevant and useful to you.', 'ultimate-member' ); ?>">
<i class="um-icon-help-circled"></i>
</span>
<div class="um-clear"></div>
</div>
<label name="um-export-data">
<?php echo esc_html__( 'Enter your current password to confirm export of your personal data.', 'ultimate-member' ); ?>
<?php esc_html_e( 'Enter your current password to confirm export of your personal data.', 'ultimate-member' ); ?>
</label>
<div class="um-field-area">
<input id="um-export-data" type="password" placeholder="<?php echo esc_html__( 'Password', 'ultimate-member' )?>">
<input id="um-export-data" type="password" placeholder="<?php esc_attr_e( 'Password', 'ultimate-member' )?>">
<div class="um-field-error um-export-data">
<span class="um-field-arrow"><i class="um-faicon-caret-up"></i></span><?php echo esc_html__( 'You must enter a password', 'ultimate-member' ); ?>
<span class="um-field-arrow"><i class="um-faicon-caret-up"></i></span><?php esc_html_e( 'You must enter a password', 'ultimate-member' ); ?>
</div>
<div class="um-field-area-response um-export-data"></div>
</div>
<a class="um-request-button um-export-data-button" data-action="um-export-data" href="javascript:void(0);">
<?php echo esc_html__( 'Request data', 'ultimate-member' ); ?>
<?php esc_html_e( 'Request data', 'ultimate-member' ); ?>
</a>
</div>
<div class="um-field um-field-export_data">
<div class="um-field-label">
<label>
<?php echo esc_html__( 'Erase of your data', 'ultimate-member' ); ?>
<?php esc_html_e( 'Erase of your data', 'ultimate-member' ); ?>
</label>
<span class="um-tip um-tip-w" original-title="<?php echo esc_html__( 'You can request erasing of the data that we have about you.', 'ultimate-member' ); ?>">
<span class="um-tip um-tip-w" original-title="<?php esc_attr_e( 'You can request erasing of the data that we have about you.', 'ultimate-member' ); ?>">
<i class="um-icon-help-circled"></i>
</span>
<div class="um-clear"></div>
</div>
<label name="um-erase-data">
<?php echo esc_html__( 'Enter your current password to confirm the erasure of your personal data.', 'ultimate-member' ); ?>
<input id="um-erase-data" type="password" placeholder="<?php echo esc_html__( 'Password', 'ultimate-member' )?>">
<?php esc_html_e( 'Enter your current password to confirm the erasure of your personal data.', 'ultimate-member' ); ?>
<input id="um-erase-data" type="password" placeholder="<?php esc_attr_e( 'Password', 'ultimate-member' )?>">
<div class="um-field-error um-erase-data">
<span class="um-field-arrow"><i class="um-faicon-caret-up"></i></span><?php echo esc_html__( 'You must enter a password', 'ultimate-member' ); ?>
<span class="um-field-arrow"><i class="um-faicon-caret-up"></i></span><?php esc_html_e( 'You must enter a password', 'ultimate-member' ); ?>
</div>
<div class="um-field-area-response um-erase-data"></div>
</label>
<a class="um-request-button um-erase-data-button" data-action="um-erase-data" href="javascript:void(0);">
<?php echo esc_html__( 'Request data erase', 'ultimate-member' ); ?>
<?php esc_html_e( 'Request data erase', 'ultimate-member' ); ?>
</a>
</div>
@@ -527,7 +527,7 @@ function um_after_account_privacy( $args ) {
}
function um_request_user_data(){
function um_request_user_data() {
UM()->check_ajax_nonce();
$user_id = get_current_user_id();
@@ -543,6 +543,10 @@ function um_request_user_data(){
$request_id = wp_create_user_request( $user->data->user_email, 'remove_personal_data' );
}
if ( empty( $request_id ) ) {
wp_send_json_error( __( 'Wrong request.', 'ultimate-member' ) );
}
if ( is_wp_error( $request_id ) ) {
$answer = $request_id->get_error_message();
} else {
+54 -2
View File
@@ -1,8 +1,8 @@
msgid ""
msgstr ""
"Project-Id-Version: Ultimate Member\n"
"POT-Creation-Date: 2020-01-14 16:14+0200\n"
"PO-Revision-Date: 2020-01-14 16:14+0200\n"
"POT-Creation-Date: 2020-01-14 17:16+0200\n"
"PO-Revision-Date: 2020-01-14 17:16+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: en_US\n"
@@ -292,6 +292,8 @@ msgstr ""
#: includes/admin/core/class-admin-enqueue.php:480
#: includes/core/class-builtin.php:698 includes/core/class-builtin.php:701
#: includes/core/class-builtin.php:1155 includes/core/class-builtin.php:1158
#: includes/core/um-actions-account.php:492
#: includes/core/um-actions-account.php:515
msgid "Password"
msgstr ""
@@ -7482,6 +7484,56 @@ msgstr ""
msgid "Select what email notifications do you want to receive"
msgstr ""
#: includes/core/um-actions-account.php:481
msgid "Download your data"
msgstr ""
#: includes/core/um-actions-account.php:483
msgid ""
"You can request a file with the information that we believe is most relevant "
"and useful to you."
msgstr ""
#: includes/core/um-actions-account.php:489
msgid "Enter your current password to confirm export of your personal data."
msgstr ""
#: includes/core/um-actions-account.php:494
#: includes/core/um-actions-account.php:517
msgid "You must enter a password"
msgstr ""
#: includes/core/um-actions-account.php:499
msgid "Request data"
msgstr ""
#: includes/core/um-actions-account.php:506
msgid "Erase of your data"
msgstr ""
#: includes/core/um-actions-account.php:508
msgid "You can request erasing of the data that we have about you."
msgstr ""
#: includes/core/um-actions-account.php:514
msgid ""
"Enter your current password to confirm the erasure of your personal data."
msgstr ""
#: includes/core/um-actions-account.php:522
msgid "Request data erase"
msgstr ""
#: includes/core/um-actions-account.php:550
msgid ""
"A confirmation email has been sent to your email. Click the link within the "
"email to confirm your export request."
msgstr ""
#: includes/core/um-actions-account.php:555
msgid "The password you entered is incorrect."
msgstr ""
#: includes/core/um-actions-core.php:27
msgid "Super administrators can not be modified."
msgstr ""
+1
View File
@@ -155,6 +155,7 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
- Added GDPR template to get overwritten in the theme directory
- Added member directories' custom sorting labels
- Added ability to use custom metatable for faster requests for Member Directories
- Added ability to request Erase or Download user data via Privacy tab at the Account page
* Bugfixes: