From 03933b6fcd77c6692bb233826431a9f3681023c6 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Thu, 9 Nov 2017 10:29:57 -0500 Subject: [PATCH] Improving the member search. Remember last search and add a link to 'Back to Search'. Saving the search now in php session. Will reset when the list page is hit again. Resets for each search. Now showing the name search back into the field. Fixed issue with quotes and apostrophes. --- css/admin.css | 6 ++++-- index.php | 6 +++--- models/admin/members/list.php | 18 +++++++++++++++++- readme.txt | 6 +++++- views/admin/member/header.html | 9 +++++---- views/admin/member/memberInfo.html | 1 - views/admin/members/list.html | 5 ++--- 7 files changed, 36 insertions(+), 15 deletions(-) diff --git a/css/admin.css b/css/admin.css index 21ba6229..cf06d9ed 100644 --- a/css/admin.css +++ b/css/admin.css @@ -639,14 +639,16 @@ td.glm-nowrap { color: white; } -#glm-admin-content-container .button-primary { +#glm-admin-content-container .button-primary, +.glm-associate-admin-wrap .button-primary { background-color: #0568B3; color: white; text-shadow: none; border: 1px solid darkblue; box-shadow: 0px 1px 0px darkblue; } -#glm-admin-content-container .button-primary:hover { +#glm-admin-content-container .button-primary:hover, +.glm-associate-admin-wrap .button-primary:hover { background-color: #3D84D0; box-shadow: 0px -1px 0px darkblue; } diff --git a/index.php b/index.php index b60e61e2..4aa662e9 100644 --- a/index.php +++ b/index.php @@ -3,7 +3,7 @@ * Plugin Name: GLM Members Database * Plugin URI: http://www.gaslightmedia.com/ * Description: Gaslight Media Members Database. - * Version: 2.10.17 + * Version: 2.10.18 * Author: Gaslight Media * Author URI: http://www.gaslightmedia.com/ * License: GPL2 @@ -19,7 +19,7 @@ * @package glmMembersDatabase * @author Chuck Scott * @license http://www.gaslightmedia.com Gaslightmedia - * @version 2.10.17 + * @version 2.10.18 */ // Check that we're being called by WordPress. @@ -44,7 +44,7 @@ if (!defined('ABSPATH')) { * */ -define('GLM_MEMBERS_PLUGIN_VERSION', '2.10.17'); +define('GLM_MEMBERS_PLUGIN_VERSION', '2.10.18'); define('GLM_MEMBERS_PLUGIN_DB_VERSION', '1.1.32'); // Check if plugin version is not current in WordPress option and if needed updated it diff --git a/models/admin/members/list.php b/models/admin/members/list.php index 545231ef..f8ffd6f3 100644 --- a/models/admin/members/list.php +++ b/models/admin/members/list.php @@ -126,6 +126,16 @@ class GlmMembersAdmin_members_list extends GlmDataMembers $enable_members = $this->config['settings']['enable_members']; $textSearch = false; + // Save all query parameters + if ( isset( $_REQUEST['glm_action'] ) && $_REQUEST['glm_action'] == 'list' ) { + $_SESSION['member_saved_search'] = $_REQUEST; + } else if ( !isset( $_REQUEST['glm_action'] ) && !filter_var( $_REQUEST['back_to_search'], FILTER_VALIDATE_BOOLEAN ) ) { + unset( $_SESSION['member_saved_search'] ); + } + // Check for back to search flag + if ( isset( $_REQUEST['back_to_search'] ) && filter_var( $_REQUEST['back_to_search'], FILTER_VALIDATE_BOOLEAN ) ) { + $_REQUEST = $_SESSION['member_saved_search']; + } // Check if this is a request to show archived members if (isset($_REQUEST['filterArchived'])) { $where .= " AND access = ".$this->config['access_numb']['Archived']; @@ -140,7 +150,8 @@ class GlmMembersAdmin_members_list extends GlmDataMembers // Check for a text search if (isset($_REQUEST['text_search']) && trim($_REQUEST['text_search']) != '') { - $textSearch = addslashes(filter_input(INPUT_POST, 'text_search', FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES)); + // $textSearch = addslashes(filter_input(INPUT_POST, 'text_search', FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES)); + $textSearch = addslashes(filter_var($_REQUEST['text_search'], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES)); $where .= " AND T.id in ( SELECT DISTINCT(member) FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info @@ -348,6 +359,11 @@ class GlmMembersAdmin_members_list extends GlmDataMembers // Create current month/date string to pre-populate the Month/Year field for $monthYear = date('F Y'); + // Update the textSearch for output into the form. + $textSearch = str_replace("\'", "'", $textSearch ); + $textSearch = str_replace('\\"', '"', $textSearch ); + $textSearch = str_replace('\\', '', $textSearch ); + // Compile template data $templateData = array( 'monthYear' => $monthYear, diff --git a/readme.txt b/readme.txt index 8262c5c5..aadf949f 100644 --- a/readme.txt +++ b/readme.txt @@ -66,9 +66,13 @@ There is of course much more to this. (none) == Changelog == += 2.10.18 = +* Improve member search in admin. Can now use Back To Search button to return + to your last search. Resets when list page is called. +* Member name search improved. = 2.10.16 = -* Fixed version number in index.php that wasn't updated with last hotfix. +* Fixed version number in index.php that wasn't updated with last hotfix. = 2.10.15 = * When a new member is added the user is now redirected to the member dashboard diff --git a/views/admin/member/header.html b/views/admin/member/header.html index 8718c12d..b4407ff4 100644 --- a/views/admin/member/header.html +++ b/views/admin/member/header.html @@ -7,7 +7,7 @@ {/if}
- +

{if $haveMember} {$terms.term_member_cap}: {$memberName} @@ -15,16 +15,17 @@ New {$terms.term_member_cap} {/if}

+ Back To Search
- - \ No newline at end of file + + diff --git a/views/admin/member/memberInfo.html b/views/admin/member/memberInfo.html index 0c1d6ee7..40bc62d1 100644 --- a/views/admin/member/memberInfo.html +++ b/views/admin/member/memberInfo.html @@ -8,7 +8,6 @@ {if apply_filters('glm_members_permit_admin_member_info_edit', true)} - {if $memberInfoID && $memberInfo}
Delete this {$terms.term_member_cap} Profile Version
diff --git a/views/admin/members/list.html b/views/admin/members/list.html index e8b9209e..3d70b16a 100644 --- a/views/admin/members/list.html +++ b/views/admin/members/list.html @@ -9,7 +9,7 @@

List of {$terms.term_member_plur_cap}

- Text Search: + Text Search:
@@ -320,10 +320,9 @@ // Autocomplete for list Text Search $( ".glmMembersSearch" ).autocomplete({ - source: availableTags, html: true, - position: { my : "right top", at: "right bottom" }, + position: { my : "left top", at: "left bottom" }, select: function( event, ui ) { var memberID = ui.item.id; window.location.replace("{$adminUrl}?page=glm-members-admin-menu-member&glm_action=index&member=" + memberID ); -- 2.17.1