From 5c40cf7b0815877ff3cb99bd58eb1e8e12bf56b5 Mon Sep 17 00:00:00 2001 From: ashubawork Date: Thu, 27 Apr 2023 12:51:57 +0300 Subject: [PATCH] - fix wrong user id in account block --- includes/core/class-account.php | 12 ++++++ includes/core/class-blocks.php | 2 +- includes/core/class-fields.php | 6 ++- includes/core/um-actions-account.php | 60 ++++++++++++++-------------- 4 files changed, 48 insertions(+), 32 deletions(-) diff --git a/includes/core/class-account.php b/includes/core/class-account.php index 95caa02c..a190b3c5 100644 --- a/includes/core/class-account.php +++ b/includes/core/class-account.php @@ -626,6 +626,9 @@ if ( ! class_exists( 'um\core\Account' ) ) { $this->init_displayed_fields( $fields, $id ); foreach ( $fields as $key => $data ) { + if ( 1 === (int) $shortcode_args['widget'] ) { + $data['widget'] = 1; + } $output .= UM()->fields()->edit_field( $key, $data ); } break; @@ -666,6 +669,9 @@ if ( ! class_exists( 'um\core\Account' ) ) { $this->init_displayed_fields( $fields, $id ); foreach ( $fields as $key => $data ) { + if ( 1 === (int) $shortcode_args['widget'] ) { + $data['widget'] = 1; + } $output .= UM()->fields()->edit_field( $key, $data ); } @@ -720,6 +726,9 @@ if ( ! class_exists( 'um\core\Account' ) ) { $this->init_displayed_fields( $fields, $id ); foreach ( $fields as $key => $data ) { + if ( 1 === (int) $shortcode_args['widget'] ) { + $data['widget'] = 1; + } $output .= UM()->fields()->edit_field( $key, $data ); } @@ -758,6 +767,9 @@ if ( ! class_exists( 'um\core\Account' ) ) { $this->init_displayed_fields( $fields, $id ); foreach ( $fields as $key => $data ) { + if ( 1 === (int) $shortcode_args['widget'] ) { + $data['widget'] = 1; + } $output .= UM()->fields()->edit_field( $key, $data ); } diff --git a/includes/core/class-blocks.php b/includes/core/class-blocks.php index 0ca6c7ab..2720f033 100644 --- a/includes/core/class-blocks.php +++ b/includes/core/class-blocks.php @@ -139,7 +139,7 @@ if ( ! class_exists( 'um\core\Blocks' ) ) { public function um_account_render( $atts ) { - $shortcode = '[ultimatemember_account'; + $shortcode = '[ultimatemember_account widget="1"'; if ( isset( $atts['tab'] ) && 'all' !== $atts['tab'] ) { $shortcode .= ' tab="' . $atts['tab'] . '"'; diff --git a/includes/core/class-fields.php b/includes/core/class-fields.php index 01f51ada..313c1fca 100644 --- a/includes/core/class-fields.php +++ b/includes/core/class-fields.php @@ -2076,7 +2076,11 @@ if ( ! class_exists( 'um\core\Fields' ) ) { function edit_field( $key, $data, $rule = false, $args = array() ) { global $_um_profile_id; - $output = ''; + if ( 1 === (int) $data['widget'] ) { + $_um_profile_id = get_current_user_id(); + } + + $output = ''; $disabled = ''; if ( empty( $_um_profile_id ) ) { $_um_profile_id = um_user( 'ID' ); diff --git a/includes/core/um-actions-account.php b/includes/core/um-actions-account.php index 84e099fd..44ef426d 100644 --- a/includes/core/um-actions-account.php +++ b/includes/core/um-actions-account.php @@ -593,20 +593,20 @@ function um_after_account_privacy( $args ) {
get_row( - "SELECT ID - FROM $wpdb->posts - WHERE post_author = $user_id AND - post_type = 'user_request' AND - post_name = 'export_personal_data' AND - post_status = 'request-completed' - ORDER BY ID DESC + "SELECT ID + FROM $wpdb->posts + WHERE post_author = $user_id AND + post_type = 'user_request' AND + post_name = 'export_personal_data' AND + post_status = 'request-completed' + ORDER BY ID DESC LIMIT 1", ARRAY_A ); if ( ! empty( $completed ) ) { - + $exports_url = wp_privacy_exports_url(); - + echo '

' . esc_html__( 'You could download your previous data:', 'ultimate-member' ) . '

'; echo '' . esc_html__( 'Download Personal Data', 'ultimate-member' ) . ''; echo '

' . esc_html__( 'You could send a new request for an export of personal your data.', 'ultimate-member' ) . '

'; @@ -614,13 +614,13 @@ function um_after_account_privacy( $args ) { } $pending = $wpdb->get_row( - "SELECT ID, post_status - FROM $wpdb->posts - WHERE post_author = $user_id AND - post_type = 'user_request' AND - post_name = 'export_personal_data' AND - post_status != 'request-completed' - ORDER BY ID DESC + "SELECT ID, post_status + FROM $wpdb->posts + WHERE post_author = $user_id AND + post_type = 'user_request' AND + post_name = 'export_personal_data' AND + post_status != 'request-completed' + ORDER BY ID DESC LIMIT 1", ARRAY_A ); @@ -670,13 +670,13 @@ function um_after_account_privacy( $args ) { get_row( - "SELECT ID - FROM $wpdb->posts - WHERE post_author = $user_id AND - post_type = 'user_request' AND - post_name = 'remove_personal_data' AND - post_status = 'request-completed' - ORDER BY ID DESC + "SELECT ID + FROM $wpdb->posts + WHERE post_author = $user_id AND + post_type = 'user_request' AND + post_name = 'remove_personal_data' AND + post_status = 'request-completed' + ORDER BY ID DESC LIMIT 1", ARRAY_A ); @@ -688,13 +688,13 @@ function um_after_account_privacy( $args ) { } $pending = $wpdb->get_row( - "SELECT ID, post_status - FROM $wpdb->posts - WHERE post_author = $user_id AND - post_type = 'user_request' AND - post_name = 'remove_personal_data' AND - post_status != 'request-completed' - ORDER BY ID DESC + "SELECT ID, post_status + FROM $wpdb->posts + WHERE post_author = $user_id AND + post_type = 'user_request' AND + post_name = 'remove_personal_data' AND + post_status != 'request-completed' + ORDER BY ID DESC LIMIT 1", ARRAY_A );