diff --git a/assets/js/um-members.min.js b/assets/js/um-members.min.js index 3791f393..fe9af5c1 100644 --- a/assets/js/um-members.min.js +++ b/assets/js/um-members.min.js @@ -1 +1 @@ -var um_members_directory_busy=[],um_member_directories=[],um_member_directory_last_data=[];function um_parse_current_url(){var t={},a=window.location.search.substring(1).split("&");return jQuery.each(a,function(e){var r=a[e].split("=");t[r[0]]=r[1]}),t}function um_get_data_for_directory(e,r){var t=um_members_get_hash(e),a={},i=um_parse_current_url();if(jQuery.each(i,function(e){-1!==e.indexOf("_"+t)&&""!==i[e]&&(a[e.replace("_"+t,"")]=i[e])}),r){if(void 0!==a[r])try{a[r]=decodeURI(a[r])}catch(e){console.error(e)}return a[r]}return a}function um_set_url_from_data(e,r,t){var a=um_members_get_hash(e),i=um_get_data_for_directory(e),m={};""!==t&&(m[r+"_"+a]=t),jQuery.each(i,function(e){r===e?""!==t&&(m[e+"_"+a]=t):m[e+"_"+a]=i[e]});var _=[];jQuery.each(m,function(e){_.push(e+"="+m[e])});var u="?"+_.join("&");window.history.pushState("string","UM Member Directory",window.location.origin+window.location.pathname+u)}function um_members_get_hash(e){return e.data("hash")}function um_is_directory_busy(e){var r=um_members_get_hash(e);return void 0!==um_members_directory_busy[r]&&um_members_directory_busy[r]}function um_members_show_preloader(e){um_members_directory_busy[um_members_get_hash(e)]=!0,e.find(".um-members-overlay").show()}function um_members_hide_preloader(e){um_members_directory_busy[um_members_get_hash(e)]=!1,e.find(".um-members-overlay").hide()}function um_set_range_label(e,r){var t=e.siblings(".um-slider-range").data("placeholder");t=r?t.replace("{min_range}",r.values[0]).replace("{max_range}",r.values[1]).replace("{field_label}",e.siblings(".um-slider-range").data("label")):t.replace("{min_range}",e.slider("values",0)).replace("{max_range}",e.slider("values",1)).replace("{field_label}",e.siblings(".um-slider-range").data("label")),e.siblings(".um-slider-range").html(t),e.siblings(".um_range_min").val(e.slider("values",0)),e.siblings(".um_range_max").val(e.slider("values",1))}function um_get_search(e){return e.find(".um-search-line").length?e.find(".um-search-line").val():""}function um_get_sort(e){return e.find(".um-member-directory-sorting-options").length?e.find(".um-member-directory-sorting-options").val():""}function um_get_current_page(e){var r=e.data("page");return r&&void 0!==r||(r=1),r}function um_ajax_get_members(m,e){var t=um_members_get_hash(m),r=um_get_current_page(m),a=um_get_search(m),i=um_get_sort(m),_=-(new Date).getTimezoneOffset()/60,u={directory_id:t,page:r,search:a,sorting:i,gmt_offset:_,post_refferer:m.data("base-post"),nonce:um_scripts.nonce};m.find(".um-search-filter").length&&m.find(".um-search-filter").each(function(){var e=jQuery(this);if(e.find(".um-slider").length){var r=e.find(".um-slider").data("field_name"),t=um_get_data_for_directory(m,"filter_"+r+"_from"),a=um_get_data_for_directory(m,"filter_"+r+"_to");void 0===t&&void 0===a||(u[r]=[t,a])}else if(e.find(".um-datepicker-filter").length){r=e.find(".um-datepicker-filter").data("filter_name"),t=um_get_data_for_directory(m,"filter_"+r+"_from"),a=um_get_data_for_directory(m,"filter_"+r+"_to");void 0===t&&void 0===a||(u[r]=[t,a])}else if(e.find(".um-timepicker-filter").length){r=e.find(".um-timepicker-filter").data("filter_name"),t=um_get_data_for_directory(m,"filter_"+r+"_from"),a=um_get_data_for_directory(m,"filter_"+r+"_to");void 0===t&&void 0===a||(u[r]=[t,a])}else{r=e.find("select").attr("name");var i=um_get_data_for_directory(m,"filter_"+r);void 0!==i&&(u[r]=i.split("||"))}}),wp.ajax.send("um_get_members",{data:u,success:function(e){um_member_directory_last_data[t]=e,um_build_template(m,e.users),um_members_hide_preloader(m);var r=wp.template("um-members-pagination");m.find(".um-members-pagination-box").html(r(e)),m.data("total_pages",e.pagination.total_pages),jQuery(document).trigger("um_members_rendered")},error:function(e){console.log(e),um_members_hide_preloader(m)}})}function um_build_template(e,r){var t=e.data("view_type"),a=wp.template("um-member-"+t);e.find(".um-members-grid, .um-members-list").remove(),e.find(".um-members-wrapper").prepend(a(r)),e.addClass("um-loaded"),e.find(".um-members").length&&(UM_Member_Grid(e.find(".um-members")),jQuery(window).trigger("resize")),jQuery(document).trigger("um_build_template",[e,r]),jQuery(window).trigger("resize")}function UM_Member_Grid(e){e.find(".um-member").length&&e.imagesLoaded(function(){e.masonry({itemSelector:".um-member",columnWidth:".um-member",gutter:".um-gutter-sizer"}).on("layoutComplete",function(e,r){jQuery(document).trigger("um_grid_initialized",[e,r])})})}function um_change_tag(d){var n=[];d.find(".um-search-filter").each(function(){var t,a,_,i=jQuery(this);if(i.find("input.um-datepicker-filter").length)_="datepicker",i.find("input.um-datepicker-filter").each(function(){if("to"!==jQuery(this).data("range")){var e=jQuery(this).data("filter_name"),r=um_get_data_for_directory(d,"filter_"+e+"_from"),t=um_get_data_for_directory(d,"filter_"+e+"_to");if(void 0!==r||void 0!==t){var a,i=jQuery(this).val(),m=d.find('input.um-datepicker-filter[data-range="to"][data-filter_name="'+e+'"]').val();""!==i&&""!==m?a=i+" - "+m:""===i?a="before "+m:""===m&&(a="since "+i),n.push({name:e,label:jQuery(this).data("filter-label"),value_label:a,value:[r,t],type:_})}}});else if(i.find("input.um-timepicker-filter").length)_="timepicker",i.find("input.um-timepicker-filter").each(function(){if("to"!==jQuery(this).data("range")){var e=jQuery(this).data("filter_name"),r=um_get_data_for_directory(d,"filter_"+e+"_from"),t=um_get_data_for_directory(d,"filter_"+e+"_to");if(void 0!==r||void 0!==t){var a,i=jQuery(this).val(),m=d.find('input.um-timepicker-filter[data-range="to"][data-filter_name="'+e+'"]').val();""!==i&&""!==m?a=i+" - "+m:""===i?a="before "+m:""===m&&(a="since "+i),n.push({name:e,label:jQuery(this).data("filter-label"),value_label:a,value:[r,t],type:_})}}});else if(i.find("select").length){_="select",t=i.find("select").attr("name"),a=i.find("select").data("placeholder");var m=um_get_data_for_directory(d,"filter_"+t);m=void 0===m?[]:m.split("||"),jQuery.each(m,function(e){var r=i.find('select option[value="'+m[e]+'"]').data("value_label");n.push({name:t,label:a,value_label:r,value:m[e],type:_})})}else if(i.find("div.ui-slider").length){_="slider",t=i.find("div.ui-slider").data("field_name");var e=um_get_data_for_directory(d,"filter_"+t+"_from"),r=um_get_data_for_directory(d,"filter_"+t+"_to");if(void 0===e&&void 0===r)return;a=i.find("div.um-slider-range").data("label");var u=i.find("div.um-slider-range").data("placeholder").replace("{min_range}",e).replace("{max_range}",r).replace("{field_label}",i.find("div.um-slider-range").data("label"));n.push({name:t,label:a,value_label:u,value:[e,r],type:_})}}),d.find(".um-members-filter-tag").remove();var e=wp.template("um-members-filtered-line");d.find(".um-filtered-line").prepend(e({filters:n})),0filter_supported_fields = apply_filters( 'um_members_directory_custom_field_types_supported_filter', array( 'date', 'time', 'select', 'multiselect', 'radio', 'checkbox', 'rating' ) ); - if ( UM()->builtin()->saved_fields ) { + if ( ! empty( UM()->builtin()->saved_fields ) ) { foreach ( UM()->builtin()->saved_fields as $key => $data ) { if ( isset( $data['type'] ) && in_array( $data['type'], $this->filter_supported_fields ) ) { if ( isset( $data['title'] ) && array_search( $data['title'], $this->filter_fields ) !== false ) { diff --git a/templates/members.php b/templates/members.php index 8827f4d0..c4ec9c7f 100644 --- a/templates/members.php +++ b/templates/members.php @@ -50,7 +50,7 @@ if ( count( $args['view_types'] ) == 1 ) { $default_sorting = ! empty( $args['sortby'] ) ? $args['sortby'] : 'user_registered_desc'; $sort_from_url = ''; -if ( isset( $args['enable_sorting'] ) ) { +if ( ! empty( $args['enable_sorting'] ) ) { $sorting_options = empty( $args['sorting_fields'] ) ? array() : $args['sorting_fields']; if ( ! in_array( $default_sorting, $sorting_options ) ) { $sorting_options[] = $default_sorting; @@ -107,7 +107,7 @@ if ( ! $single_view ) { $classes .= ' um-member-with-view'; } -if ( isset( $args['enable_sorting'] ) && ! empty( $sorting_options ) && count( $sorting_options ) > 1 ) { +if ( ! empty( $args['enable_sorting'] ) && ! empty( $sorting_options ) && count( $sorting_options ) > 1 ) { $classes .= ' um-member-with-sorting'; } @@ -141,7 +141,7 @@ UM()->get_template( 'members-pagination.php', '', $args, true ); ?> 1 ) { ?> + if ( ! empty( $args['enable_sorting'] ) && ! empty( $sorting_options ) && count( $sorting_options ) > 1 ) { ?>