- release candidate version;

This commit is contained in:
nikitasinelnikov
2019-10-24 16:40:56 +03:00
parent 2547d54ddd
commit 4399dee8ae
9 changed files with 18 additions and 16 deletions
@@ -0,0 +1,25 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit;
function um_upgrade_metadata210beta1() {
UM()->admin()->check_ajax_nonce();
um_maybe_unset_time_limit();
include 'metadata.php';
wp_send_json_success( array( 'message' => __( 'Usermeta was upgraded successfully', 'ultimate-member' ) ) );
}
function um_upgrade_memberdir210beta1() {
UM()->admin()->check_ajax_nonce();
um_maybe_unset_time_limit();
include 'member-directory.php';
update_option( 'um_last_version_upgrade', '2.1.0-beta1' );
wp_send_json_success( array( 'message' => __( 'Member directories were upgraded successfully', 'ultimate-member' ) ) );
}
@@ -0,0 +1,6 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit;
return array(
'metadata210beta1' => 'metadata210beta1',
'memberdir210beta1' => 'memberdir210beta1',
);
@@ -0,0 +1,57 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<script type="text/javascript">
jQuery( document ).ready( function() {
//upgrade styles
um_add_upgrade_log( '<?php echo esc_js( __( 'Upgrade user metadata...', 'ultimate-member' ) ) ?>' );
jQuery.ajax({
url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
action: 'um_metadata210beta1',
nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
um_add_upgrade_log( response.data.message );
um_memberdir210beta1();
} else {
um_wrong_ajax();
}
},
error: function() {
um_something_wrong();
}
});
//clear users cache
function um_memberdir210beta1() {
um_add_upgrade_log( '<?php echo esc_js( __( 'Upgrade Member Directories...', 'ultimate-member' ) ) ?>' );
jQuery.ajax({
url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
action: 'um_memberdir210beta1',
nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
um_add_upgrade_log( response.data.message );
//switch to the next package
um_run_upgrade();
} else {
um_wrong_ajax();
}
},
error: function() {
um_something_wrong();
}
});
}
});
</script>
@@ -0,0 +1,138 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit;
global $wpdb;
//update show messages button setting to hide messages button
$postmeta = $wpdb->get_results( "SELECT * FROM {$wpdb->postmeta} WHERE meta_key='_um_show_pm_button'", ARRAY_A );
if ( ! empty( $postmeta ) ) {
foreach ( $postmeta as $row ) {
$value = ( $row['meta_value'] == 0 ) ? 1 : 0;
update_post_meta( $row['post_id'], '_um_hide_pm_button', $value );
}
$wpdb->delete( "{$wpdb->postmeta}",
array(
'meta_value' => '_um_show_pm_button',
),
array(
'%s'
)
);
}
// Update role_select and role_radio filters to role
$postmeta = $wpdb->get_results( "SELECT * FROM {$wpdb->postmeta} WHERE meta_key='_um_search_fields'", ARRAY_A );
if ( ! empty( $postmeta ) ) {
foreach ( $postmeta as $row ) {
$meta_value = maybe_unserialize( $row['meta_value'] );
if ( is_array( $meta_value ) ) {
$update = false;
if ( false !== ( $index = array_search( 'role_select', $meta_value ) ) ) {
unset( $meta_value[ array_search( 'role_select', $meta_value ) ] );
$meta_value[] = 'role';
$update = true;
}
if ( false !== ( $index = array_search( 'role_radio', $meta_value ) ) ) {
unset( $meta_value[ array_search( 'role_radio', $meta_value ) ] );
$meta_value[] = 'role';
$update = true;
}
if ( $update ) {
update_post_meta( $row['post_id'], '_um_search_fields', array_unique( $meta_value ) );
}
}
}
}
// update member directories settings
$forms_query = new WP_Query;
$member_directories = $forms_query->query( array(
'post_type' => 'um_directory',
'posts_per_page' => -1,
'fields' => 'ids',
) );
if ( ! empty( $member_directories ) && ! is_wp_error( $member_directories ) ) {
foreach ( $member_directories as $id ) {
update_post_meta( $id, '_um_view_types', array( 'grid' ) );
update_post_meta( $id, '_um_default_view', 'grid' );
$search_enabled = get_post_meta( $id, '_um_search', true );
if ( $search_enabled ) {
$search_fields = $search_fields_old = get_post_meta( $id, '_um_search_fields', true );
if ( ! empty( $search_fields ) ) {
$can_search_roles = get_post_meta( $id, '_um_roles_can_search', true );
if ( false !== ( $last_login_key = array_search( '_um_last_login', $search_fields ) ) ) {
unset( $search_fields[ $last_login_key ] );
$search_fields[] = 'last_login';
}
if ( false !== ( $user_rating_key = array_search( 'user_rating', $search_fields ) ) ) {
unset( $search_fields[ $user_rating_key ] );
$search_fields[] = 'filter_rating';
}
$filter_fields = array_intersect( $search_fields, array_keys( UM()->member_directory()->filter_fields ) );
$general_search_fields = array_diff( $search_fields, array_keys( UM()->member_directory()->filter_fields ) );
$search_active = count( $general_search_fields ) > 0 ? 1 : 0;
update_post_meta( $id, '_um_search', $search_active );
update_post_meta( $id, '_um_filters', 1 );
update_post_meta( $id, '_um_roles_can_filter', $can_search_roles );
update_post_meta( $id, '_um_search_fields', $filter_fields );
update_post_meta( $id, '_um_search_fields_old', $search_fields_old );
} else {
update_post_meta( $id, '_um_search', 0 );
update_post_meta( $id, '_um_filters', 0 );
}
}
$default_filters = get_post_meta( $id, '_um_search_filters', true );
$default_filters_new = array();
if ( ! empty( $default_filters ) ) {
$default_filters_queries = explode( '&', $default_filters );
foreach ( $default_filters_queries as $filter_query_part ) {
$filter_query_parts = explode( '=', $filter_query_part );
$filter_key = $filter_query_parts[0];
$filter_value = $filter_query_parts[1];
$default_filters_new[ $filter_key ] = $filter_value;
}
}
update_post_meta( $id, '_um_search_filters', $default_filters_new );
update_post_meta( $id, '_um_search_filters_old', $default_filters );
update_post_meta( $id, '_um_search_old', $search_enabled );
}
}
// for user tags settings
if ( UM()->options()->get( 'members_page' ) ) {
$member_directory_id = false;
$page_id = UM()->config()->permalinks['members'];
if ( ! empty( $page_id ) ) {
$members_page = get_post( $page_id );
if ( ! empty( $members_page ) && ! is_wp_error( $members_page ) ) {
if ( ! empty( $members_page->post_content ) ) {
preg_match( '/\[ultimatemember[^\]]*?form_id\=[\'"]*?(\d+)[\'"]*?/i', $members_page->post_content, $matches );
if ( ! empty( $matches[1] ) && is_numeric( $matches[1] ) ) {
$member_directory_id = $matches[1];
}
}
}
}
if ( $member_directory_id ) {
UM()->options()->update( 'user_tags_base_directory' , $member_directory_id );
}
}
@@ -0,0 +1,18 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit;
global $wpdb;
$wpdb->update( "{$wpdb->usermeta}",
array(
'meta_value' => serialize( array() ),
),
array(
'meta_key' => 'um_account_secure_fields',
),
array(
'%s'
),
array(
'%s'
)
);