From 9c7a7dd9b6aae21b824a7bee9d996c0b8fb340e3 Mon Sep 17 00:00:00 2001 From: Mykyta Synelnikov Date: Fri, 4 Oct 2024 14:54:46 +0300 Subject: [PATCH 01/11] * fixed tipsy removing inside .um-page selector (e.g. tipsy from um-modal); --- .wordpress-org/blueprints/blueprint.json | 2 +- assets/js/common.js | 1 + assets/js/common.min.js | 2 +- ultimate-member.php | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.wordpress-org/blueprints/blueprint.json b/.wordpress-org/blueprints/blueprint.json index 828f7a16..9f87ac24 100644 --- a/.wordpress-org/blueprints/blueprint.json +++ b/.wordpress-org/blueprints/blueprint.json @@ -15,7 +15,7 @@ "step": "installPlugin", "pluginZipFile": { "resource": "url", - "url": "https:\/\/downloads.wordpress.org\/plugin\/ultimate-member.2.8.8.zip" + "url": "https:\/\/downloads.wordpress.org\/plugin\/ultimate-member.2.8.9.zip" }, "options": { "activate": true diff --git a/assets/js/common.js b/assets/js/common.js index bafe3dbf..4d5dffbb 100644 --- a/assets/js/common.js +++ b/assets/js/common.js @@ -23,6 +23,7 @@ UM.common = { jQuery('.um-tip-e').tipsy('hide'); jQuery('.um-tip-s').tipsy('hide'); jQuery('.um .tipsy').remove(); + jQuery('.um-page .tipsy').remove(); } } }, diff --git a/assets/js/common.min.js b/assets/js/common.min.js index 5ccb2ecf..5e577935 100644 --- a/assets/js/common.min.js +++ b/assets/js/common.min.js @@ -1 +1 @@ -"object"!=typeof window.UM&&(window.UM={}),"object"!=typeof UM.common&&(UM.common={}),UM.common={tipsy:{init:function(){"function"==typeof jQuery.fn.tipsy&&(jQuery(".um-tip-n").tipsy({gravity:"n",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-w").tipsy({gravity:"w",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-e").tipsy({gravity:"e",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-s").tipsy({gravity:"s",opacity:1,live:"a.live",offset:3}))},hide:function(){"function"==typeof jQuery.fn.tipsy&&(jQuery(".um-tip-n").tipsy("hide"),jQuery(".um-tip-w").tipsy("hide"),jQuery(".um-tip-e").tipsy("hide"),jQuery(".um-tip-s").tipsy("hide"),jQuery(".um .tipsy").remove())}},datetimePicker:{init:function(){jQuery(".um-datepicker:not(.picker__input)").each(function(){e=void 0!==(elem=jQuery(this)).attr("data-disabled_weekdays")&&""!=elem.attr("data-disabled_weekdays")&&JSON.parse(elem.attr("data-disabled_weekdays"));var e,t=null,i=(void 0!==elem.attr("data-years")&&(t=elem.attr("data-years")),elem.attr("data-date_min")),a=elem.attr("data-date_max"),n=[],o=[],i=(void 0!==i&&(n=i.split(",")),void 0!==a&&(o=a.split(",")),n.length?new Date(n):null),a=n.length?new Date(o):null,o=(i&&"Invalid Date"==i.toString()&&3==n.length&&(n=n[1]+"/"+n[2]+"/"+n[0],i=new Date(Date.parse(n))),a&&"Invalid Date"==a.toString()&&3==o.length&&(n=o[1]+"/"+o[2]+"/"+o[0],a=new Date(Date.parse(n))),{disable:e,format:elem.attr("data-format"),formatSubmit:"yyyy/mm/dd",hiddenName:!0,onOpen:function(){elem.blur(),elem.parents("body").hasClass("wp-admin")&&elem.siblings(".picker").find(".picker__button--close").addClass("button")},onClose:function(){elem.blur()}});null!==t&&(o.selectYears=t),null!==i&&(o.min=i),null!==a&&(o.max=a),elem.pickadate(o)}),jQuery(".um-timepicker:not(.picker__input)").each(function(){(elem=jQuery(this)).pickatime({format:elem.attr("data-format"),interval:parseInt(elem.attr("data-intervals")),formatSubmit:"HH:i",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})})}},select:{isSelected:function(e,t){return e===t?' selected="selected"':""}},form:{vanillaSerialize:function(e){var t,i,e=document.querySelector("#"+e),a={};for([t,i]of new FormData(e))void 0!==a[t]?(Array.isArray(a[t])||(a[t]=[a[t]]),a[t].push(i)):a[t]=i;return a}}},jQuery(document).on("ajaxStart",function(){UM.common.tipsy.hide()}),jQuery(document).on("ajaxSuccess",function(){UM.common.tipsy.init()}),jQuery(document).ready(function(){UM.common.tipsy.init(),UM.common.datetimePicker.init()}); \ No newline at end of file +"object"!=typeof window.UM&&(window.UM={}),"object"!=typeof UM.common&&(UM.common={}),UM.common={tipsy:{init:function(){"function"==typeof jQuery.fn.tipsy&&(jQuery(".um-tip-n").tipsy({gravity:"n",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-w").tipsy({gravity:"w",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-e").tipsy({gravity:"e",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-s").tipsy({gravity:"s",opacity:1,live:"a.live",offset:3}))},hide:function(){"function"==typeof jQuery.fn.tipsy&&(jQuery(".um-tip-n").tipsy("hide"),jQuery(".um-tip-w").tipsy("hide"),jQuery(".um-tip-e").tipsy("hide"),jQuery(".um-tip-s").tipsy("hide"),jQuery(".um .tipsy").remove(),jQuery(".um-page .tipsy").remove())}},datetimePicker:{init:function(){jQuery(".um-datepicker:not(.picker__input)").each(function(){e=void 0!==(elem=jQuery(this)).attr("data-disabled_weekdays")&&""!=elem.attr("data-disabled_weekdays")&&JSON.parse(elem.attr("data-disabled_weekdays"));var e,t=null,i=(void 0!==elem.attr("data-years")&&(t=elem.attr("data-years")),elem.attr("data-date_min")),a=elem.attr("data-date_max"),n=[],o=[],i=(void 0!==i&&(n=i.split(",")),void 0!==a&&(o=a.split(",")),n.length?new Date(n):null),a=n.length?new Date(o):null,o=(i&&"Invalid Date"==i.toString()&&3==n.length&&(n=n[1]+"/"+n[2]+"/"+n[0],i=new Date(Date.parse(n))),a&&"Invalid Date"==a.toString()&&3==o.length&&(n=o[1]+"/"+o[2]+"/"+o[0],a=new Date(Date.parse(n))),{disable:e,format:elem.attr("data-format"),formatSubmit:"yyyy/mm/dd",hiddenName:!0,onOpen:function(){elem.blur(),elem.parents("body").hasClass("wp-admin")&&elem.siblings(".picker").find(".picker__button--close").addClass("button")},onClose:function(){elem.blur()}});null!==t&&(o.selectYears=t),null!==i&&(o.min=i),null!==a&&(o.max=a),elem.pickadate(o)}),jQuery(".um-timepicker:not(.picker__input)").each(function(){(elem=jQuery(this)).pickatime({format:elem.attr("data-format"),interval:parseInt(elem.attr("data-intervals")),formatSubmit:"HH:i",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})})}},select:{isSelected:function(e,t){return e===t?' selected="selected"':""}},form:{vanillaSerialize:function(e){var t,i,e=document.querySelector("#"+e),a={};for([t,i]of new FormData(e))void 0!==a[t]?(Array.isArray(a[t])||(a[t]=[a[t]]),a[t].push(i)):a[t]=i;return a}}},jQuery(document).on("ajaxStart",function(){UM.common.tipsy.hide()}),jQuery(document).on("ajaxSuccess",function(){UM.common.tipsy.init()}),jQuery(document).ready(function(){UM.common.tipsy.init(),UM.common.datetimePicker.init()}); \ No newline at end of file diff --git a/ultimate-member.php b/ultimate-member.php index 13ad4d03..f762d4ec 100644 --- a/ultimate-member.php +++ b/ultimate-member.php @@ -3,7 +3,7 @@ * Plugin Name: Ultimate Member * Plugin URI: http://ultimatemember.com/ * Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress - * Version: 2.8.8 + * Version: 2.8.9-alpha * Author: Ultimate Member * Author URI: http://ultimatemember.com/ * Text Domain: ultimate-member From 07949b9c35c85a63b759083f076097125917d663 Mon Sep 17 00:00:00 2001 From: Mykyta Synelnikov Date: Thu, 10 Oct 2024 11:56:55 +0300 Subject: [PATCH 02/11] * fixed HTML formatted textarea; --- assets/css/um-styles.css | 11 ----- assets/css/um-styles.min.css | 2 +- assets/js/common-frontend.js | 12 ------ assets/js/common-frontend.min.js | 2 +- assets/js/um-profile.js | 8 ---- assets/js/um-profile.min.js | 2 +- composer.json | 1 + includes/core/class-form.php | 63 +++++++++++++++++++++++++++++ includes/core/um-filters-fields.php | 2 +- readme.txt | 12 ++++++ 10 files changed, 80 insertions(+), 35 deletions(-) diff --git a/assets/css/um-styles.css b/assets/css/um-styles.css index 64b299e6..a9129ecf 100644 --- a/assets/css/um-styles.css +++ b/assets/css/um-styles.css @@ -1148,14 +1148,3 @@ small.um-max-filesize span{ float: none; height: auto; } - -.um-textarea-html-value { - border: none; - width: 100%; - max-width: none; - margin: 0; - padding: 0; - overflow: auto; - max-height: none; - height: auto; -} diff --git a/assets/css/um-styles.min.css b/assets/css/um-styles.min.css index 87e26bf9..23f68472 100644 --- a/assets/css/um-styles.min.css +++ b/assets/css/um-styles.min.css @@ -1 +1 @@ -.um:not(.um-admin){width:100%;text-align:left;box-sizing:border-box;color:#666;font-size:15px;margin-bottom:30px!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;opacity:0}.um-s1,.um-s2{display:none}.um:not(.um-admin) :after,.um:not(.um-admin) :before{box-sizing:content-box}.um-account-side li a,.um-cover a,.um-field-value a,.um-header a,.um-member-less a,.um-member-more a,.um-member-name a,.um-member-photo a,.um-members a,.um-members-pagi a,.um-members-pagi span{border-bottom:0!important}.um-modal a:focus,.um:not(.um-admin) a:focus{outline:0!important}.um:not(.um-admin) a .image-overlay,.um:not(.um-admin) a:hover .image-overlay,.um:not(.um-admin) a:hover .image-overlay *{display:none!important;width:0!important;height:0!important;position:static!important}.um.um-in-admin{padding-top:0}.um.um-in-admin .um-tip{display:none!important}.um:not(.um-admin):not(.um-directory) input,.um:not(.um-admin):not(.um-directory) select,.um:not(.um-admin):not(.um-directory) textarea{font-size:15px}.um:not(.um-admin) *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-left{float:left}.um-right{float:right}.um-clear{clear:both}.um-center{text-align:center}.um-center .um-button{display:inline-block!important;width:auto!important;min-width:250px!important}.um-half{width:48%}.um-field-half{width:48%;float:left}.um-field-half.right{float:right}.um-field-tri{width:30%;float:left;margin-right:3%}.um img{box-shadow:none!important}.um-col{padding-bottom:20px}.um-col-alt{margin:15px 0 5px 0}.um-col-alt-s{padding-top:10px}.um-col-alt-b{padding-top:20px}.um-col-121{float:left;width:48%}.um-col-122{float:right;width:48%}.um-col-131{float:left;width:30%}.um-col-132{float:left;width:30%;margin:0 5%}.um-col-133{float:left;width:30%}.um-raty i{font-size:26px}.um-field-half .um-raty i{font-size:21px}.um-field-tri .um-raty i{font-size:21px}.um-button i{font-size:22px;width:22px;height:12px!important;display:inline-block;line-height:12px!important;vertical-align:middle!important;position:relative;top:-6px;margin-right:8px}.um-row-heading{padding:5px 0;font-size:16px}.um-row-heading i{font-size:24px;height:24px;line-height:24px;margin:0 12px 0 0;display:inline-block;width:30px;text-align:center}.um-row-heading i:before{vertical-align:middle!important}p.um-notice{width:auto;color:#fff;box-sizing:border-box;font-size:15px;padding:12px!important;margin:12px 0 0 0!important;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:relative}p.um-notice a{color:#fff;text-decoration:underline}p.um-notice i{position:absolute;right:14px;font-size:36px;cursor:pointer;top:7px;display:block;height:30px;line-height:30px}p.um-notice.success{background:#7acf58}p.um-notice.err{background:#c74a4a}p.um-notice.warning{background:#f9f9d1;color:#666;border:1px solid #efe4a2;padding:8px 15px!important}p.um-notice.warning a{color:#666;text-decoration:underline}.um-field-error{width:auto;max-width:100%;background:#c74a4a;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:20px!important;margin:12px 0 0 0}.um-field-error a{color:#fff!important;text-decoration:underline!important}.um-field-arrow{top:-17px;left:10px;position:absolute;z-index:1;color:#c74a4a;font-size:28px;line-height:1em!important}.um-error-block{width:auto;max-width:100%;background:#c74a4a;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:1em!important;margin:12px 0 0 0}.um-field-notice{width:auto;max-width:100%;background:#497bc7;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:20px!important;margin:5px 0 0 0}.um-field-notice a{color:#fff!important;text-decoration:underline!important}.um-field-notice .um-field-arrow{top:-17px;left:10px;position:absolute;z-index:1;color:#497bc7!important;font-size:28px;line-height:1em!important}.um-notice-block{width:auto;max-width:100%;background:#497bc7;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:1em!important;margin:12px 0 0 0}.um-tip{margin:0 0 0 8px;cursor:pointer;display:inline-block;position:relative;top:3px}.um-tip i{font-size:22px;height:22px;line-height:22px;display:block;position:relative}.um-tip-text{display:block;font-size:13px;line-height:15px;color:#999}.um-form button::-moz-focus-inner,.um-form input::-moz-focus-inner{border:0!important;padding:0!important}.um-field{position:relative;padding:15px 0 0 0}.um-field-b,.um-field-c{padding-top:0!important}.um-field-label{display:block;margin:0 0 8px 0}.um-field-label .um-field-label-icon{float:left;margin:0 8px 0 0;height:22px;line-height:18px;display:inline-block;width:24px;text-align:center}.um-field-label .um-field-label-icon i{font-size:22px;position:relative;top:1px}.um-field-label label{font-size:15px!important;line-height:22px!important;font-weight:700;font-weight:600}.um-field-area{position:relative;word-wrap:break-word}.um-field-area-password{position:relative}.um-toggle-password{cursor:pointer;display:block;position:absolute;right:0;top:0;height:100%;width:40px;text-align:center;box-sizing:border-box;font-size:20px;line-height:2}.um-toggle-password i{transition:all .2s linear}.um-toggle-password:hover i{color:#44b0ec}.um-field-value p{margin:0 0 6px 0!important;padding:0}.um-field-block{color:#777;font-size:17px}.um-field-spacing{width:100%}.um-field-divider{width:100%;margin:0 0 12px 0;height:24px;position:relative}.um-field-divider-text{position:absolute;width:100%;text-align:center;bottom:-24px;left:0;font-size:16px;padding:10px 0}.um-field-divider-text span{background:#fff;color:#555;display:inline-block;padding:0 15px}.um-field-icon{position:absolute;cursor:default;text-align:center!important;top:2px;left:0;width:44px;font-size:22px;line-height:1.7em;z-index:1}.um-form input[type=number],.um-form input[type=password],.um-form input[type=search],.um-form input[type=tel],.um-form input[type=text]{padding:0 12px!important;width:100%;display:block!important;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;outline:0!important;cursor:text!important;font-size:15px!important;height:40px!important;box-sizing:border-box!important;box-shadow:none!important;margin:0!important;position:static}.um-form .um-field-area-password input[type=password]{padding-right:40px!important}.um-form input[type=number]{width:auto;padding:0 0 0 5px!important;height:30px!important}.um-form input[type=number]:focus,.um-form input[type=password]:focus,.um-form input[type=search]:focus,.um-form input[type=tel]:focus,.um-form input[type=text]:focus,.um-form textarea:focus{box-shadow:none!important;outline:0!important}.um-form input[type=password].um-iconed,.um-form input[type=tel].um-iconed,.um-form input[type=text].um-iconed{padding-left:44px!important}.um-form input[type=password].um-error,.um-form input[type=tel].um-error,.um-form input[type=text].um-error{border-color:#c74a4a!important}.um-form textarea{width:100%;padding:8px 12px!important;display:block;font-size:15px!important;line-height:22px!important;background:#fff;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-sizing:border-box;min-height:80px!important;box-shadow:none;outline:0!important}.um-form .um-meta-text textarea{max-width:100%}.um-form .wp-editor-container{border:1px solid #ddd}.um-form .wp-editor-container textarea{background:#ddd!important;color:#222!important;border-radius:0}.um-field-c .um-field-checkbox{margin-bottom:14px;margin-top:0!important;position:relative}.um-field-checkbox:not(.um-field),.um-field-radio:not(.um-field){display:block;margin:8px 0;position:relative}.um-profile.um-editing .um-field-checkbox,.um-profile.um-editing .um-field-radio{cursor:pointer!important}.um-field-checkbox:hover i,.um-field-radio:hover i{color:#666}.um-field-checkbox input,.um-field-radio input{opacity:0!important;display:inline!important;width:0!important;float:left}.um-field-checkbox-state,.um-field-radio-state{position:absolute;top:0;left:1px;width:24px;height:24px}.um-field-checkbox-state i,.um-field-radio-state i{font-size:24px;line-height:24px;height:24px;color:#aaa;transition:all .2s linear}.um-field-checkbox-option,.um-field-radio-option{margin:0 0 0 36px;line-height:24px;color:#888!important;display:block}.um-field-group{margin-top:20px}.um-field-group-head{cursor:pointer;color:#fff;font-size:16px;line-height:22px;padding:10px 20px;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;border-top:1px solid transparent!important;border-bottom:2px solid rgba(0,0,0,.1)!important}.um-field-group-head i{font-size:20px;margin:0 8px 0 0}.um-field-group-head i:before{vertical-align:middle!important}.um-field-group-body{display:none;margin:15px 0 0 0;padding:15px 20px 5px 20px;background:#f9f9f9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:relative;box-sizing:border-box;width:100%}.um-field-group-body div.um-field{padding:0 0 15px 0}.um-field-group-cancel{font-size:18px;position:absolute;z-index:800;right:8px;top:8px;color:#ccc!important;text-decoration:none!important}.um-field-group-cancel:hover{color:#777!important}.um div.disabled,.um input[type=number]:disabled,.um input[type=submit]:disabled,.um input[type=text]:disabled,.um-disabled{opacity:.6!important;cursor:no-drop!important}input[type=submit].um-button,input[type=submit].um-button:focus{vertical-align:middle!important;height:auto!important;font-size:15px;cursor:pointer!important;width:100%;box-shadow:none;text-shadow:none;font-family:inherit;outline:0!important;margin:0;opacity:1;-webkit-appearance:none}input[type=submit].um-button:hover{opacity:1}.um-button{font-size:15px;border:none!important;display:block;width:100%;line-height:1em!important;padding:16px 20px!important;text-decoration:none!important;text-align:center;text-transform:none!important;font-weight:400!important;overflow:hidden;position:relative;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);opacity:1}a.um-button{font-size:15px;border:none!important;display:block;width:100%;line-height:1em!important;padding:16px 20px!important;text-decoration:none!important;text-align:center;text-transform:none!important;font-weight:400!important;overflow:hidden;position:relative;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);opacity:1}a.um-button:hover{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.um-button.um-btn-auto-width{width:auto;display:inline-block;padding:14px 20px!important;min-width:200px;max-width:450px}a.um-link-alt{line-height:22px;color:#888!important;display:block!important;text-decoration:none!important;font-weight:400;text-align:center;border-bottom:none!important}a.um-link-alt:hover{text-decoration:underline!important}.um-dropdown{position:absolute;height:auto;background:#fff;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;z-index:55;display:none;border:1px solid #e5e5e5;box-sizing:border-box;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1);box-shadow:0 0 1px rgba(0,0,0,.1)}.um-dropdown li,.um-dropdown ul{list-style-type:none!important;padding:0!important;margin:0!important}.um-dropdown ul{background:#fff;position:relative;z-index:16}.um-dropdown li a{display:block;padding:8px 12px;color:#666;font-size:14px;line-height:18px}.um-dropdown li:last-child a{border-top:1px solid #e5e5e5;padding:12px}.um-dropdown-b{position:relative}.um-dropdown-arr{position:absolute;font-size:24px;width:24px;height:24px;overflow:hidden;z-index:15;color:#eee}.um-dropdown-arr *{display:block!important;width:24px!important;height:24px!important;vertical-align:bottom!important;overflow:hidden!important;line-height:24px!important}div.um-photo{margin:20px auto 0 auto;text-align:center;box-sizing:border-box;max-width:100%}div.um-photo,div.um-photo a,div.um-photo img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}div.um-photo a{border:1px solid #e5e5e5;padding:5px;box-sizing:border-box;display:inline-block;box-shadow:0 1px 1px #eee;margin:0 auto;max-width:100%}div.um-photo img{max-height:300px;max-width:100%}span.um-req{margin:0 0 0 8px;font-size:14px;display:inline-block}small.um-max-filesize{display:block;color:#999;padding-top:5px}small.um-max-filesize span{font-size:12px}.um-form .um-field .um-field-area input.um-form-field.um-validate-not-matched,.um-form .um-field .um-field-area input.um-form-field.um-validate-not-matched:focus,.um-form .um-field .um-field-area input.um-form-field.um-validate-username-exists,.um-form .um-field .um-field-area input.um-form-field.um-validate-username-exists:focus{border-color:#db2929!important}.um-form .um-field .um-field-area input.um-searching-username{background-image:url(../img/loading.gif);background-position:right center;background-repeat:no-repeat;background-size:24px 24px}.um-search-area{position:relative;max-width:300px}.um-search-area .um-search-field{width:100%;margin:0;padding-left:25px}.rtl .um-search-area .um-search-field{padding-right:25px;padding-left:initial}.um-search-area .um-search-icon{position:absolute;height:100%;left:6px;top:0}.rtl .um-search-area .um-search-icon{right:6px;left:initial}.um-faicon-search:before{display:flex;align-items:center;justify-content:center;height:100%}.um-field .select2-container.select2-container--open,.um-search-filter .select2-container.select2-container--open{z-index:9999999}.um-field .select2.select2-container .select2-selection,.um-search-filter .select2.select2-container .select2-selection{display:block!important;height:40px;padding:0 0 0 12px!important;overflow:hidden!important;position:relative!important;white-space:nowrap!important;line-height:35px!important;color:#666!important;font-size:15px!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;background-clip:padding-box!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#fff!important;border:1px solid #ddd!important}.rtl .um-field .select2.select2-container .select2-selection,.rtl .um-search-filter .select2.select2-container .select2-selection{padding:0 12px 0 0!important}.um-field .select2.select2-container .select2-selection .select2-selection__arrow,.um-search-filter .select2.select2-container .select2-selection .select2-selection__arrow{display:inline-block!important;width:34px!important;height:100%!important;position:absolute;right:0;top:0;text-align:center;background:0 0!important;border:none!important}.rtl .um-field .select2.select2-container .select2-selection .select2-selection__arrow,.rtl .um-search-filter .select2.select2-container .select2-selection .select2-selection__arrow{right:initial;left:0}.um-field .select2.select2-container .select2-selection .select2-selection__arrow:before,.um-search-filter .select2.select2-container .select2-selection .select2-selection__arrow:before{content:"\f3d0"!important;font-size:28px!important;font-family:Ionicons!important;display:block;height:100%;line-height:40px;min-width:1em;text-align:center;color:#aaa}.um-field .select2.select2-container .select2-selection .select2-selection__arrow b[role=presentation],.um-search-filter .select2.select2-container .select2-selection .select2-selection__arrow b[role=presentation]{display:none}.um-field .select2-container.select2-container--open .select2-dropdown,.um-search-filter .select2-container.select2-container--open .select2-dropdown{border:1px solid #ddd!important;border-radius:0}.um-field .select2-container.select2-container--open .select2-dropdown .select2-results li,.um-search-filter .select2-container.select2-container--open .select2-dropdown .select2-results li{list-style:none;display:list-item;background:0 0;font-size:15px;margin:5px!important;color:#666!important;padding:3px 7px 4px!important;cursor:pointer;min-height:1em}.um-field .select2.select2-container .select2-selection.select2-selection--multiple,.um-search-filter .select2.select2-container .select2-selection.select2-selection--multiple{height:auto!important;line-height:.8!important;min-height:40px;padding-bottom:4px!important}.um-field .select2-container--default .select2-selection--single .select2-selection__rendered,.um-search-filter .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:37px;padding-left:0;padding-right:24px}.rtl .um-field .select2-container--default .select2-selection--single .select2-selection__rendered,.rtl .um-search-filter .select2-container--default .select2-selection--single .select2-selection__rendered{padding-left:24px;padding-right:0}.um-field .select2-container--default .select2-selection--multiple .select2-selection__rendered,.um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__rendered{line-height:37px;box-sizing:border-box;list-style:none;margin:0;padding-left:0;padding-right:30px;width:100%;font-size:13px}.rtl .um-field .select2-container--default .select2-selection--multiple .select2-selection__rendered,.rtl .um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__rendered{padding-left:30px;padding-right:0}.um-field .select2-dropdown .select2-results li.select2-results__option.select2-results__option--highlighted,.um-search-filter .select2-dropdown .select2-results li.select2-results__option.select2-results__option--highlighted{background:#f4f4f4;color:#666}.um-field .select2-dropdown .select2-results li.select2-results__option[aria-selected=true],.um-search-filter .select2-dropdown .select2-results li.select2-results__option[aria-selected=true]{background-color:#ddd}.um-field .select2-container--default .select2-selection--multiple .select2-selection__clear,.um-field .select2-container--default .select2-selection--single .select2-selection__clear,.um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__clear,.um-search-filter .select2-container--default .select2-selection--single .select2-selection__clear{color:#aaa;font-size:28px;font-weight:400;line-height:34px;margin:0!important;right:0;text-align:center;width:1em}.rtl .um-field .select2-container--default .select2-selection--multiple .select2-selection__clear,.rtl .um-field .select2-container--default .select2-selection--single .select2-selection__clear,.rtl .um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__clear,.rtl .um-search-filter .select2-container--default .select2-selection--single .select2-selection__clear{left:0;right:initial}.um-field .select2-container--default .select2-selection--multiple .select2-selection__clear,.um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__clear{position:absolute}.um-field .select2-container--default .select2-selection--multiple .select2-selection__choice,.um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__choice{margin:5px 5px 0 0;max-height:28px;padding:3px 3px 3px 5px}.rtl .um-field .select2-container--default .select2-selection--multiple .select2-selection__choice,.rtl .um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__choice{margin:5px 0 0 5px;padding:3px 5px 3px 3px}.um-field .select2-container--default .select2-selection--multiple .select2-search.select2-search--inline,.um-search-filter .select2-container--default .select2-selection--multiple .select2-search.select2-search--inline{margin:5px 5px 0 0;padding:0}.rtl .um-field .select2-container--default .select2-selection--multiple .select2-search.select2-search--inline,.rtl .um-search-filter .select2-container--default .select2-selection--multiple .select2-search.select2-search--inline{margin:5px 0 0 5px}.um-field .select2-container--default .select2-selection--multiple .select2-search.select2-search--inline>input,.um-search-filter .select2-container--default .select2-selection--multiple .select2-search.select2-search--inline>input{border:none!important;padding:0!important;max-height:28px}.um-field .select2-container--default .select2-selection--multiple .select2-selection__rendered li,.um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__rendered li{overflow-x:hidden;text-overflow:ellipsis;max-width:100%;box-sizing:border-box;line-height:20px}.um-field-multiselect .um-field-area .um-field-icon,.um-field-select .um-field-area .um-field-icon{z-index:99999999}.um-field-select .um-field-area.um-field-area-has-icon .select2-selection__rendered{text-indent:20px}.um-field-multiselect .um-field-area.um-field-area-has-icon ul:first-child{margin-left:30px!important}.um-field-area .wp-switch-editor{float:none;height:auto}.um-textarea-html-value{border:none;width:100%;max-width:none;margin:0;padding:0;overflow:auto;max-height:none;height:auto} \ No newline at end of file +.um:not(.um-admin){width:100%;text-align:left;box-sizing:border-box;color:#666;font-size:15px;margin-bottom:30px!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;opacity:0}.um-s1,.um-s2{display:none}.um:not(.um-admin) :after,.um:not(.um-admin) :before{box-sizing:content-box}.um-account-side li a,.um-cover a,.um-field-value a,.um-header a,.um-member-less a,.um-member-more a,.um-member-name a,.um-member-photo a,.um-members a,.um-members-pagi a,.um-members-pagi span{border-bottom:0!important}.um-modal a:focus,.um:not(.um-admin) a:focus{outline:0!important}.um:not(.um-admin) a .image-overlay,.um:not(.um-admin) a:hover .image-overlay,.um:not(.um-admin) a:hover .image-overlay *{display:none!important;width:0!important;height:0!important;position:static!important}.um.um-in-admin{padding-top:0}.um.um-in-admin .um-tip{display:none!important}.um:not(.um-admin):not(.um-directory) input,.um:not(.um-admin):not(.um-directory) select,.um:not(.um-admin):not(.um-directory) textarea{font-size:15px}.um:not(.um-admin) *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-left{float:left}.um-right{float:right}.um-clear{clear:both}.um-center{text-align:center}.um-center .um-button{display:inline-block!important;width:auto!important;min-width:250px!important}.um-half{width:48%}.um-field-half{width:48%;float:left}.um-field-half.right{float:right}.um-field-tri{width:30%;float:left;margin-right:3%}.um img{box-shadow:none!important}.um-col{padding-bottom:20px}.um-col-alt{margin:15px 0 5px 0}.um-col-alt-s{padding-top:10px}.um-col-alt-b{padding-top:20px}.um-col-121{float:left;width:48%}.um-col-122{float:right;width:48%}.um-col-131{float:left;width:30%}.um-col-132{float:left;width:30%;margin:0 5%}.um-col-133{float:left;width:30%}.um-raty i{font-size:26px}.um-field-half .um-raty i{font-size:21px}.um-field-tri .um-raty i{font-size:21px}.um-button i{font-size:22px;width:22px;height:12px!important;display:inline-block;line-height:12px!important;vertical-align:middle!important;position:relative;top:-6px;margin-right:8px}.um-row-heading{padding:5px 0;font-size:16px}.um-row-heading i{font-size:24px;height:24px;line-height:24px;margin:0 12px 0 0;display:inline-block;width:30px;text-align:center}.um-row-heading i:before{vertical-align:middle!important}p.um-notice{width:auto;color:#fff;box-sizing:border-box;font-size:15px;padding:12px!important;margin:12px 0 0 0!important;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:relative}p.um-notice a{color:#fff;text-decoration:underline}p.um-notice i{position:absolute;right:14px;font-size:36px;cursor:pointer;top:7px;display:block;height:30px;line-height:30px}p.um-notice.success{background:#7acf58}p.um-notice.err{background:#c74a4a}p.um-notice.warning{background:#f9f9d1;color:#666;border:1px solid #efe4a2;padding:8px 15px!important}p.um-notice.warning a{color:#666;text-decoration:underline}.um-field-error{width:auto;max-width:100%;background:#c74a4a;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:20px!important;margin:12px 0 0 0}.um-field-error a{color:#fff!important;text-decoration:underline!important}.um-field-arrow{top:-17px;left:10px;position:absolute;z-index:1;color:#c74a4a;font-size:28px;line-height:1em!important}.um-error-block{width:auto;max-width:100%;background:#c74a4a;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:1em!important;margin:12px 0 0 0}.um-field-notice{width:auto;max-width:100%;background:#497bc7;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:20px!important;margin:5px 0 0 0}.um-field-notice a{color:#fff!important;text-decoration:underline!important}.um-field-notice .um-field-arrow{top:-17px;left:10px;position:absolute;z-index:1;color:#497bc7!important;font-size:28px;line-height:1em!important}.um-notice-block{width:auto;max-width:100%;background:#497bc7;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:1em!important;margin:12px 0 0 0}.um-tip{margin:0 0 0 8px;cursor:pointer;display:inline-block;position:relative;top:3px}.um-tip i{font-size:22px;height:22px;line-height:22px;display:block;position:relative}.um-tip-text{display:block;font-size:13px;line-height:15px;color:#999}.um-form button::-moz-focus-inner,.um-form input::-moz-focus-inner{border:0!important;padding:0!important}.um-field{position:relative;padding:15px 0 0 0}.um-field-b,.um-field-c{padding-top:0!important}.um-field-label{display:block;margin:0 0 8px 0}.um-field-label .um-field-label-icon{float:left;margin:0 8px 0 0;height:22px;line-height:18px;display:inline-block;width:24px;text-align:center}.um-field-label .um-field-label-icon i{font-size:22px;position:relative;top:1px}.um-field-label label{font-size:15px!important;line-height:22px!important;font-weight:700;font-weight:600}.um-field-area{position:relative;word-wrap:break-word}.um-field-area-password{position:relative}.um-toggle-password{cursor:pointer;display:block;position:absolute;right:0;top:0;height:100%;width:40px;text-align:center;box-sizing:border-box;font-size:20px;line-height:2}.um-toggle-password i{transition:all .2s linear}.um-toggle-password:hover i{color:#44b0ec}.um-field-value p{margin:0 0 6px 0!important;padding:0}.um-field-block{color:#777;font-size:17px}.um-field-spacing{width:100%}.um-field-divider{width:100%;margin:0 0 12px 0;height:24px;position:relative}.um-field-divider-text{position:absolute;width:100%;text-align:center;bottom:-24px;left:0;font-size:16px;padding:10px 0}.um-field-divider-text span{background:#fff;color:#555;display:inline-block;padding:0 15px}.um-field-icon{position:absolute;cursor:default;text-align:center!important;top:2px;left:0;width:44px;font-size:22px;line-height:1.7em;z-index:1}.um-form input[type=number],.um-form input[type=password],.um-form input[type=search],.um-form input[type=tel],.um-form input[type=text]{padding:0 12px!important;width:100%;display:block!important;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;outline:0!important;cursor:text!important;font-size:15px!important;height:40px!important;box-sizing:border-box!important;box-shadow:none!important;margin:0!important;position:static}.um-form .um-field-area-password input[type=password]{padding-right:40px!important}.um-form input[type=number]{width:auto;padding:0 0 0 5px!important;height:30px!important}.um-form input[type=number]:focus,.um-form input[type=password]:focus,.um-form input[type=search]:focus,.um-form input[type=tel]:focus,.um-form input[type=text]:focus,.um-form textarea:focus{box-shadow:none!important;outline:0!important}.um-form input[type=password].um-iconed,.um-form input[type=tel].um-iconed,.um-form input[type=text].um-iconed{padding-left:44px!important}.um-form input[type=password].um-error,.um-form input[type=tel].um-error,.um-form input[type=text].um-error{border-color:#c74a4a!important}.um-form textarea{width:100%;padding:8px 12px!important;display:block;font-size:15px!important;line-height:22px!important;background:#fff;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-sizing:border-box;min-height:80px!important;box-shadow:none;outline:0!important}.um-form .um-meta-text textarea{max-width:100%}.um-form .wp-editor-container{border:1px solid #ddd}.um-form .wp-editor-container textarea{background:#ddd!important;color:#222!important;border-radius:0}.um-field-c .um-field-checkbox{margin-bottom:14px;margin-top:0!important;position:relative}.um-field-checkbox:not(.um-field),.um-field-radio:not(.um-field){display:block;margin:8px 0;position:relative}.um-profile.um-editing .um-field-checkbox,.um-profile.um-editing .um-field-radio{cursor:pointer!important}.um-field-checkbox:hover i,.um-field-radio:hover i{color:#666}.um-field-checkbox input,.um-field-radio input{opacity:0!important;display:inline!important;width:0!important;float:left}.um-field-checkbox-state,.um-field-radio-state{position:absolute;top:0;left:1px;width:24px;height:24px}.um-field-checkbox-state i,.um-field-radio-state i{font-size:24px;line-height:24px;height:24px;color:#aaa;transition:all .2s linear}.um-field-checkbox-option,.um-field-radio-option{margin:0 0 0 36px;line-height:24px;color:#888!important;display:block}.um-field-group{margin-top:20px}.um-field-group-head{cursor:pointer;color:#fff;font-size:16px;line-height:22px;padding:10px 20px;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;border-top:1px solid transparent!important;border-bottom:2px solid rgba(0,0,0,.1)!important}.um-field-group-head i{font-size:20px;margin:0 8px 0 0}.um-field-group-head i:before{vertical-align:middle!important}.um-field-group-body{display:none;margin:15px 0 0 0;padding:15px 20px 5px 20px;background:#f9f9f9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:relative;box-sizing:border-box;width:100%}.um-field-group-body div.um-field{padding:0 0 15px 0}.um-field-group-cancel{font-size:18px;position:absolute;z-index:800;right:8px;top:8px;color:#ccc!important;text-decoration:none!important}.um-field-group-cancel:hover{color:#777!important}.um div.disabled,.um input[type=number]:disabled,.um input[type=submit]:disabled,.um input[type=text]:disabled,.um-disabled{opacity:.6!important;cursor:no-drop!important}input[type=submit].um-button,input[type=submit].um-button:focus{vertical-align:middle!important;height:auto!important;font-size:15px;cursor:pointer!important;width:100%;box-shadow:none;text-shadow:none;font-family:inherit;outline:0!important;margin:0;opacity:1;-webkit-appearance:none}input[type=submit].um-button:hover{opacity:1}.um-button{font-size:15px;border:none!important;display:block;width:100%;line-height:1em!important;padding:16px 20px!important;text-decoration:none!important;text-align:center;text-transform:none!important;font-weight:400!important;overflow:hidden;position:relative;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);opacity:1}a.um-button{font-size:15px;border:none!important;display:block;width:100%;line-height:1em!important;padding:16px 20px!important;text-decoration:none!important;text-align:center;text-transform:none!important;font-weight:400!important;overflow:hidden;position:relative;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);opacity:1}a.um-button:hover{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.um-button.um-btn-auto-width{width:auto;display:inline-block;padding:14px 20px!important;min-width:200px;max-width:450px}a.um-link-alt{line-height:22px;color:#888!important;display:block!important;text-decoration:none!important;font-weight:400;text-align:center;border-bottom:none!important}a.um-link-alt:hover{text-decoration:underline!important}.um-dropdown{position:absolute;height:auto;background:#fff;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;z-index:55;display:none;border:1px solid #e5e5e5;box-sizing:border-box;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1);box-shadow:0 0 1px rgba(0,0,0,.1)}.um-dropdown li,.um-dropdown ul{list-style-type:none!important;padding:0!important;margin:0!important}.um-dropdown ul{background:#fff;position:relative;z-index:16}.um-dropdown li a{display:block;padding:8px 12px;color:#666;font-size:14px;line-height:18px}.um-dropdown li:last-child a{border-top:1px solid #e5e5e5;padding:12px}.um-dropdown-b{position:relative}.um-dropdown-arr{position:absolute;font-size:24px;width:24px;height:24px;overflow:hidden;z-index:15;color:#eee}.um-dropdown-arr *{display:block!important;width:24px!important;height:24px!important;vertical-align:bottom!important;overflow:hidden!important;line-height:24px!important}div.um-photo{margin:20px auto 0 auto;text-align:center;box-sizing:border-box;max-width:100%}div.um-photo,div.um-photo a,div.um-photo img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}div.um-photo a{border:1px solid #e5e5e5;padding:5px;box-sizing:border-box;display:inline-block;box-shadow:0 1px 1px #eee;margin:0 auto;max-width:100%}div.um-photo img{max-height:300px;max-width:100%}span.um-req{margin:0 0 0 8px;font-size:14px;display:inline-block}small.um-max-filesize{display:block;color:#999;padding-top:5px}small.um-max-filesize span{font-size:12px}.um-form .um-field .um-field-area input.um-form-field.um-validate-not-matched,.um-form .um-field .um-field-area input.um-form-field.um-validate-not-matched:focus,.um-form .um-field .um-field-area input.um-form-field.um-validate-username-exists,.um-form .um-field .um-field-area input.um-form-field.um-validate-username-exists:focus{border-color:#db2929!important}.um-form .um-field .um-field-area input.um-searching-username{background-image:url(../img/loading.gif);background-position:right center;background-repeat:no-repeat;background-size:24px 24px}.um-search-area{position:relative;max-width:300px}.um-search-area .um-search-field{width:100%;margin:0;padding-left:25px}.rtl .um-search-area .um-search-field{padding-right:25px;padding-left:initial}.um-search-area .um-search-icon{position:absolute;height:100%;left:6px;top:0}.rtl .um-search-area .um-search-icon{right:6px;left:initial}.um-faicon-search:before{display:flex;align-items:center;justify-content:center;height:100%}.um-field .select2-container.select2-container--open,.um-search-filter .select2-container.select2-container--open{z-index:9999999}.um-field .select2.select2-container .select2-selection,.um-search-filter .select2.select2-container .select2-selection{display:block!important;height:40px;padding:0 0 0 12px!important;overflow:hidden!important;position:relative!important;white-space:nowrap!important;line-height:35px!important;color:#666!important;font-size:15px!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;background-clip:padding-box!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#fff!important;border:1px solid #ddd!important}.rtl .um-field .select2.select2-container .select2-selection,.rtl .um-search-filter .select2.select2-container .select2-selection{padding:0 12px 0 0!important}.um-field .select2.select2-container .select2-selection .select2-selection__arrow,.um-search-filter .select2.select2-container .select2-selection .select2-selection__arrow{display:inline-block!important;width:34px!important;height:100%!important;position:absolute;right:0;top:0;text-align:center;background:0 0!important;border:none!important}.rtl .um-field .select2.select2-container .select2-selection .select2-selection__arrow,.rtl .um-search-filter .select2.select2-container .select2-selection .select2-selection__arrow{right:initial;left:0}.um-field .select2.select2-container .select2-selection .select2-selection__arrow:before,.um-search-filter .select2.select2-container .select2-selection .select2-selection__arrow:before{content:"\f3d0"!important;font-size:28px!important;font-family:Ionicons!important;display:block;height:100%;line-height:40px;min-width:1em;text-align:center;color:#aaa}.um-field .select2.select2-container .select2-selection .select2-selection__arrow b[role=presentation],.um-search-filter .select2.select2-container .select2-selection .select2-selection__arrow b[role=presentation]{display:none}.um-field .select2-container.select2-container--open .select2-dropdown,.um-search-filter .select2-container.select2-container--open .select2-dropdown{border:1px solid #ddd!important;border-radius:0}.um-field .select2-container.select2-container--open .select2-dropdown .select2-results li,.um-search-filter .select2-container.select2-container--open .select2-dropdown .select2-results li{list-style:none;display:list-item;background:0 0;font-size:15px;margin:5px!important;color:#666!important;padding:3px 7px 4px!important;cursor:pointer;min-height:1em}.um-field .select2.select2-container .select2-selection.select2-selection--multiple,.um-search-filter .select2.select2-container .select2-selection.select2-selection--multiple{height:auto!important;line-height:.8!important;min-height:40px;padding-bottom:4px!important}.um-field .select2-container--default .select2-selection--single .select2-selection__rendered,.um-search-filter .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:37px;padding-left:0;padding-right:24px}.rtl .um-field .select2-container--default .select2-selection--single .select2-selection__rendered,.rtl .um-search-filter .select2-container--default .select2-selection--single .select2-selection__rendered{padding-left:24px;padding-right:0}.um-field .select2-container--default .select2-selection--multiple .select2-selection__rendered,.um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__rendered{line-height:37px;box-sizing:border-box;list-style:none;margin:0;padding-left:0;padding-right:30px;width:100%;font-size:13px}.rtl .um-field .select2-container--default .select2-selection--multiple .select2-selection__rendered,.rtl .um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__rendered{padding-left:30px;padding-right:0}.um-field .select2-dropdown .select2-results li.select2-results__option.select2-results__option--highlighted,.um-search-filter .select2-dropdown .select2-results li.select2-results__option.select2-results__option--highlighted{background:#f4f4f4;color:#666}.um-field .select2-dropdown .select2-results li.select2-results__option[aria-selected=true],.um-search-filter .select2-dropdown .select2-results li.select2-results__option[aria-selected=true]{background-color:#ddd}.um-field .select2-container--default .select2-selection--multiple .select2-selection__clear,.um-field .select2-container--default .select2-selection--single .select2-selection__clear,.um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__clear,.um-search-filter .select2-container--default .select2-selection--single .select2-selection__clear{color:#aaa;font-size:28px;font-weight:400;line-height:34px;margin:0!important;right:0;text-align:center;width:1em}.rtl .um-field .select2-container--default .select2-selection--multiple .select2-selection__clear,.rtl .um-field .select2-container--default .select2-selection--single .select2-selection__clear,.rtl .um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__clear,.rtl .um-search-filter .select2-container--default .select2-selection--single .select2-selection__clear{left:0;right:initial}.um-field .select2-container--default .select2-selection--multiple .select2-selection__clear,.um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__clear{position:absolute}.um-field .select2-container--default .select2-selection--multiple .select2-selection__choice,.um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__choice{margin:5px 5px 0 0;max-height:28px;padding:3px 3px 3px 5px}.rtl .um-field .select2-container--default .select2-selection--multiple .select2-selection__choice,.rtl .um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__choice{margin:5px 0 0 5px;padding:3px 5px 3px 3px}.um-field .select2-container--default .select2-selection--multiple .select2-search.select2-search--inline,.um-search-filter .select2-container--default .select2-selection--multiple .select2-search.select2-search--inline{margin:5px 5px 0 0;padding:0}.rtl .um-field .select2-container--default .select2-selection--multiple .select2-search.select2-search--inline,.rtl .um-search-filter .select2-container--default .select2-selection--multiple .select2-search.select2-search--inline{margin:5px 0 0 5px}.um-field .select2-container--default .select2-selection--multiple .select2-search.select2-search--inline>input,.um-search-filter .select2-container--default .select2-selection--multiple .select2-search.select2-search--inline>input{border:none!important;padding:0!important;max-height:28px}.um-field .select2-container--default .select2-selection--multiple .select2-selection__rendered li,.um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__rendered li{overflow-x:hidden;text-overflow:ellipsis;max-width:100%;box-sizing:border-box;line-height:20px}.um-field-multiselect .um-field-area .um-field-icon,.um-field-select .um-field-area .um-field-icon{z-index:99999999}.um-field-select .um-field-area.um-field-area-has-icon .select2-selection__rendered{text-indent:20px}.um-field-multiselect .um-field-area.um-field-area-has-icon ul:first-child{margin-left:30px!important}.um-field-area .wp-switch-editor{float:none;height:auto} \ No newline at end of file diff --git a/assets/js/common-frontend.js b/assets/js/common-frontend.js index 4a989853..fef49375 100644 --- a/assets/js/common-frontend.js +++ b/assets/js/common-frontend.js @@ -96,18 +96,6 @@ UM.frontend = { UM.frontend.cropper.obj = null; // flush our own object } } - }, - iframe: { - resize: function(obj) { - let newHeight; - // 150 is default height of the iframe in web-browser - if ( obj.contentWindow.document.documentElement.scrollHeight > 150 && obj.contentWindow.document.documentElement.scrollHeight > obj.contentWindow.document.documentElement.offsetHeight ) { - newHeight = obj.contentWindow.document.documentElement.scrollHeight; - } else { - newHeight = obj.contentWindow.document.documentElement.offsetHeight; - } - obj.style.height = newHeight + 'px'; - } } } diff --git a/assets/js/common-frontend.min.js b/assets/js/common-frontend.min.js index bb253c84..aae402d3 100644 --- a/assets/js/common-frontend.min.js +++ b/assets/js/common-frontend.min.js @@ -1 +1 @@ -"object"!=typeof window.UM&&(window.UM={}),"object"!=typeof UM.frontend&&(UM.frontend={}),UM.frontend={cropper:{obj:null,init:function(){var o=jQuery(".um-modal .um-single-image-preview img").first();if(o.length&&""!==o.attr("src")){UM.frontend.cropper.obj&&UM.frontend.cropper.destroy();var t=jQuery(".um-modal .um-single-image-preview"),n=o.parent().data("crop"),r=o.parent().data("min_width"),i=o.parent().data("min_height"),d=o.parent().data("ratio"),a=jQuery(".um-modal").find("#um_upload_single").data("ratio"),a=(a&&(d=a.split(":")[0]),jQuery(window).height()-(jQuery(".um-modal-footer a").height()+20)-50-jQuery(".um-modal-header:visible").height());o.css({height:"auto"}),t.css({height:"auto"}),jQuery(window).height()<=400?(t.css({height:a+"px","max-height":a+"px"}),o.css({height:"auto"})):(o.css({height:"auto","max-height":a+"px"}),t.css({height:o.height(),"max-height":a+"px"}));let e;"square"===n?e={minWidth:r,minHeight:i,dragCrop:!1,aspectRatio:1,zoomable:!1,rotatable:!1,dashed:!1}:"cover"===n?(0e.contentWindow.document.documentElement.offsetHeight?e.contentWindow.document.documentElement.scrollHeight:e.contentWindow.document.documentElement.offsetHeight,e.style.height=o+"px"}}},wp.hooks.addAction("um_remove_modal","um_common_frontend",function(){UM.frontend.cropper.destroy()}),wp.hooks.addAction("um_after_removing_preview","um_common_frontend",function(){UM.frontend.cropper.destroy()}),wp.hooks.addAction("um_window_resize","um_common_frontend",function(){UM.frontend.cropper.destroy()}); \ No newline at end of file +"object"!=typeof window.UM&&(window.UM={}),"object"!=typeof UM.frontend&&(UM.frontend={}),UM.frontend={cropper:{obj:null,init:function(){var o=jQuery(".um-modal .um-single-image-preview img").first();if(o.length&&""!==o.attr("src")){UM.frontend.cropper.obj&&UM.frontend.cropper.destroy();var t=jQuery(".um-modal .um-single-image-preview"),r=o.parent().data("crop"),n=o.parent().data("min_width"),i=o.parent().data("min_height"),a=o.parent().data("ratio"),d=jQuery(".um-modal").find("#um_upload_single").data("ratio"),d=(d&&(a=d.split(":")[0]),jQuery(window).height()-(jQuery(".um-modal-footer a").height()+20)-50-jQuery(".um-modal-header:visible").height());o.css({height:"auto"}),t.css({height:"auto"}),jQuery(window).height()<=400?(t.css({height:d+"px","max-height":d+"px"}),o.css({height:"auto"})):(o.css({height:"auto","max-height":d+"px"}),t.css({height:o.height(),"max-height":d+"px"}));let e;"square"===r?e={minWidth:n,minHeight:i,dragCrop:!1,aspectRatio:1,zoomable:!1,rotatable:!1,dashed:!1}:"cover"===r?(0'),um_responsive(),user_id=jQuery(this).attr("data-user_id"),metakey="cover_photo",jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_delete_cover_photo",metakey:metakey,user_id:user_id,nonce:um_scripts.nonce},success:function(e){t.hide()}}),UM.dropdown.hideAll(),!1}),jQuery(document.body).on("change keyup","#um-meta-bio",function(){if(void 0!==jQuery(this).val()){var t=jQuery(this).data("character-limit"),r=jQuery(this).data("html");let e=t-jQuery(this).val().length;e=(e=1===parseInt(r)?t-jQuery(this).val().replace(/(<([^>]+)>)/gi,"").length:e)<0?0:e,jQuery("span.um-meta-bio-character span.um-bio-limit").text(e);r=e<5?"red":"";jQuery("span.um-meta-bio-character").css("color",r)}}),jQuery("#um-meta-bio").trigger("change"),jQuery(".um-profile form").each(function(){let t=jQuery(this).data("description_key");jQuery(this).find('textarea[name="'+t+'"]').length&&jQuery(document.body).on("change input",'textarea[name="'+t+'"]',function(e){jQuery(this).parents("form").find('textarea[name="'+t+'"]').each(function(){jQuery(this).val(e.currentTarget.value),jQuery("#um-meta-bio")[0]!==e.currentTarget&&jQuery("#um-meta-bio")[0]===jQuery(this)[0]&&jQuery(this).trigger("change")})})}),jQuery(".um-profile-edit a.um_delete-item").on("click",function(e){if(e.preventDefault(),!confirm(wp.i18n.__("Are you sure that you want to delete this user?","ultimate-member")))return!1}),jQuery(".um-profile-nav a").on("touchend",function(e){jQuery(e.currentTarget).trigger("click")}),jQuery("iframe.um-textarea-html-value").each(function(){let e=jQuery(this);e.onload=function(){UM.frontend.iframe.resize(e[0])}})}); \ No newline at end of file +jQuery(document).ready(function(){jQuery(".um-profile.um-viewing .um-profile-body .um-row").each(function(){var e=jQuery(this);0==e.find(".um-field").length&&(e.prev(".um-row-heading").remove(),e.remove())}),jQuery(".um-profile.um-viewing .um-profile-body").length&&0==jQuery(".um-profile.um-viewing .um-profile-body").find(".um-field").length&&(jQuery(".um-profile.um-viewing .um-profile-body").find(".um-row-heading,.um-row").remove(),jQuery(".um-profile-note").show()),jQuery(document.body).on("click",".um-profile-save",function(e){return e.preventDefault(),jQuery(this).parents(".um.um-profile.um-editing").find("form").trigger("submit"),!1}),jQuery(document.body).on("click",".um-profile-edit-a",function(e){jQuery(this).addClass("active")}),jQuery(document.body).on("click",".um-cover a.um-cover-add, .um-photo a",function(e){e.preventDefault()}),jQuery(document.body).on("click",".um-photo-modal",function(e){e.preventDefault();e=jQuery(this).attr("data-src");return um_new_modal("um_view_photo","fit",!0,e),!1}),jQuery(document.body).on("click",".um-reset-profile-photo",function(e){return 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",UM.dropdown.hideAll(),jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_delete_profile_photo",metakey:metakey,user_id:user_id,nonce:um_scripts.nonce}}),jQuery(this).parents("li").hide(),!1}),jQuery(document.body).on("click",".um-reset-cover-photo",function(e){var t=jQuery(this);return jQuery(".um-cover-overlay").hide(),jQuery(".um-cover-e").html(''),um_responsive(),user_id=jQuery(this).attr("data-user_id"),metakey="cover_photo",jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_delete_cover_photo",metakey:metakey,user_id:user_id,nonce:um_scripts.nonce},success:function(e){t.hide()}}),UM.dropdown.hideAll(),!1}),jQuery(document.body).on("change keyup","#um-meta-bio",function(){if(void 0!==jQuery(this).val()){var t=jQuery(this).data("character-limit"),r=jQuery(this).data("html");let e=t-jQuery(this).val().length;e=(e=1===parseInt(r)?t-jQuery(this).val().replace(/(<([^>]+)>)/gi,"").length:e)<0?0:e,jQuery("span.um-meta-bio-character span.um-bio-limit").text(e);r=e<5?"red":"";jQuery("span.um-meta-bio-character").css("color",r)}}),jQuery("#um-meta-bio").trigger("change"),jQuery(".um-profile form").each(function(){let t=jQuery(this).data("description_key");jQuery(this).find('textarea[name="'+t+'"]').length&&jQuery(document.body).on("change input",'textarea[name="'+t+'"]',function(e){jQuery(this).parents("form").find('textarea[name="'+t+'"]').each(function(){jQuery(this).val(e.currentTarget.value),jQuery("#um-meta-bio")[0]!==e.currentTarget&&jQuery("#um-meta-bio")[0]===jQuery(this)[0]&&jQuery(this).trigger("change")})})}),jQuery(".um-profile-edit a.um_delete-item").on("click",function(e){if(e.preventDefault(),!confirm(wp.i18n.__("Are you sure that you want to delete this user?","ultimate-member")))return!1}),jQuery(".um-profile-nav a").on("touchend",function(e){jQuery(e.currentTarget).trigger("click")})}); \ No newline at end of file diff --git a/composer.json b/composer.json index 9b5aae8f..53cd7340 100644 --- a/composer.json +++ b/composer.json @@ -21,6 +21,7 @@ "ext-fileinfo": "*", "ext-curl": "*", "ext-iconv": "*", + "ext-tidy": "*", "woocommerce/action-scheduler": "3.2.1" }, "require-dev": { diff --git a/includes/core/class-form.php b/includes/core/class-form.php index 7a39efbf..7b8ff91a 100644 --- a/includes/core/class-form.php +++ b/includes/core/class-form.php @@ -735,6 +735,59 @@ if ( ! class_exists( 'um\core\Form' ) ) { return $form; } + /** + * Use PHP tidy extension if it's active for getting clean HTML without unclosed tags. + * + * @param string $html_fragment Textarea with active HTML option field value. + * @param array $field_data Ultimate Member form field data. + * + * @return string|\tidy + */ + private static function maybe_apply_tidy( $html_fragment, $field_data ) { + // Break if extension isn't active in php.ini + if ( ! function_exists( 'tidy_parse_string' ) ) { + return $html_fragment; + } + + $tidy_config = array( + 'clean' => true, + 'output-xhtml' => true, + 'show-body-only' => true, + 'wrap' => 0, + ); + /** + * Filters PHP tidy extension config. + * Get more info here https://www.php.net/manual/en/tidy.parsestring.php + * + * @param {array} $tidy_config Config. + * @param {array} $field_data UM Form Field Data. + * + * @return {array} Config. + * + * @since 2.8.9 + * @hook um_tidy_config + * + * @example Customize tidy config based on field data. + * function my_um_tidy_config( $tidy_config, $field_data ) { + * // your code here + * if ( 'custom_metakey' === $field_data['metakey'] ) { + * $tidy_config['clean'] = false; + * } + * return $tidy_config; + * } + * add_filter( 'um_tidy_config', 'my_um_tidy_config', 10, 2 ); + */ + $tidy_config = apply_filters( 'um_tidy_config', $tidy_config, $field_data ); + + // since PHP8.0 $tidy_config, 'UTF8' variables are nullable https://www.php.net/manual/en/tidy.parsestring.php + $tidy = tidy_parse_string( $html_fragment, $tidy_config, 'UTF8' ); + $result = $tidy->cleanRepair(); + if ( $result ) { + return $tidy; + } + + return $html_fragment; + } /** * Beautify form data @@ -769,6 +822,8 @@ if ( ! class_exists( 'um\core\Form' ) ) { $form[ $k ] = $match[1]; } + $form[ $k ] = self::maybe_apply_tidy( $form[ $k ], $field ); + $allowed_html = UM()->get_allowed_html( 'templates' ); if ( empty( $allowed_html['iframe'] ) ) { $allowed_html['iframe'] = array( @@ -906,6 +961,14 @@ if ( ! class_exists( 'um\core\Form' ) ) { if ( array_key_exists( $description_key, $custom_fields ) ) { $field_exists = true; if ( ! empty( $custom_fields[ $description_key ]['html'] ) && $bio_html ) { + $form[ $description_key ] = html_entity_decode( $form[ $description_key ] ); // required because WP_Editor send sometimes encoded content. + preg_match( '/^

(.*?)<\/p>$/', $form[ $description_key ], $match ); // required because WP_Editor send content wrapped to

+ if ( ! empty( $match[1] ) ) { + $form[ $description_key ] = $match[1]; + } + + $form[ $description_key ] = self::maybe_apply_tidy( $form[ $description_key ], $custom_fields[ $description_key ] ); + $allowed_html = UM()->get_allowed_html( 'templates' ); if ( empty( $allowed_html['iframe'] ) ) { $allowed_html['iframe'] = array( diff --git a/includes/core/um-filters-fields.php b/includes/core/um-filters-fields.php index bcd73142..98d1c299 100644 --- a/includes/core/um-filters-fields.php +++ b/includes/core/um-filters-fields.php @@ -261,7 +261,7 @@ function um_profile_field_filter_hook__textarea( $value, $data ) { } if ( ! empty( $data['html'] ) ) { - return ''; + return wp_kses_post( $value ); } $description_key = UM()->profile()->get_show_bio_key( UM()->fields()->global_args ); diff --git a/readme.txt b/readme.txt index aedb8e36..881e389c 100644 --- a/readme.txt +++ b/readme.txt @@ -166,6 +166,18 @@ No specific extensions are needed. But we highly recommended keep active these P IMPORTANT: PLEASE UPDATE THE PLUGIN TO AT LEAST VERSION 2.6.7 IMMEDIATELY. VERSION 2.6.7 PATCHES SECURITY PRIVILEGE ESCALATION VULNERABILITY. PLEASE SEE [THIS ARTICLE](https://docs.ultimatemember.com/article/1866-security-incident-update-and-recommended-actions) FOR MORE INFORMATION += 2.8.9 2024-10-14 = + +**Enhancements** + +* Added: Using PHP tidy extension (if it's active) to make HTML textarea value clear +* Added: `um_tidy_config` filter hook for setting PHP tidy config + +**Bugfixes** + +* Fixed: UM tipsy removing inside .um-page selector (e.g. tipsy init from um-modal) +* Fixed: Rollback using `