From 03bff947d20ad460a910ab7607f193519c00c7a9 Mon Sep 17 00:00:00 2001 From: andrewshuba Date: Fri, 29 Mar 2019 11:04:21 +0200 Subject: [PATCH 1/2] fix keys for predefined fields arrays --- .../admin/core/packages/2.0.43/functions.php | 9 ++++++ includes/admin/core/packages/2.0.43/hooks.php | 5 +++ includes/admin/core/packages/2.0.43/init.php | 30 ++++++++++++++++++ .../admin/core/packages/2.0.43/metafields.php | 31 +++++++++++++++++++ includes/core/class-builtin.php | 9 ++++-- 5 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 includes/admin/core/packages/2.0.43/functions.php create mode 100644 includes/admin/core/packages/2.0.43/hooks.php create mode 100644 includes/admin/core/packages/2.0.43/init.php create mode 100644 includes/admin/core/packages/2.0.43/metafields.php diff --git a/includes/admin/core/packages/2.0.43/functions.php b/includes/admin/core/packages/2.0.43/functions.php new file mode 100644 index 00000000..6079b917 --- /dev/null +++ b/includes/admin/core/packages/2.0.43/functions.php @@ -0,0 +1,9 @@ +admin()->check_ajax_nonce(); + + um_maybe_unset_time_limit(); + + include 'metafields.php'; + wp_send_json_success( array( 'message' => __( 'Field was upgraded successfully', 'ultimate-member' ) ) ); +} \ No newline at end of file diff --git a/includes/admin/core/packages/2.0.43/hooks.php b/includes/admin/core/packages/2.0.43/hooks.php new file mode 100644 index 00000000..fb6d4e2a --- /dev/null +++ b/includes/admin/core/packages/2.0.43/hooks.php @@ -0,0 +1,5 @@ + 'fields2043', +); \ No newline at end of file diff --git a/includes/admin/core/packages/2.0.43/init.php b/includes/admin/core/packages/2.0.43/init.php new file mode 100644 index 00000000..fcda187d --- /dev/null +++ b/includes/admin/core/packages/2.0.43/init.php @@ -0,0 +1,30 @@ + + + \ No newline at end of file diff --git a/includes/admin/core/packages/2.0.43/metafields.php b/includes/admin/core/packages/2.0.43/metafields.php new file mode 100644 index 00000000..9d4d5b00 --- /dev/null +++ b/includes/admin/core/packages/2.0.43/metafields.php @@ -0,0 +1,31 @@ +query( array( + 'post_type' => 'um_form', + 'meta_query' => array( + array( + 'key' => '_um_mode', + 'value' => 'profile' + ), + ), + 'posts_per_page' => -1, + 'fields' => 'ids' +) ); + +foreach ( $profile_forms as $form_id ) { + $profile_forms_fields = get_post_meta( $form_id, '_um_custom_fields', true ); + + foreach ( $profile_forms_fields as $key => $field ){ + + if( isset( $field['metakey'] ) ){ + $metakey = $field['metakey']; + if ( $key != $metakey ){ + $profile_forms_fields[$metakey] = $profile_forms_fields[$key]; + unset($profile_forms_fields[$key]); + } + } + + } + + update_post_meta( $form_id, '_um_custom_fields', $profile_forms_fields ); +} \ No newline at end of file diff --git a/includes/core/class-builtin.php b/includes/core/class-builtin.php index b7c73ef1..feea7a32 100644 --- a/includes/core/class-builtin.php +++ b/includes/core/class-builtin.php @@ -663,6 +663,11 @@ if ( ! class_exists( 'um\core\Builtin' ) ) { 'Only me' => __( 'Only me', 'ultimate-member' ) ) ); + /* + * it's important create key for array equals value of 'metakey'. + * + */ + $this->predefined_fields = array( 'user_login' => array( @@ -755,7 +760,7 @@ if ( ! class_exists( 'um\core\Builtin' ) ) { 'edit_forbidden' => 1, ), - 'last_login' => array( + '_um_last_login' => array( 'title' => __('Last Login','ultimate-member'), 'metakey' => '_um_last_login', 'type' => 'text', @@ -980,7 +985,7 @@ if ( ! class_exists( 'um\core\Builtin' ) ) { 'match' => 'https://soundcloud.com/', ), - 'vk' => array( + 'vkontakte' => array( 'title' => __('VKontakte','ultimate-member'), 'metakey' => 'vkontakte', 'type' => 'url', From bee3288a6f0a9c038cc0b552054d7ec73ff1813a Mon Sep 17 00:00:00 2001 From: andrewshuba Date: Fri, 29 Mar 2019 11:08:41 +0200 Subject: [PATCH 2/2] change UM version in DB after upgrade --- includes/admin/core/packages/2.0.43/functions.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/includes/admin/core/packages/2.0.43/functions.php b/includes/admin/core/packages/2.0.43/functions.php index 6079b917..01e7bff5 100644 --- a/includes/admin/core/packages/2.0.43/functions.php +++ b/includes/admin/core/packages/2.0.43/functions.php @@ -5,5 +5,8 @@ function um_upgrade_fields2043() { um_maybe_unset_time_limit(); include 'metafields.php'; + + update_option( 'um_last_version_upgrade', '2.0.43' ); + wp_send_json_success( array( 'message' => __( 'Field was upgraded successfully', 'ultimate-member' ) ) ); } \ No newline at end of file