diff --git a/assets/js/um-account.js b/assets/js/um-account.js index a4587bb2..9b6a226e 100644 --- a/assets/js/um-account.js +++ b/assets/js/um-account.js @@ -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); diff --git a/assets/js/um-account.min.js b/assets/js/um-account.min.js index 735c8a78..b8c0a12d 100644 --- a/assets/js/um-account.min.js +++ b/assets/js/um-account.min.js @@ -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})}); \ No newline at end of file +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)}})}})}); \ No newline at end of file diff --git a/includes/core/um-actions-account.php b/includes/core/um-actions-account.php index 2389ac0b..6ee91ccf 100644 --- a/includes/core/um-actions-account.php +++ b/includes/core/um-actions-account.php @@ -478,48 +478,48 @@ function um_after_account_privacy( $args ) {
- +
- +
- +
- +
- +
- +
@@ -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 { diff --git a/languages/ultimate-member-en_US.po b/languages/ultimate-member-en_US.po index ebdb614f..6dddd70e 100644 --- a/languages/ultimate-member-en_US.po +++ b/languages/ultimate-member-en_US.po @@ -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 "" diff --git a/readme.txt b/readme.txt index ed6ccd0c..581c4896 100644 --- a/readme.txt +++ b/readme.txt @@ -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: