diff --git a/admin/core/um-admin-actions-modal.php b/admin/core/um-admin-actions-modal.php index ab0d8f17..5b0bf2e2 100644 --- a/admin/core/um-admin-actions-modal.php +++ b/admin/core/um-admin-actions-modal.php @@ -46,7 +46,7 @@

-

+

diff --git a/admin/templates/directory/profile_card.php b/admin/templates/directory/profile_card.php index 5bfc38e6..4f224176 100644 --- a/admin/templates/directory/profile_card.php +++ b/admin/templates/directory/profile_card.php @@ -16,4 +16,8 @@

+

+ +

+ \ No newline at end of file diff --git a/admin/templates/form/login_customize.php b/admin/templates/form/login_customize.php index 2ac9862c..f8211574 100644 --- a/admin/templates/form/login_customize.php +++ b/admin/templates/form/login_customize.php @@ -88,6 +88,15 @@

+

+ + + + ui_on_off('_um_login_forgot_pass_link', um_get_option('login_forgot_pass_link') ); ?> + + +

+ \ No newline at end of file diff --git a/assets/dynamic_css/dynamic_directory.php b/assets/dynamic_css/dynamic_directory.php index baeecfd6..01bd93c9 100644 --- a/assets/dynamic_css/dynamic_directory.php +++ b/assets/dynamic_css/dynamic_directory.php @@ -9,6 +9,14 @@ print ".um-$form_id .um-member { } +if ( isset( $css_card_thickness ) ) { + +print ".um-$form_id .um-member { + border-width: $css_card_thickness !important; +}"; + +} + if ($css_profile_card_text) { print ".um-$form_id .um-member-card * { diff --git a/assets/js/um-conditional.js b/assets/js/um-conditional.js index d722f035..49859701 100644 --- a/assets/js/um-conditional.js +++ b/assets/js/um-conditional.js @@ -13,13 +13,18 @@ jQuery(document).ready(function() { live_field = jQuery(this).parents('.um-field').data('key'); live_value = jQuery(this).val(); - + if ( jQuery(this).is(':checkbox') ) { live_value = jQuery(this).parents('.um-field').find('input:checked').val(); } + if ( jQuery(this).is(':radio') ) { + live_value = jQuery(this).parents('.um-field').find('input[type=radio]:checked').val(); + } + um_conditional(); }); + jQuery('.um-field input[type=radio], .um-field input[type=checkbox]').trigger('change'); }); \ No newline at end of file diff --git a/assets/js/um.min.js b/assets/js/um.min.js index 3f1f08f1..3686633a 100644 --- a/assets/js/um.min.js +++ b/assets/js/um.min.js @@ -121,7 +121,6 @@ jQuery(document).on("click",".um-finish-upload.image",function(){var a=jQuery(th data:{action:"ultimatemember_resize_image",src:f,coord:c,user_id:g,key:b},success:function(e){d=new Date;b=="profile_photo"&&jQuery(".um-profile-photo-img img").attr("src",e+"?"+d.getTime());if(b=="cover_photo"){jQuery(".um-cover-e").empty().html('');jQuery(".um").hasClass("um-editing")&&jQuery(".um-cover-overlay").show()}jQuery(".um-single-image-preview[data-key="+b+"]").fadeIn().find("img").attr("src",e+"?"+d.getTime());um_remove_modal();jQuery(".um-single-image-preview[data-key="+ b+"]").parents(".um-field").find(".um-btn-auto-width").html(a.attr("data-change"));jQuery(".um-single-image-preview[data-key="+b+"]").parents(".um-field").find("input[type=hidden]").val(e)}})}else{d=new Date;jQuery(".um-single-image-preview[data-key="+b+"]").fadeIn().find("img").attr("src",f+"?"+d.getTime());um_remove_modal();jQuery(".um-single-image-preview[data-key="+b+"]").parents(".um-field").find(".um-btn-auto-width").html(a.attr("data-change"));jQuery(".um-single-image-preview[data-key="+b+ "]").parents(".um-field").find("input[type=hidden]").val(f)}});jQuery(document).on("click",'a[data-modal^="um_"], span[data-modal^="um_"]',function(){var a=jQuery(this).attr("data-modal"),b=jQuery(this).data("modal-size")?jQuery(this).data("modal-size"):"normal";if(jQuery(this).data("modal-copy")){jQuery("#"+a).html(jQuery(this).parents(".um-field").find(".um-modal-hidden-content").html());jQuery(this).parents(".um-profile-photo").attr("data-user_id")&&jQuery("#"+a).attr("data-user_id",jQuery(this).parents(".um-profile-photo").attr("data-user_id")); -jQuery(this).parents(".um-cover").attr("data-ratio")&&jQuery("#"+a).attr("data-ratio",jQuery(this).parents(".um-cover").attr("data-ratio"));jQuery(this).parents(".um-cover").attr("data-user_id")&&jQuery("#"+a).attr("data-user_id",jQuery(this).parents(".um-cover").attr("data-user_id"))}um_new_modal(a,b)});jQuery(document).on("input",".um-field input[type=text]",function(){live_field=jQuery(this).parents(".um-field").data("key");live_value=jQuery(this).val();um_conditional()});jQuery(".um-field input[type=text]").trigger("input"); -jQuery(document).on("change",".um-field select, .um-field input[type=radio], .um-field input[type=checkbox]",function(){live_field=jQuery(this).parents(".um-field").data("key");live_value=jQuery(this).val();if(jQuery(this).is(":checkbox"))live_value=jQuery(this).parents(".um-field").find("input:checked").val();um_conditional()});jQuery(document).on('click','.um-dropdown a',function(e){return false});jQuery(document).on('click','.um-dropdown a.real_url',function(e){window.location = jQuery(this).attr('href')});jQuery(document).on('click','.um-trigger-menu-on-click',function(e){jQuery('.um-dropdown').hide();menu = jQuery(this).find('.um-dropdown');menu.show();return false});jQuery(document).on('click','.um-dropdown-hide',function(e){UM_hide_menus()});jQuery(document).on('click','a.um-manual-trigger',function(){var child = jQuery(this).attr('data-child');var parent = jQuery(this).attr('data-parent');jQuery(this).parents(parent).find(child).trigger('click')});jQuery('.um-tip-n').tipsy({gravity:'n',opacity:1,live:true,offset:3});jQuery('.um-tip-w').tipsy({gravity:'w',opacity:1,live:true,offset:3});jQuery('.um-tip-e').tipsy({gravity:'e',opacity:1,live:true,offset:3});jQuery('.um-tip-s').tipsy({gravity:'s',opacity:1,live:true,offset:3});jQuery('.um-field input[type=radio]').change(function(){var field = jQuery(this).parents('.um-field');var this_field = jQuery(this).parents('label');field.find('.um-field-radio').removeClass('active');field.find('.um-field-radio').find('i').removeClass().addClass('um-icon-android-radio-button-off');this_field.addClass('active');this_field.find('i').removeClass().addClass('um-icon-android-radio-button-on')});jQuery('.um-field input[type=checkbox]').change(function(){var field = jQuery(this).parents('.um-field');var this_field = jQuery(this).parents('label');if(this_field.hasClass('active')){this_field.removeClass('active');this_field.find('i').removeClass().addClass('um-icon-android-checkbox-outline-blank')}else{this_field.addClass('active');this_field.find('i').removeClass().addClass('um-icon-android-checkbox-outline')}});jQuery('.um-datepicker').each(function(){elem = jQuery(this);if(elem.attr('data-disabled_weekdays')!= ''){var disable = JSON.parse(elem.attr('data-disabled_weekdays'))}else{var disable = false}var years_n = elem.attr('data-years');var min = new Date(elem.attr('data-date_min'));var max = new Date(elem.attr('data-date_max'));elem.pickadate({selectYears:years_n,min:min,max:max,disable:disable,format:elem.attr('data-format'),formatSubmit:'yyyy/mm/dd',hiddenName:true})});jQuery('.um-timepicker').each(function(){elem = jQuery(this);elem.pickatime({format:elem.attr('data-format'),interval:parseInt(elem.attr('data-intervals')),formatSubmit:'HH:i',hiddenName:true})});jQuery('.um-rating').raty({half:false,starType:'i',number:function(){return jQuery(this).attr('data-number')},score:function(){return jQuery(this).attr('data-score')},scoreName:function(){return jQuery(this).attr('data-key')},hints:false,click:function(score,evt){live_field = this.id;live_value = score;um_conditional()}});jQuery('.um-rating-readonly').raty({half:false,starType:'i',number:function(){return jQuery(this).attr('data-number')},score:function(){return jQuery(this).attr('data-score')},scoreName:function(){return jQuery(this).attr('data-key')},hints:false,readOnly:true});jQuery(document).on('click','.um .um-single-image-preview a.cancel',function(e){e.preventDefault();var parent = jQuery(this).parents('.um-field');var src = jQuery(this).parents('.um-field').find('.um-single-image-preview img').attr('src');parent.find('.um-single-image-preview img').attr('src','');parent.find('.um-single-image-preview').hide();parent.find('.um-btn-auto-width').html('Upload');parent.find('input[type=hidden]').val('');jQuery.ajax({url:ultimatemember_ajax_url,type:'post',data:{action:'ultimatemember_remove_file',src:src}});return false});jQuery(document).on('click','.um .um-single-file-preview a.cancel',function(e){e.preventDefault();var parent = jQuery(this).parents('.um-field');var src = jQuery(this).parents('.um-field').find('.um-single-fileinfo a').attr('href');parent.find('.um-single-file-preview').hide();parent.find('.um-btn-auto-width').html('Upload');parent.find('input[type=hidden]').val('');jQuery.ajax({url:ultimatemember_ajax_url,type:'post',data:{action:'ultimatemember_remove_file',src:src}});return false});jQuery(".um-s1").select2({allowClear:true,minimumResultsForSearch:10});jQuery(".um-s2").select2({allowClear:false,minimumResultsForSearch:10});jQuery('.um-s1,.um-s2').css({'display':'block'});jQuery(document).on('click','.um-field-group-head:not(.disabled)',function(){var field = jQuery(this).parents('.um-field-group');var limit = field.data('max_entries');if(field.find('.um-field-group-body').is(':hidden')){field.find('.um-field-group-body').show()}else{field.find('.um-field-group-body:first').clone().appendTo(field)}increase_id = 0;field.find('.um-field-group-body').each(function(){increase_id++;jQuery(this).find('input').each(function(){var input = jQuery(this);input.attr('id',input.data('key')+'-'+increase_id);input.attr('name',input.data('key')+'-'+increase_id);input.parent().parent().find('label').attr('for',input.data('key')+'-'+increase_id)})});if(limit>0 && field.find('.um-field-group-body').length == limit){jQuery(this).addClass('disabled')}});jQuery(document).on('click','.um-field-group-cancel',function(e){e.preventDefault();var field = jQuery(this).parents('.um-field-group');var limit = field.data('max_entries');if(field.find('.um-field-group-body').length>1){jQuery(this).parents('.um-field-group-body').remove()}else{jQuery(this).parents('.um-field-group-body').hide()}if(limit>0 && field.find('.um-field-group-body').length < limit){field.find('.um-field-group-head').removeClass('disabled')}return false});jQuery('.um-members').each(function(){UM_Member_Grid(jQuery(this))});jQuery('.um-member-connect').each(function(){if(jQuery(this).find('a').length == 0){jQuery(this).remove()}});jQuery('.um-member-meta-main').each(function(){if(jQuery(this).find('.um-member-metaline').length == 0 && jQuery(this).find('.um-member-connect').find('a').length == 0){jQuery(this).remove()}});jQuery(document).on('click','.um-member-more a',function(e){e.preventDefault();var block = jQuery(this).parents('.um-member');var container = jQuery(this).parents('.um-members');block.find('.um-member-more').hide();block.find('.um-member-meta').slideDown(function(){UM_Member_Grid(container)});block.find('.um-member-less').fadeIn();setTimeout(function(){UM_Member_Grid(container)},100);return false});jQuery(document).on('click','.um-member-less a',function(e){e.preventDefault();var block = jQuery(this).parents('.um-member');var container = jQuery(this).parents('.um-members');block.find('.um-member-less').hide();block.find('.um-member-meta').slideUp(function(){block.find('.um-member-more').fadeIn();UM_Member_Grid(container)});return false});jQuery(document).on('click','.um-do-search',function(e){e.preventDefault();jQuery(this).parents('form').submit();return false});if(jQuery('.um-profile.um-viewing .um-profile-body').length && jQuery('.um-profile.um-viewing .um-profile-body').find('.um-field').length == 0){jQuery('.um-profile-note').show()}jQuery(document).on('click','.um-profile-save',function(e){e.preventDefault();jQuery(this).parents('.um').find('form').submit();return false});jQuery(document).on('click','.um-profile-edit-a',function(e){jQuery(this).addClass('active')});jQuery(document).on('click','.um-cover a,.um-photo a',function(e){e.preventDefault();return false});jQuery(document).on('click','.um-photo-modal',function(e){var photo_src = jQuery(this).attr('data-src');um_new_modal('um_view_photo','fit',true,photo_src)});jQuery(document).on('click','.um-reset-profile-photo',function(e){jQuery('.um-profile-photo-img img').attr('src',jQuery(this).attr('data-default_src'));user_id = jQuery(this).attr('data-user_id');metakey = 'profile_photo';jQuery.ajax({url:ultimatemember_ajax_url,type:'post',data:{action:'ultimatemember_delete_profile_photo',metakey:metakey,user_id:user_id}})});jQuery(document).on('click','.um-reset-cover-photo',function(e){jQuery('.um-cover-overlay').hide();jQuery('.um-cover-e').html('');jQuery('.um-dropdown').hide();um_responsive();user_id = jQuery(this).attr('data-user_id');metakey = 'cover_photo';jQuery.ajax({url:ultimatemember_ajax_url,type:'post',data:{action:'ultimatemember_delete_cover_photo',metakey:metakey,user_id:user_id}})});var g=jQuery(".um-account-main").attr("data-current_tab");g&&jQuery(".um-account-tab[data-tab="+g+"]").show();jQuery(document).on("click",".um-account-side li a",function(a){a.preventDefault();a=jQuery(this);a.parents("ul").find("li a").removeClass("current"); +jQuery(this).parents(".um-cover").attr("data-ratio")&&jQuery("#"+a).attr("data-ratio",jQuery(this).parents(".um-cover").attr("data-ratio"));jQuery(this).parents(".um-cover").attr("data-user_id")&&jQuery("#"+a).attr("data-user_id",jQuery(this).parents(".um-cover").attr("data-user_id"))}um_new_modal(a,b)});jQuery(document).on('input','.um-field input[type=text]',function(){live_field = jQuery(this).parents('.um-field').data('key');live_value = jQuery(this).val();um_conditional()});jQuery('.um-field input[type=text]').trigger('input');jQuery(document).on('change','.um-field select,.um-field input[type=radio],.um-field input[type=checkbox]',function(){live_field = jQuery(this).parents('.um-field').data('key');live_value = jQuery(this).val();if(jQuery(this).is(':checkbox')){live_value = jQuery(this).parents('.um-field').find('input:checked').val()}if(jQuery(this).is(':radio')){live_value = jQuery(this).parents('.um-field').find('input[type=radio]:checked').val()}um_conditional()});jQuery('.um-field input[type=radio],.um-field input[type=checkbox]').trigger('change');jQuery(document).on('click','.um-dropdown a',function(e){return false});jQuery(document).on('click','.um-dropdown a.real_url',function(e){window.location = jQuery(this).attr('href')});jQuery(document).on('click','.um-trigger-menu-on-click',function(e){jQuery('.um-dropdown').hide();menu = jQuery(this).find('.um-dropdown');menu.show();return false});jQuery(document).on('click','.um-dropdown-hide',function(e){UM_hide_menus()});jQuery(document).on('click','a.um-manual-trigger',function(){var child = jQuery(this).attr('data-child');var parent = jQuery(this).attr('data-parent');jQuery(this).parents(parent).find(child).trigger('click')});jQuery('.um-tip-n').tipsy({gravity:'n',opacity:1,live:true,offset:3});jQuery('.um-tip-w').tipsy({gravity:'w',opacity:1,live:true,offset:3});jQuery('.um-tip-e').tipsy({gravity:'e',opacity:1,live:true,offset:3});jQuery('.um-tip-s').tipsy({gravity:'s',opacity:1,live:true,offset:3});jQuery('.um-field input[type=radio]').change(function(){var field = jQuery(this).parents('.um-field');var this_field = jQuery(this).parents('label');field.find('.um-field-radio').removeClass('active');field.find('.um-field-radio').find('i').removeClass().addClass('um-icon-android-radio-button-off');this_field.addClass('active');this_field.find('i').removeClass().addClass('um-icon-android-radio-button-on')});jQuery('.um-field input[type=checkbox]').change(function(){var field = jQuery(this).parents('.um-field');var this_field = jQuery(this).parents('label');if(this_field.hasClass('active')){this_field.removeClass('active');this_field.find('i').removeClass().addClass('um-icon-android-checkbox-outline-blank')}else{this_field.addClass('active');this_field.find('i').removeClass().addClass('um-icon-android-checkbox-outline')}});jQuery('.um-datepicker').each(function(){elem = jQuery(this);if(elem.attr('data-disabled_weekdays')!= ''){var disable = JSON.parse(elem.attr('data-disabled_weekdays'))}else{var disable = false}var years_n = elem.attr('data-years');var min = new Date(elem.attr('data-date_min'));var max = new Date(elem.attr('data-date_max'));elem.pickadate({selectYears:years_n,min:min,max:max,disable:disable,format:elem.attr('data-format'),formatSubmit:'yyyy/mm/dd',hiddenName:true})});jQuery('.um-timepicker').each(function(){elem = jQuery(this);elem.pickatime({format:elem.attr('data-format'),interval:parseInt(elem.attr('data-intervals')),formatSubmit:'HH:i',hiddenName:true})});jQuery('.um-rating').raty({half:false,starType:'i',number:function(){return jQuery(this).attr('data-number')},score:function(){return jQuery(this).attr('data-score')},scoreName:function(){return jQuery(this).attr('data-key')},hints:false,click:function(score,evt){live_field = this.id;live_value = score;um_conditional()}});jQuery('.um-rating-readonly').raty({half:false,starType:'i',number:function(){return jQuery(this).attr('data-number')},score:function(){return jQuery(this).attr('data-score')},scoreName:function(){return jQuery(this).attr('data-key')},hints:false,readOnly:true});jQuery(document).on('click','.um .um-single-image-preview a.cancel',function(e){e.preventDefault();var parent = jQuery(this).parents('.um-field');var src = jQuery(this).parents('.um-field').find('.um-single-image-preview img').attr('src');parent.find('.um-single-image-preview img').attr('src','');parent.find('.um-single-image-preview').hide();parent.find('.um-btn-auto-width').html('Upload');parent.find('input[type=hidden]').val('');jQuery.ajax({url:ultimatemember_ajax_url,type:'post',data:{action:'ultimatemember_remove_file',src:src}});return false});jQuery(document).on('click','.um .um-single-file-preview a.cancel',function(e){e.preventDefault();var parent = jQuery(this).parents('.um-field');var src = jQuery(this).parents('.um-field').find('.um-single-fileinfo a').attr('href');parent.find('.um-single-file-preview').hide();parent.find('.um-btn-auto-width').html('Upload');parent.find('input[type=hidden]').val('');jQuery.ajax({url:ultimatemember_ajax_url,type:'post',data:{action:'ultimatemember_remove_file',src:src}});return false});jQuery(".um-s1").select2({allowClear:true,minimumResultsForSearch:10});jQuery(".um-s2").select2({allowClear:false,minimumResultsForSearch:10});jQuery('.um-s1,.um-s2').css({'display':'block'});jQuery(document).on('click','.um-field-group-head:not(.disabled)',function(){var field = jQuery(this).parents('.um-field-group');var limit = field.data('max_entries');if(field.find('.um-field-group-body').is(':hidden')){field.find('.um-field-group-body').show()}else{field.find('.um-field-group-body:first').clone().appendTo(field)}increase_id = 0;field.find('.um-field-group-body').each(function(){increase_id++;jQuery(this).find('input').each(function(){var input = jQuery(this);input.attr('id',input.data('key')+'-'+increase_id);input.attr('name',input.data('key')+'-'+increase_id);input.parent().parent().find('label').attr('for',input.data('key')+'-'+increase_id)})});if(limit>0 && field.find('.um-field-group-body').length == limit){jQuery(this).addClass('disabled')}});jQuery(document).on('click','.um-field-group-cancel',function(e){e.preventDefault();var field = jQuery(this).parents('.um-field-group');var limit = field.data('max_entries');if(field.find('.um-field-group-body').length>1){jQuery(this).parents('.um-field-group-body').remove()}else{jQuery(this).parents('.um-field-group-body').hide()}if(limit>0 && field.find('.um-field-group-body').length < limit){field.find('.um-field-group-head').removeClass('disabled')}return false});jQuery('.um-members').each(function(){UM_Member_Grid(jQuery(this))});jQuery('.um-member-connect').each(function(){if(jQuery(this).find('a').length == 0){jQuery(this).remove()}});jQuery('.um-member-meta-main').each(function(){if(jQuery(this).find('.um-member-metaline').length == 0 && jQuery(this).find('.um-member-connect').find('a').length == 0){jQuery(this).remove()}});jQuery(document).on('click','.um-member-more a',function(e){e.preventDefault();var block = jQuery(this).parents('.um-member');var container = jQuery(this).parents('.um-members');block.find('.um-member-more').hide();block.find('.um-member-meta').slideDown(function(){UM_Member_Grid(container)});block.find('.um-member-less').fadeIn();setTimeout(function(){UM_Member_Grid(container)},100);return false});jQuery(document).on('click','.um-member-less a',function(e){e.preventDefault();var block = jQuery(this).parents('.um-member');var container = jQuery(this).parents('.um-members');block.find('.um-member-less').hide();block.find('.um-member-meta').slideUp(function(){block.find('.um-member-more').fadeIn();UM_Member_Grid(container)});return false});jQuery(document).on('click','.um-do-search',function(e){e.preventDefault();jQuery(this).parents('form').submit();return false});if(jQuery('.um-profile.um-viewing .um-profile-body').length && jQuery('.um-profile.um-viewing .um-profile-body').find('.um-field').length == 0){jQuery('.um-profile-note').show()}jQuery(document).on('click','.um-profile-save',function(e){e.preventDefault();jQuery(this).parents('.um').find('form').submit();return false});jQuery(document).on('click','.um-profile-edit-a',function(e){jQuery(this).addClass('active')});jQuery(document).on('click','.um-cover a,.um-photo a',function(e){e.preventDefault();return false});jQuery(document).on('click','.um-photo-modal',function(e){var photo_src = jQuery(this).attr('data-src');um_new_modal('um_view_photo','fit',true,photo_src)});jQuery(document).on('click','.um-reset-profile-photo',function(e){jQuery('.um-profile-photo-img img').attr('src',jQuery(this).attr('data-default_src'));user_id = jQuery(this).attr('data-user_id');metakey = 'profile_photo';jQuery.ajax({url:ultimatemember_ajax_url,type:'post',data:{action:'ultimatemember_delete_profile_photo',metakey:metakey,user_id:user_id}})});jQuery(document).on('click','.um-reset-cover-photo',function(e){jQuery('.um-cover-overlay').hide();jQuery('.um-cover-e').html('');jQuery('.um-dropdown').hide();um_responsive();user_id = jQuery(this).attr('data-user_id');metakey = 'cover_photo';jQuery.ajax({url:ultimatemember_ajax_url,type:'post',data:{action:'ultimatemember_delete_cover_photo',metakey:metakey,user_id:user_id}})});var g=jQuery(".um-account-main").attr("data-current_tab");g&&jQuery(".um-account-tab[data-tab="+g+"]").show();jQuery(document).on("click",".um-account-side li a",function(a){a.preventDefault();a=jQuery(this);a.parents("ul").find("li a").removeClass("current"); a.addClass("current");a=jQuery(this).attr("href");var b=jQuery(this).attr("data-tab");window.history.pushState("","",a);jQuery(".um-account-tab").hide();jQuery(".um-account-tab[data-tab="+b+"]").fadeIn();jQuery(".um-account-nav a").removeClass("current");jQuery(".um-account-nav a[data-tab="+b+"]").addClass("current");return false});jQuery(document).on("click",".um-account-nav a",function(a){a.preventDefault();a=jQuery(this).attr("data-tab");var b=jQuery(this).parents("div"),c=jQuery(this);jQuery(".um-account-tab").hide(); if(c.hasClass("current")){b.next(".um-account-tab").slideUp();c.removeClass("current")}else{b.next(".um-account-tab").slideDown();c.parents("div").find("a").removeClass("current");c.addClass("current")}jQuery(".um-account-side li a").removeClass("current");jQuery(".um-account-side li a[data-tab="+a+"]").addClass("current");return false})}); \ No newline at end of file diff --git a/core/um-actions-login.php b/core/um-actions-login.php index 687fa93d..7b846306 100644 --- a/core/um-actions-login.php +++ b/core/um-actions-login.php @@ -196,7 +196,12 @@ *** @Display a forgot password link ***/ add_action('um_after_login_fields', 'um_after_login_submit', 1001); - function um_after_login_submit(){ ?> + function um_after_login_submit( $args ){ + global $ultimatemember; + + if ( $args['forgot_pass_link'] == 0 ) return; + + ?>
diff --git a/core/um-actions-members.php b/core/um-actions-members.php index 3a4256c0..42d4a4ea 100644 --- a/core/um-actions-members.php +++ b/core/um-actions-members.php @@ -233,7 +233,7 @@
-
+
$v ) { + if (!in_array($k, array('sub_rows','cols')) ) { + unset($old_args[$k]); + } + } + $args = array_merge( $old_args, $args ); } } @@ -517,7 +523,7 @@ class UM_Fields { if (!isset($array['validate'])) $array['validate'] = null; if (!isset($array['default'])) $array['default'] = null; - if ( isset( $array['conditions'] ) && is_array( $array['conditions'] ) ) { + if ( isset( $array['conditions'] ) && is_array( $array['conditions'] ) && !$this->viewing ) { $array['conditional'] = ''; foreach( $array['conditions'] as $key => $cond ) { $array['conditional'] .= ' data-cond-'.$key.'-action="'. $cond[0] . '" data-cond-'.$key.'-field="'. $cond[1] . '" data-cond-'.$key.'-operator="'. $cond[2] . '" data-cond-'.$key.'-value="'. $cond[3] . '"'; @@ -1799,6 +1805,8 @@ class UM_Fields { if ( !um_can_view_field( $data ) ) return; + if ( !um_field_conditions_are_met( $data ) ) return; + switch( $type ) { /* Default */ diff --git a/core/um-permalinks.php b/core/um-permalinks.php index fea08386..5ffde936 100644 --- a/core/um-permalinks.php +++ b/core/um-permalinks.php @@ -21,8 +21,10 @@ class UM_Permalinks { ***/ function get_query_array() { $parts = parse_url( $this->get_current_url() ); + if ( isset( $parts['query'] ) ){ parse_str($parts['query'], $query); return $query; + } } /*** diff --git a/core/um-setup.php b/core/um-setup.php index 96110ed7..83d8ee14 100644 --- a/core/um-setup.php +++ b/core/um-setup.php @@ -122,7 +122,7 @@ class UM_Setup { '_um_register_primary_btn_color' => '#3ba1da', '_um_register_primary_btn_hover' => '#44b0ec', '_um_register_primary_btn_text' => '#fff', - '_um_register_secondary_btn' => '1', + '_um_register_secondary_btn' => 1, '_um_register_secondary_btn_word' => 'Login', '_um_register_secondary_btn_color' => '#eee', '_um_register_secondary_btn_hover' => '#e5e5e5', @@ -135,7 +135,8 @@ class UM_Setup { '_um_login_primary_btn_color' => '#3ba1da', '_um_login_primary_btn_hover' => '#44b0ec', '_um_login_primary_btn_text' => '#fff', - '_um_login_secondary_btn' => '1', + '_um_login_forgot_pass_link' => 1, + '_um_login_secondary_btn' => 1, '_um_login_secondary_btn_word' => 'Register', '_um_login_secondary_btn_color' => '#eee', '_um_login_secondary_btn_hover' => '#e5e5e5', diff --git a/core/um-short-functions.php b/core/um-short-functions.php index cbea0ec3..49db50ef 100644 --- a/core/um-short-functions.php +++ b/core/um-short-functions.php @@ -1,5 +1,57 @@ $arr ) { + if ( $arr[0] == 'show' ) { + + $state = 1; + $val = $arr[3]; + $op = $arr[2]; + $field = um_profile($arr[1]); + + switch( $op ) { + case 'equals to': if ( $field != $val ) $state = 0; break; + case 'not equals': if ( $field == $val ) $state = 0; break; + case 'empty': if ( $field ) $state = 0; break; + case 'not empty': if ( !$field ) $state = 0; break; + case 'greater than': if ( $field <= $val ) $state = 0; break; + case 'less than': if ( $field >= $val ) $state = 0; break; + case 'contains': if ( !strstr( $field, $val ) ) $state = 0; break; + } + } + + if ( $arr[0] == 'hide' ) { + + $state = 0; + $val = $arr[3]; + $op = $arr[2]; + $field = um_profile($arr[1]); + + switch( $op ) { + case 'equals to': if ( $field != $val ) $state = 1; break; + case 'not equals': if ( $field == $val ) $state = 1; break; + case 'empty': if ( $field ) $state = 1; break; + case 'not empty': if ( !$field ) $state = 1; break; + case 'greater than': if ( $field <= $val ) $state = 1; break; + case 'less than': if ( $field >= $val ) $state = 1; break; + case 'contains': if ( !strstr( $field, $val ) ) $state = 1; break; + } + } + + } + + if ( $state ) + return true; + return false; + } + /*** *** @Exit and redirect to home ***/ @@ -7,6 +59,14 @@ exit( wp_redirect( home_url() ) ); } + /*** + *** @Capitalize first initial + ***/ + function um_cap_initials( $name ) { + $name = str_replace('\' ', '\'', ucwords(str_replace('\'', '\' ', strtolower($name)))); + return $name; + } + /*** *** @Get submitted user information ***/ diff --git a/core/um-validation.php b/core/um-validation.php index a15c6bf5..d207500f 100644 --- a/core/um-validation.php +++ b/core/um-validation.php @@ -74,6 +74,8 @@ class UM_Validation { *** @is phone number ***/ function is_phone_number( $string ){ + if ( !$string ) + return true; if ( !preg_match( $this->regex_phone_number, $string) ) return false; return true; diff --git a/index.php b/index.php index 0ff5f43b..04a774f9 100644 --- a/index.php +++ b/index.php @@ -3,7 +3,7 @@ Plugin Name: Ultimate Member Plugin URI: http://ultimatemember.com/ Description: Ultimate Member is a powerful community and membership plugin that allows you to create beautiful community and membership sites with WordPress -Version: 1.0.18 +Version: 1.0.19 Author: Ultimate Member Author URI: http://ultimatemember.com/ */ diff --git a/readme.txt b/readme.txt index 91aba15e..7c8c05a2 100644 --- a/readme.txt +++ b/readme.txt @@ -7,7 +7,7 @@ Tags: members, member, membership, community, communities, profile, profiles, re Requires at least: 4.1 Tested up to: 4.1 -Stable Tag: 1.0.18 +Stable Tag: 1.0.19 License: GNU Version 2 or Any Later Version @@ -26,7 +26,8 @@ Features of the plugin include: * Front-end user registration * Front-end user login * Front-end user profiles -* Custom profile fields +* Custom form fields +* Conditional logic for form fields * Drag and drop form builder * User account page * Custom user roles @@ -50,10 +51,14 @@ Allow users to login directly from your site and avoid the ugly WordPress login Ultimate Member gives every user of your site a beautiful user profile where they can edit their information. You can create unique profiles for each user role and decide what information to show on the profiles. -**Custom profile fields** +**Custom form fields** With our custom profile fields, Ultimate Member allows you to gather any information you like from user's when they register or when they fill in their profiles. The plugin comes with a full range of field types including: text box, textarea, dropdown, multi-select, radio, checkbox, url, password, image upload, file upload, date picker, time picker and star ratings. +**Conditional logic for form fields** + +You can create advanced register, login and profile forms by applying conditional logic to any fields you like. This allows you to show or hide fields depending on a user’s actions when they fill in a form. + **Drag and drop form builder** Our advanced drag and drop form builder makes it extremely easy to build unique registration, login and profile forms for your site. The form builder allows for up to three columns and multiple rows which enables you to create distinct sections to the forms. @@ -78,7 +83,7 @@ The plugin provides a range of customizable text only email templates which are With Ultimate Member you can restrict content on a global on per page/post basis. You can restrict pages/posts so everyone can see the page/post; only logged out users can see the page/post or only logged in users can see the page/post (you can also restrict it to certain user roles). You can also set redirect urls for when people who are not allowed to access the page/post -**Conditional Menus** +**Conditional menus** The plugin provides a range of customizable text only email templates which are triggered depending on certain events (e.g welcome email, account activation, account deleted etc). Each email type can be turned on/off. The plugin also offers a range of optional admin notification emails so you can find out when a new user registers or if new user needs reviewed. @@ -94,7 +99,7 @@ The plugin is very SEO friendly and provides customizable dynamic page titles an Ultimate Member is developer friendly and includes hundreds of actions and filters for developers to customize the plugin. If you are wanting to integrate with Ultimate Member you can view codex here. -**Future Plans for Ultimate Member** +**Future plans for Ultimate Member** We have big plans for Ultimate Member and we will be working extremely hard to create the best community plugin ever. In the near future we will be releasing extensions on our site that will allow you to add extra features and extend the functionality of Ultimate Member. If you'd like to find out when the first extensions will be ready you can follow us on [Twitter](https://twitter.com/umplugin), like us on [Facebook](https://www.facebook.com/pages/Ultimate-Member/1413909622233054) or view our [Trello roadmap](https://trello.com/b/30quaczv/ultimate-member). @@ -163,6 +168,17 @@ Yes. The plugin works fine with WordPress network / multisite now. In a recent u == Changelog == += 1.0.19: January 23, 2015 = + +* New: Border thickness option for members directory +* New: Option to show/hide forgot password link on login form +* Tweak: Capital initials on members directory +* Fixed: Issue with row styling in form builder +* Fixed: Conditional logic bug fixes +* Fixed: Icon for conditional rules in backend +* Fixed: php warning in debug mode +* Fixed: Mobile/phone number validation fixed + = 1.0.18: January 23, 2015 = * Fixed: Issue with drag and drop form builder diff --git a/um-config.php b/um-config.php index e1a6116b..4c97ed2a 100644 --- a/um-config.php +++ b/um-config.php @@ -1386,6 +1386,14 @@ $this->sections[] = array( 'required' => array( 'login_secondary_btn', '=', 1 ), ), + array( + 'id' => 'login_forgot_pass_link', + 'type' => 'switch', + 'title' => __( 'Login Forgot Password Link' ), + 'default' => 1, + 'desc' => 'Switch on/off the forgot password link in login form', + ), + ) );