From d15b69edd2aa1d3d13c3765543ea2d2314258d5a Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Fri, 9 Feb 2018 16:07:35 -0500 Subject: [PATCH] Only match textSearch if there's no $_REQUEST['s'] If they search website then limit to only name search for textSearch. --- models/front/members/list.php | 45 ++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/models/front/members/list.php b/models/front/members/list.php index bc589f6a..38a6440e 100644 --- a/models/front/members/list.php +++ b/models/front/members/list.php @@ -274,18 +274,29 @@ class GlmMembersFront_members_list extends GlmDataMemberInfo // Apply any provided text search to name, description, short description, and street address if (trim($actionData['request']['text-search']) != '') { $textSearch = addslashes(filter_var($actionData['request']['text-search'], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES)); - $where .= $whereSep." ( - ( - SELECT true - FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."members - WHERE id = T.member - AND name LIKE '%$textSearch%' - ) OR - T.descr LIKE '%$textSearch%' OR - T.short_descr LIKE '%$textSearch%' OR - T.addr1 LIKE '%$textSearch%' OR - T.addr2 LIKE '%$textSearch%' - )"; + if ( isset( $_REQUEST['s'] ) ) { + $where .= $whereSep." ( + ( + SELECT true + FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."members + WHERE id = T.member + AND name LIKE '%$textSearch%' + ) + )"; + } else { + $where .= $whereSep." ( + ( + SELECT true + FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."members + WHERE id = T.member + AND name LIKE '%$textSearch%' + ) OR + T.descr LIKE '%$textSearch%' OR + T.short_descr LIKE '%$textSearch%' OR + T.addr1 LIKE '%$textSearch%' OR + T.addr2 LIKE '%$textSearch%' + )"; + } $whereSep = ' AND '; $textSearch = stripslashes($textSearch); } @@ -294,13 +305,13 @@ class GlmMembersFront_members_list extends GlmDataMemberInfo require_once GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataRegions.php'; $Regions = new GlmDataRegions($this->wpdb, $this->config); $regionData = $Regions->getListForSearch(true); - + // Get cities for possible use in search pick list for cities used in active member info records. require_once GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataCities.php'; $cities = new GlmDataCities($this->wpdb, $this->config); $cityData = $cities->getListForSearch(true); // Get only categories that are used in active member data - - + + // If we have a region set in shortcode or via URL. $regions = array(); if ($actionData['request']['region-search']) { @@ -331,7 +342,7 @@ class GlmMembersFront_members_list extends GlmDataMemberInfo } } - + // If we have a city set in shortcode or via URL. $cities = array(); if ($actionData['request']['city-search']) { @@ -391,7 +402,7 @@ class GlmMembersFront_members_list extends GlmDataMemberInfo } } } - + // Check for user city selection $categoryCityList = ''; $categoryCitySep = ''; -- 2.17.1