mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-07-19 06:33:50 +09:00
- member directories upgrade;
- user tags integration; - fixed member directory pagination; - fixed styles;
This commit is contained in:
@@ -1,14 +0,0 @@
|
||||
<?php if ( ! defined( 'ABSPATH' ) ) exit;
|
||||
|
||||
|
||||
function um_upgrade_metadata210alpha3() {
|
||||
UM()->admin()->check_ajax_nonce();
|
||||
|
||||
um_maybe_unset_time_limit();
|
||||
|
||||
include 'metadata.php';
|
||||
|
||||
update_option( 'um_last_version_upgrade', '2.1.0-alpha3' );
|
||||
|
||||
wp_send_json_success( array( 'message' => __( 'Usermeta was upgraded successfully', 'ultimate-member' ) ) );
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
<?php if ( ! defined( 'ABSPATH' ) ) exit;
|
||||
|
||||
return array(
|
||||
'metadata210alpha3' => 'metadata210alpha3',
|
||||
);
|
||||
@@ -1,31 +0,0 @@
|
||||
<?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_metadata210alpha3',
|
||||
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,25 @@
|
||||
<?php if ( ! defined( 'ABSPATH' ) ) exit;
|
||||
|
||||
|
||||
function um_upgrade_metadata210alpha4() {
|
||||
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_memberdir210alpha4() {
|
||||
UM()->admin()->check_ajax_nonce();
|
||||
|
||||
um_maybe_unset_time_limit();
|
||||
|
||||
include 'member-directory.php';
|
||||
|
||||
update_option( 'um_last_version_upgrade', '2.1.0-alpha4' );
|
||||
|
||||
wp_send_json_success( array( 'message' => __( 'Member directories were upgraded successfully', 'ultimate-member' ) ) );
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
<?php if ( ! defined( 'ABSPATH' ) ) exit;
|
||||
|
||||
return array(
|
||||
'metadata210alpha4' => 'metadata210alpha4',
|
||||
'memberdir210alpha4' => 'memberdir210alpha4',
|
||||
);
|
||||
@@ -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_metadata210alpha4',
|
||||
nonce: um_admin_scripts.nonce
|
||||
},
|
||||
success: function( response ) {
|
||||
if ( typeof response.data != 'undefined' ) {
|
||||
um_add_upgrade_log( response.data.message );
|
||||
um_memberdir210();
|
||||
} else {
|
||||
um_wrong_ajax();
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
um_something_wrong();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//clear users cache
|
||||
function um_memberdir210() {
|
||||
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_memberdir210alpha4',
|
||||
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,93 @@
|
||||
<?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 ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$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';
|
||||
}
|
||||
|
||||
$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 );
|
||||
}
|
||||
}
|
||||
|
||||
update_post_meta( $id, '_um_search_old', $search_enabled );
|
||||
}
|
||||
}
|
||||
@@ -2,14 +2,6 @@
|
||||
|
||||
global $post_id;
|
||||
|
||||
$meta = get_post_custom( get_the_ID() );
|
||||
foreach( $meta as $k => $v ) {
|
||||
if ( strstr( $k, '_um_' ) && !is_array( $v[0] ) ) {
|
||||
//print "'$k' => '" . $v[0] . "',<br />";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$_um_roles_value = get_post_meta( $post_id, '_um_roles', true );
|
||||
$_um_roles_value = empty( $_um_roles_value ) ? array() : $_um_roles_value;
|
||||
|
||||
@@ -19,7 +11,7 @@ if ( $show_these_users ) {
|
||||
}
|
||||
|
||||
$_um_view_types_value = get_post_meta( $post_id, '_um_view_types', true );
|
||||
$_um_view_types_value = empty( $_um_view_types_value ) ? array( 'grid', 'list' ) : $_um_view_types_value;
|
||||
$_um_view_types_value = empty( $_um_view_types_value ) ? array( 'grid', 'list' ) : $_um_view_types_value;
|
||||
|
||||
$view_types_options = array_map( function( $item ) {
|
||||
return $item['title'];
|
||||
@@ -28,8 +20,7 @@ $view_types_options = array_map( function( $item ) {
|
||||
$conditional = array();
|
||||
foreach ( $view_types_options as $key => $value ) {
|
||||
$conditional[] = '_um_view_types_' . $key;
|
||||
}
|
||||
?>
|
||||
} ?>
|
||||
|
||||
<div class="um-admin-metabox">
|
||||
|
||||
|
||||
@@ -137,7 +137,7 @@ if ( ! class_exists( 'um\core\Enqueue' ) ) {
|
||||
|
||||
wp_register_script('um_dropdown', $this->js_baseurl . 'dropdown' . $this->suffix . '.js', array( 'jquery' ), ultimatemember_version, true );
|
||||
|
||||
wp_register_script('um_members', $this->js_baseurl . 'um-members' . $this->suffix . '.js', array( 'jquery', 'wp-util', 'jquery-ui-slider', 'um_dropdown' ), ultimatemember_version, true );
|
||||
wp_register_script('um_members', $this->js_baseurl . 'um-members' . $this->suffix . '.js', array( 'jquery', 'wp-util', 'jquery-ui-slider', 'um_dropdown', 'wp-hooks' ), ultimatemember_version, true );
|
||||
wp_register_script('um_profile', $this->js_baseurl . 'um-profile' . $this->suffix . '.js', array( 'jquery', 'wp-util' ), ultimatemember_version, true );
|
||||
wp_register_script('um_account', $this->js_baseurl . 'um-account' . $this->suffix . '.js', array( 'jquery' ), ultimatemember_version, true );
|
||||
|
||||
|
||||
@@ -292,6 +292,9 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function init_filter_types() {
|
||||
$this->filter_types = apply_filters( 'um_members_directory_filter_types', array(
|
||||
'country' => 'select',
|
||||
@@ -386,7 +389,7 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
|
||||
* }
|
||||
* ?>
|
||||
*/
|
||||
$attrs = apply_filters( "um_custom_search_field_{$filter}", array() );
|
||||
$attrs = apply_filters( "um_custom_search_field_{$filter}", array(), $field_key );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -410,7 +413,7 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
|
||||
* }
|
||||
* ?>
|
||||
*/
|
||||
$attrs = apply_filters( 'um_search_fields', $attrs );
|
||||
$attrs = apply_filters( 'um_search_fields', $attrs, $field_key );
|
||||
|
||||
$unique_hash = substr( md5( $directory_data['form_id'] ), 10, 5 );
|
||||
|
||||
@@ -583,7 +586,6 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
|
||||
*/
|
||||
function slider_filters_range( $filter, $directory_data ) {
|
||||
|
||||
|
||||
switch ( $filter ) {
|
||||
|
||||
default: {
|
||||
@@ -638,10 +640,10 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
|
||||
if ( ! $placeholder ) {
|
||||
switch ( $attrs['type'] ) {
|
||||
default:
|
||||
$placeholder = "<strong>$label:</strong> {min_range} - {max_range}";
|
||||
$placeholder = "<strong>$label:</strong> {min_range} - {max_range}";
|
||||
break;
|
||||
case 'rating':
|
||||
$placeholder = "<strong>$label:</strong> {min_range} - {max_range}" . __( ' stars', 'ultimate-member' );
|
||||
$placeholder = "<strong>$label:</strong> {min_range} - {max_range}" . __( ' stars', 'ultimate-member' );
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -649,7 +651,7 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
|
||||
break;
|
||||
}
|
||||
case 'birth_date': {
|
||||
$placeholder = __( '<strong>Age:</strong> {min_range} - {max_range} years old', 'ultimate-member' );
|
||||
$placeholder = __( '<strong>Age:</strong> {min_range} - {max_range} years old', 'ultimate-member' );
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1250,7 +1252,9 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
|
||||
}
|
||||
}
|
||||
|
||||
if ( empty( $filter_query ) ) {
|
||||
$ignore_empty_filters = apply_filters( 'um_member_directory_ignore_empty_filters', false );
|
||||
|
||||
if ( empty( $filter_query ) && ! $ignore_empty_filters ) {
|
||||
add_filter( 'um_member_directory_organic_search_replacement', array( &$this, 'organic_replacement' ) );
|
||||
return;
|
||||
}
|
||||
@@ -1484,7 +1488,7 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
|
||||
|
||||
$current_page = ! empty( $_POST['page'] ) ? $_POST['page'] : 1;
|
||||
|
||||
$total_users = ( ! empty( $max_users ) && $max_users <= $result->total_users ) ? $max_users : $result->total_users;
|
||||
$total_users = ( ! empty( $directory_data['max_users'] ) && $directory_data['max_users'] <= $result->total_users ) ? $directory_data['max_users'] : $result->total_users;
|
||||
$total_pages = ceil( $total_users / $directory_data['profiles_per_page'] );
|
||||
|
||||
if ( ! empty( $total_pages ) ) {
|
||||
@@ -1732,6 +1736,7 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
|
||||
wp_send_json_success( array( 'users' => array(), 'pagination' => $pagination_data ) );
|
||||
}
|
||||
|
||||
do_action( 'um_member_directory_before_query' );
|
||||
|
||||
// Prepare for BIG SELECT query
|
||||
$wpdb->query( 'SET SQL_BIG_SELECTS=1' );
|
||||
@@ -1818,8 +1823,6 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
|
||||
|
||||
$user_query = new \WP_User_Query( $this->query_args );
|
||||
|
||||
//var_dump( $user_query->request );
|
||||
|
||||
remove_filter( 'get_meta_sql', array( &$this, 'change_meta_sql' ), 10 );
|
||||
|
||||
/**
|
||||
|
||||
@@ -542,21 +542,22 @@ if ( ! class_exists( 'um\core\Shortcodes' ) ) {
|
||||
*/
|
||||
function load( $args ) {
|
||||
$defaults = array();
|
||||
$args = wp_parse_args($args, $defaults);
|
||||
$args = wp_parse_args( $args, $defaults );
|
||||
|
||||
// when to not continue
|
||||
$this->form_id = (isset($args['form_id'])) ? $args['form_id'] : null;
|
||||
if (!$this->form_id) {
|
||||
$this->form_id = isset( $args['form_id'] ) ? $args['form_id'] : null;
|
||||
if ( ! $this->form_id ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->form_status = get_post_status($this->form_id);
|
||||
if ($this->form_status != 'publish') {
|
||||
$this->form_status = get_post_status( $this->form_id );
|
||||
if ( $this->form_status != 'publish' ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// get data into one global array
|
||||
$post_data = UM()->query()->post_data( $this->form_id );
|
||||
$args = array_merge( $args, $post_data );
|
||||
|
||||
ob_start();
|
||||
|
||||
@@ -581,7 +582,7 @@ if ( ! class_exists( 'um\core\Shortcodes' ) ) {
|
||||
* }
|
||||
* ?>
|
||||
*/
|
||||
$args = apply_filters( 'um_pre_args_setup', $post_data );
|
||||
$args = apply_filters( 'um_pre_args_setup', $args );
|
||||
|
||||
if ( ! isset( $args['template'] ) ) {
|
||||
$args['template'] = '';
|
||||
|
||||
Reference in New Issue
Block a user