From e61b17dad0e6d894e31d0683ed996e8f5c9d2601 Mon Sep 17 00:00:00 2001 From: ashubawork Date: Tue, 16 Apr 2024 13:24:08 +0300 Subject: [PATCH 1/2] - fix for default member directory --- includes/core/class-member-directory.php | 42 ++++++++++++++++++------ 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/includes/core/class-member-directory.php b/includes/core/class-member-directory.php index 0438baba..643fe03b 100644 --- a/includes/core/class-member-directory.php +++ b/includes/core/class-member-directory.php @@ -284,11 +284,11 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) { $temp_value[ $k ][1] = sanitize_text_field( $_POST[ $k . '_to' ] ); } } elseif ( 'timepicker' === $filter_type ) { - if ( ! empty( $_POST[ $k . '_from' ] ) && ! empty( $_POST[ $k . '_to' ] ) ) { - $temp_value[ $k ] = array( - sanitize_text_field( $_POST[ $k . '_from' ] ), - sanitize_text_field( $_POST[ $k . '_to' ] ), - ); + if ( ! empty( $_POST[ $k . '_from' ] ) ) { + $temp_value[ $k ][0] = sanitize_text_field( $_POST[ $k . '_from' ] ); + } + if ( ! empty( $_POST[ $k . '_to' ] ) ) { + $temp_value[ $k ][1] = sanitize_text_field( $_POST[ $k . '_to' ] ); } } elseif ( 'select' === $filter_type ) { if ( ! empty( $_POST[ $k ] ) ) { @@ -917,6 +917,15 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) { break; } + $default_value_min = $range[0]; + $default_value_max = $range[1]; + if ( ! empty( $default_value[0] ) ) { + $default_value_min = $default_value[0]; + } + if ( ! empty( $default_value[1] ) ) { + $default_value_max = $default_value[1]; + } + if ( $range ) { ?> + data-filter_name="" data-range="from" data-value="" /> placeholder="" data-filter-label="" data-min="" data-max="" data-format="" data-intervals="" - data-filter_name="" data-range="to" /> + data-filter_name="" data-range="to" data-value="" /> timepicker_filters_range( $field ); + $value[0] = $range[0] . ':00'; + } + if ( ! empty( $value[1] ) ) { + $value[1] = $value[1] . ':00'; + } else { + $range = $this->timepicker_filters_range( $field ); + $value[1] = $range[1] . ':00'; + } + + if ( $value[0] === $value[1] ) { $field_query = array( - 'key' => $field, - 'value' => $value[0], + 'key' => $field, + 'value' => $value[0], ); } else { $field_query = array( From 50bcca2904ead15ac871a31a17a349c7bae0c2f4 Mon Sep 17 00:00:00 2001 From: ashubawork Date: Tue, 16 Apr 2024 13:47:09 +0300 Subject: [PATCH 2/2] - fix for custom table --- includes/core/class-member-directory-meta.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/includes/core/class-member-directory-meta.php b/includes/core/class-member-directory-meta.php index a57158e3..8460f520 100644 --- a/includes/core/class-member-directory-meta.php +++ b/includes/core/class-member-directory-meta.php @@ -416,6 +416,18 @@ if ( ! class_exists( 'um\core\Member_Directory_Meta' ) ) { break; case 'timepicker': + if ( ! empty( $value[0] ) ) { + $value[0] = $value[0] . ':00'; + } else { + $range = $this->timepicker_filters_range( $field ); + $value[0] = $range[0] . ':00'; + } + if ( ! empty( $value[1] ) ) { + $value[1] = $value[1] . ':00'; + } else { + $range = $this->timepicker_filters_range( $field ); + $value[1] = $range[1] . ':00'; + } // $join_alias is pre-escaped. $this->joins[] = "LEFT JOIN {$wpdb->prefix}um_metadata {$join_alias} ON {$join_alias}.user_id = u.ID"; if ( $value[0] === $value[1] ) {