From 2e69e2a179778d9f416f71f484c408216e6cd06d Mon Sep 17 00:00:00 2001 From: ultimatemember Date: Sun, 18 Jan 2015 22:29:52 +0200 Subject: [PATCH] Recent Issues Fix --- admin/core/um-admin-actions-fields.php | 4 +--- assets/js/um-scripts.js | 14 +++++------- assets/js/um.min.js | 3 +-- core/um-fields.php | 30 ++++++++++++++++---------- core/um-filters-fields.php | 2 +- 5 files changed, 27 insertions(+), 26 deletions(-) diff --git a/admin/core/um-admin-actions-fields.php b/admin/core/um-admin-actions-fields.php index ab6cea66..1a6a87ef 100644 --- a/admin/core/um-admin-actions-fields.php +++ b/admin/core/um-admin-actions-fields.php @@ -26,9 +26,7 @@ if ( empty( $output['error'] ) ){ $save = ''; - $save[ $_metakey ]['roles'] = ''; - $save[ $_metakey ]['disabled_weekdays'] = ''; - $save[ $_metakey ]['icon'] = ''; + $save[ $_metakey ] = null; foreach( $array['post'] as $key => $val){ if ( substr( $key, 0, 1) === '_' && $val != '' ) { // field attribute diff --git a/assets/js/um-scripts.js b/assets/js/um-scripts.js index 7841c781..9511551f 100644 --- a/assets/js/um-scripts.js +++ b/assets/js/um-scripts.js @@ -56,23 +56,19 @@ jQuery(document).ready(function() { jQuery('.um-datepicker').each(function(){ elem = jQuery(this); - if ( elem.attr('data-years_x') == 'past' ) {var max = true;} - if ( elem.attr('data-years_x') == 'equal' ) {var max = false;} - if ( elem.attr('data-years_x') == 'future' ) {var min = true;var max = '';} - if ( elem.attr('data-disabled_weekdays') != '' ) { var disable = JSON.parse( elem.attr('data-disabled_weekdays') ); } else { var disable = false; } - if ( elem.attr('data-range') == 'date_range' ) { - var min = new Date( elem.attr('data-date_min') ); - var max = new Date( elem.attr('data-date_max') ); - } + 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: elem.attr('data-years'), + selectYears: years_n, min: min, max: max, disable: disable, diff --git a/assets/js/um.min.js b/assets/js/um.min.js index b6d103e9..dc44ebdf 100644 --- a/assets/js/um.min.js +++ b/assets/js/um.min.js @@ -124,8 +124,7 @@ jQuery("#"+a).attr("data-user_id",jQuery(this).parents(".um-profile-photo").attr 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(){return false});jQuery(document).on("click",".um-dropdown a.real_url",function(){window.location=jQuery(this).attr("href")}); jQuery(document).on("click",".um-trigger-menu-on-click",function(){jQuery(".um-dropdown").hide();menu=jQuery(this).find(".um-dropdown");menu.show();return false});jQuery(document).on("click",".um-dropdown-hide",function(){UM_hide_menus()});jQuery(document).on("click","a.um-manual-trigger",function(){var a=jQuery(this).attr("data-child"),b=jQuery(this).attr("data-parent");jQuery(this).parents(b).find(a).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 a=jQuery(this).parents(".um-field"),b=jQuery(this).parents("label");a.find(".um-field-radio").removeClass("active");a.find(".um-field-radio").find("i").removeClass().addClass("um-icon-android-radio-button-off");b.addClass("active");b.find("i").removeClass().addClass("um-icon-android-radio-button-on")}); -jQuery(".um-field input[type=checkbox]").change(function(){jQuery(this).parents(".um-field");var a=jQuery(this).parents("label");if(a.hasClass("active")){a.removeClass("active");a.find("i").removeClass().addClass("um-icon-android-checkbox-outline-blank")}else{a.addClass("active");a.find("i").removeClass().addClass("um-icon-android-checkbox-outline")}});jQuery(".um-datepicker").each(function(){elem=jQuery(this);if(elem.attr("data-years_x")=="past")var a=true;if(elem.attr("data-years_x")=="equal")a= -false;if(elem.attr("data-years_x")=="future"){var b=true;a=""}var c=elem.attr("data-disabled_weekdays")!=""?JSON.parse(elem.attr("data-disabled_weekdays")):false;if(elem.attr("data-range")=="date_range"){b=new Date(elem.attr("data-date_min"));a=new Date(elem.attr("data-date_max"))}elem.pickadate({selectYears:elem.attr("data-years"),min:b,max:a,disable:c,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"), +jQuery(".um-field input[type=checkbox]").change(function(){jQuery(this).parents(".um-field");var a=jQuery(this).parents("label");if(a.hasClass("active")){a.removeClass("active");a.find("i").removeClass().addClass("um-icon-android-checkbox-outline-blank")}else{a.addClass("active");a.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(a){live_field=this.id;live_value=a;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(a){a.preventDefault();a=jQuery(this).parents(".um-field");a.find(".um-single-image-preview img").attr("src","");a.find(".um-single-image-preview").hide();a.find(".um-btn-auto-width").html("Upload");a.find("input[type=hidden]").val("");return false});jQuery(document).on("click",".um .um-single-file-preview a.cancel", function(a){a.preventDefault();a=jQuery(this).parents(".um-field");a.find(".um-single-file-preview").hide();a.find(".um-btn-auto-width").html("Upload");a.find("input[type=hidden]").val("");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 a=jQuery(this).parents(".um-field-group"), diff --git a/core/um-fields.php b/core/um-fields.php index 0eb8e41f..d1b31f6b 100644 --- a/core/um-fields.php +++ b/core/um-fields.php @@ -57,9 +57,9 @@ class UM_Fields { function globally_update_field($id, $args){ global $ultimatemember; $fields = $ultimatemember->builtin->saved_fields; - $fields[$id] = $args; - // not global attributes + $fields[$id] = $args; + unset( $fields[ $id ]['in_row'] ); unset( $fields[ $id ]['in_sub_row'] ); unset( $fields[ $id ]['in_column'] ); @@ -76,16 +76,12 @@ class UM_Fields { global $ultimatemember; $fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id ); - if ( isset( $fields[$id] ) ) { - $old = $fields[$id]; - $fields[$id] = array_merge( $old, $args ); - } else { - $fields[$id] = $args; - } + $fields[$id] = $args; if ( $args['type'] == 'group' ){ $fields[$id]['in_group'] = ''; } + $ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields ); } @@ -599,12 +595,24 @@ class UM_Fields { } if ( $array['range'] == 'date_range' ) { + $array['date_min'] = str_replace('/',',',$array['range_start']); $array['date_max'] = str_replace('/',',',$array['range_end']); - } - if ( !isset( $array['date_min'] ) ) $array['date_min'] = ''; - if ( !isset( $array['date_max'] ) ) $array['date_max'] = ''; + } else { + + if ( $array['years_x'] == 'past' ) { + $array['date_min'] = date('Y,n,d', mktime(0, 0, 0, date("n") , date("d"), date("Y") - $array['years'] ) ); + $array['date_max'] = date('Y,n,d'); + } else if ( $array['years_x'] == 'future' ) { + $array['date_min'] = date('Y,n,d'); + $array['date_max'] = date('Y,n,d', mktime(0, 0, 0, date("n") , date("d"), date("Y") + $array['years'] ) ); + } else { + $array['date_min'] = date('Y,n,d', mktime(0, 0, 0, date("n") , date("d"), date("Y") - ( $array['years'] / 2 ) ) ); + $array['date_max'] = date('Y,n,d', mktime(0, 0, 0, date("n") , date("d"), date("Y") + ( $array['years'] / 2 ) ) ); + } + + } if (!isset($array['autocomplete'])) $array['autocomplete'] = 'on'; diff --git a/core/um-filters-fields.php b/core/um-filters-fields.php index cedbab7f..47bb6777 100644 --- a/core/um-filters-fields.php +++ b/core/um-filters-fields.php @@ -89,7 +89,7 @@ function um_profile_field_filter_hook__( $value, $data ) { if ( isset( $data['validate'] ) && $data['validate'] != '' && strstr( $data['validate'], 'url' ) ) { - $alt = ( isset( $data['url_text'] ) ) ? $data['url_text'] : $value; + $alt = ( isset( $data['url_text'] ) && !empty( $data['url_text'] ) ) ? $data['url_text'] : $value; $url_rel = ( isset( $data['url_rel'] ) ) ? 'rel="nofollow"' : ''; if( !strstr( $value, 'http' ) && !strstr( $value, '://' )