From: Steve Sutton Date: Tue, 28 May 2019 20:53:26 +0000 (-0400) Subject: Adding search form X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/index.cgi?a=commitdiff_plain;h=33f31d89b1cf2d8505d903159dc8bb4cc1fa2f71;p=WP-Plugins%2Fglm-member-db-messages.git Adding search form Search form for member info search. --- diff --git a/models/admin/messages/index.php b/models/admin/messages/index.php index 9e7776a..790fc14 100644 --- a/models/admin/messages/index.php +++ b/models/admin/messages/index.php @@ -111,6 +111,54 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages ); switch ( $option ) { + case 'search': + $view = 'search'; + $searchResults = array(); + $mTypeSelected = false; + + wp_enqueue_style('select2',"https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css" ); + wp_enqueue_script('select2js', "https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js" ); + + // Get a list of categories for filtering + require_once GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataCategories.php'; + $Categories = new GlmDataCategories($this->wpdb, $this->config); + $categories = $Categories->getListSortedParentChild(false); + + // 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; + } + + + // If we have categories, add "selected" element default false; + if (is_array($categories)) { + reset($categories); + foreach ( $categories as $k => $v ) { + $categories[$k]['selected'] = false; + } + } + + if ( isset( $_REQUEST['search'] ) && filter_var( $_REQUEST['search'], FILTER_VALIDATE_BOOLEAN ) ) { + // Do search + $searchResults = array( + array( + 'name' => 'Gaslight Media', + 'status' => 'Active', + ) + ); + } + + $templateData['mTypeSelected'] = $mTypeSelected; + $templateData['categories'] = $categories; + $templateData['member_types'] = $member_types; + $templateData['searchResults'] = $searchResults; + break; case 'list': $view = 'list'; $messages = $this->getList(); diff --git a/views/admin/messages/index.html b/views/admin/messages/index.html index 0776592..e4300c7 100644 --- a/views/admin/messages/index.html +++ b/views/admin/messages/index.html @@ -2,14 +2,23 @@ {include file='admin/header.html'} -HTML Messages -Add HTML Email + This is your dashboard
-{* +{* React Part diff --git a/views/admin/messages/search.html b/views/admin/messages/search.html new file mode 100644 index 0000000..9e3130e --- /dev/null +++ b/views/admin/messages/search.html @@ -0,0 +1,47 @@ +

Search Members

+ +{include file='admin/header.html'} + + + +
+ + + + + + + + + + + + + + +
+ {* Multiselect Search Module. Set the necessary parameters for the element here *} + {assign var="multiSelectFilterID" value="filterCategories"} + {assign var="multiSelectFilterName" value="filterCategories[]"} + {assign var="multiSelectFilterData" value=$categories} + {assign var="multiSelectFilterPlaceholder" value="Filter Categories"} + {assign var="multiSelectFilterSearchTerm" value="Categories"} + {include file='admin/ui/multiSelectSearch.html'} + {* End Multiselect Search Module *} +
Member Type + +
+ +
+
+ +{if $searchResults} + {$searchResults|@print_r} +{/if} + +{include file='admin/footer.html'}