Update 'ultimatemember_searchform' shortcode in Ultimate Member plugin

Refactored template, CSS and JS to fix the security vulnerability.
This commit is contained in:
Mykyta Synelnikov
2026-01-28 11:52:06 +02:00
parent fd44b978cf
commit 9ba4e4b8d4
9 changed files with 126 additions and 83 deletions
+4 -4
View File
@@ -900,14 +900,14 @@ small.um-max-filesize span{
max-width: 300px;
}
.um-search-area .um-search-field {
.um .um-form.um-search-area .um-search-field {
width: 100%;
margin: 0;
padding-left: 25px;
padding-left: 25px !important;
}
.rtl .um-search-area .um-search-field {
padding-right: 25px;
.rtl .um .um-form.um-search-area .um-search-field {
padding-right: 25px !important;
padding-left: initial;
}
+1 -1
View File
File diff suppressed because one or more lines are too long
+48 -45
View File
@@ -440,60 +440,63 @@ jQuery(document).ready(function() {
return false;
});
jQuery( document.body ).on('click', '#um-search-button', function() {
var action = jQuery(this).parents('.um-search-form').data('members_page');
jQuery( document.body ).on('click', '#um-search-button', function(e) {
e.preventDefault();
var search_keys = [];
jQuery(this).parents('.um-search-form').find('input[name="um-search-keys[]"]').each( function() {
search_keys.push( jQuery(this).val() );
});
var search = jQuery(this).parents('.um-search-form').find('.um-search-field').val();
var url;
if ( search === '' ) {
url = action;
} else {
var query = '?';
for ( var i = 0; i < search_keys.length; i++ ) {
query += search_keys[i] + '=' + search;
if ( i !== search_keys.length - 1 ) {
query += '&';
}
}
url = action + query;
let $btn = jQuery(this);
if ( $btn.hasClass( 'um-disabled' ) ) {
return;
}
window.location = url;
let $form = $btn.parents('.um-search-form');
let search = $form.find('.um-search-field').val();
let nonce = $form.data('nonce');
$btn.addClass('um-disabled');
wp.ajax.send( 'um_search_widget_request', {
data: {
search: search,
_wpnonce: nonce
},
success: function(response) {
$btn.removeClass('um-disabled');
window.location = response.url;
},
error: function(e) {
console.log(e);
$btn.removeClass('um-disabled');
}
});
});
//make search on Enter click
jQuery( document.body ).on( 'keypress', '.um-search-field', function(e) {
if ( e.which === 13 ) {
var action = jQuery(this).parents('.um-search-form').data('members_page');
let $field = jQuery(this);
let $form = $field.parents('.um-search-form');
var search_keys = [];
jQuery(this).parents('.um-search-form').find('input[name="um-search-keys[]"]').each( function() {
search_keys.push( jQuery(this).val() );
});
var search = jQuery(this).val();
var url;
if ( search === '' ) {
url = action;
} else {
var query = '?';
for ( var i = 0; i < search_keys.length; i++ ) {
query += search_keys[i] + '=' + search;
if ( i !== search_keys.length - 1 ) {
query += '&';
}
}
url = action + query;
let $btn = $form.find('#um-search-button');
if ( $btn.hasClass( 'um-disabled' ) ) {
return;
}
window.location = url;
let search = $field.val();
let nonce = $form.data('nonce');
$btn.addClass('um-disabled');
wp.ajax.send( 'um_search_widget_request', {
data: {
search: search,
_wpnonce: nonce
},
success: function(response) {
$btn.removeClass('um-disabled');
window.location = response.url;
},
error: function(e) {
console.log(e);
$btn.removeClass('um-disabled');
}
});
}
});
+1 -1
View File
File diff suppressed because one or more lines are too long