From 8e827977d53a97f95a1dd144f867fa68f30509e0 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Wed, 13 Sep 2017 15:42:10 -0400 Subject: [PATCH] Add member type filter to list search. Adding a filter when searching by member types. --- models/admin/members/list.php | 18 ++++++++++++++++-- views/admin/members/list.html | 18 ++++++++++++++---- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/models/admin/members/list.php b/models/admin/members/list.php index f8a8a7ed..545231ef 100644 --- a/models/admin/members/list.php +++ b/models/admin/members/list.php @@ -108,6 +108,7 @@ class GlmMembersAdmin_members_list extends GlmDataMembers $alphaWhere = ' true '; $catSearchSelected = false; $catSelectedString = ""; + $mTypeSelected = ''; $catSelected = ''; $catsToUse = ''; $filterPending = false; @@ -160,6 +161,17 @@ class GlmMembersAdmin_members_list extends GlmDataMembers } } + // Get a list of member_types for filtering + require_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataMemberTypes.php'; + $MemberTypes = new GlmDataMemberTypes( $this->wpdb, $this->config ); + $member_types = $MemberTypes->getList(); + + // Check if there is a member_type filter + if ( isset( $_REQUEST['filterMemberTypes'] ) && $memberTypeFilter = filter_var( $_REQUEST['filterMemberTypes'], FILTER_VALIDATE_INT ) ) { + $where .= " AND T.member_type = $memberTypeFilter "; + $mTypeSelected = $memberTypeFilter; + } + // Check if there is a category filter (multi-select) if (isset($_REQUEST['categorySearch']) && $_REQUEST['categorySearch'] > 0) { $catsToUse = explode(',',$_REQUEST['categorySearch']); @@ -333,9 +345,9 @@ class GlmMembersAdmin_members_list extends GlmDataMembers } } - // Create current month/date string to pre-populate the Month/Year field for + // Create current month/date string to pre-populate the Month/Year field for $monthYear = date('F Y'); - + // Compile template data $templateData = array( 'monthYear' => $monthYear, @@ -344,12 +356,14 @@ class GlmMembersAdmin_members_list extends GlmDataMembers 'members' => $list, 'memberCount' => $memberCount, 'categories' => $categories, + 'member_types' => $member_types, 'haveFilter' => $haveFilter, 'filterArchived' => $filterArchived, 'filterFeatured' => $filterFeatured, 'filterPending' => $filterPending, 'catSelected' => $catSelected, 'catSearchSelected' => $catSelectedString, + 'mTypeSelected' => $mTypeSelected, 'alphaList' => $alphaList, 'alphaSelected' => $alphaSelected, 'numbDisplayed' => $numbDisplayed, diff --git a/views/admin/members/list.html b/views/admin/members/list.html index 6f84ffdc..bfb3bd47 100644 --- a/views/admin/members/list.html +++ b/views/admin/members/list.html @@ -24,6 +24,16 @@ +
+ {$terms.term_member_cap} Types + +
+
Show Archived: Featured Only: @@ -36,7 +46,7 @@
-
Export {$terms.term_member_cap} Profiles
+
{$terms.term_member_cap} Export/Reports
{if $paging} @@ -173,7 +183,7 @@ Month: - + @@ -205,7 +215,7 @@ changeYear: true, showButtonPanel: true, dateFormat: 'MM yy', - onClose: function(dateText, inst) { + onClose: function(dateText, inst) { var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val(); var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val(); $(this).datepicker('setDate', new Date(year, month, 1)); @@ -229,7 +239,7 @@ inst.dpDiv.addClass('datepicker-month-year'); } }); - + $("#exportMembersDialog").dialog({ autoOpen: false, minWidth: 700, -- 2.17.1