From efdbde0eee3875d3e82ea8e821b367739016d97f Mon Sep 17 00:00:00 2001 From: nikitasinelnikov Date: Mon, 9 Sep 2019 12:39:45 +0300 Subject: [PATCH] - member directory; --- assets/js/um-members.js | 16 +++++++--------- assets/js/um-members.min.js | 2 +- includes/admin/assets/js/um-admin-forms.js | 19 +++++++++++++++++++ includes/core/class-member-directory.php | 2 +- includes/core/class-setup.php | 2 ++ templates/members.php | 3 +++ 6 files changed, 33 insertions(+), 11 deletions(-) diff --git a/assets/js/um-members.js b/assets/js/um-members.js index 018e5b3d..20181771 100644 --- a/assets/js/um-members.js +++ b/assets/js/um-members.js @@ -244,11 +244,12 @@ function um_build_template( directory, data ) { if ( directory.find('.um-members').length ) { UM_Member_Grid( directory.find('.um-members') ); - jQuery( window ).trigger( 'resize' ); } - jQuery( document ).trigger( "um_build_template", [ directory, data ] ); - jQuery( window ).trigger( "resize" ); + jQuery( document ).trigger( 'um_build_template', [ directory, data ] ); + jQuery( window ).trigger( 'resize' ); + + init_tipsy(); } @@ -279,12 +280,8 @@ function um_change_tag( directory ) { directory.find('.um-search-filter').each( function() { var filter = jQuery(this); - var hoper, - filter_name, - query_value, - filter_title, - filter_range, - filter_value_title; + var filter_name, + filter_title; var filter_type; if ( filter.find('input.um-datepicker-filter').length ) { @@ -468,6 +465,7 @@ jQuery(document).ready( function() { um_build_template( directory, data.users ); } + um_members_hide_preloader( directory ); }); diff --git a/assets/js/um-members.min.js b/assets/js/um-members.min.js index 5347ec94..fbb251e6 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);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"),um_members_hide_preloader(m)},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 o=[];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),o.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),o.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");o.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"));o.push({name:t,label:a,value_label:u,value:[e,r],type:_})}}),d.find(".um-members-filter-tag").remove();var e=d.find(".um-filtered-line");if(e.length){var r=wp.template("um-members-filtered-line");e.prepend(r({filters:o})),0<' ) { + var condition_field = jQuery( '#' + prefix + '_' + conditional[0] + '_' + conditional[2] ); + + if ( typeof condition_field.parents('.um-forms-line').data('conditional') !== 'undefined' ) { + parent_condition = check_condition( condition_field.parents('.um-forms-line') ); + } } var own_condition = false; @@ -374,6 +380,19 @@ jQuery(document).ready( function() { } return ( own_condition && parent_condition ); + } else if ( condition === '><' ) { + + var tagName = condition_field.prop("tagName").toLowerCase(); + + if ( tagName == 'input' ) { + var input_type = condition_field.attr('type'); + if ( input_type == 'checkbox' ) { + own_condition = condition_field.is(':checked'); + } + } + + return ( own_condition && parent_condition ); + } return false; diff --git a/includes/core/class-member-directory.php b/includes/core/class-member-directory.php index f9dea0ad..c8077d6d 100644 --- a/includes/core/class-member-directory.php +++ b/includes/core/class-member-directory.php @@ -1583,7 +1583,7 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) { } } - $data_array = apply_filters( 'um_ajax_get_members_data', $data_array, $user_id ); + $data_array = apply_filters( 'um_ajax_get_members_data', $data_array, $user_id, $directory_data ); um_reset_user_clean(); return $data_array; diff --git a/includes/core/class-setup.php b/includes/core/class-setup.php index 75dbb4bc..1758ea38 100644 --- a/includes/core/class-setup.php +++ b/includes/core/class-setup.php @@ -184,6 +184,8 @@ if ( ! class_exists( 'um\core\Setup' ) ) { $content = '[ultimatemember form_id="' . $setup_shortcodes[ $slug ] . '"]'; } + $content = apply_filters( 'um_setup_predefined_page_content', $content, $slug ); + $user_page = array( 'post_title' => $array['title'], 'post_content' => $content, diff --git a/templates/members.php b/templates/members.php index 81720e32..97b5e750 100644 --- a/templates/members.php +++ b/templates/members.php @@ -21,6 +21,9 @@ if ( is_user_logged_in() ) { } +$args = apply_filters( 'um_member_directory_agruments_on_load', $args ); + + // Views $single_view = false; $current_view = 'grid';