--- /dev/null
+#glm-member-db-messages-app * label {
+ display: block;
+ clear: both;
+}
// echo '<pre>$_REQUEST: ' . print_r( $_REQUEST, true ) . '</pre>';
if ( isset( $_REQUEST['filterMemberStatus'] ) && $filterStatus = filter_var( $_REQUEST['filterMemberStatus'], FILTER_VALIDATE_INT) ) {
- $whereParts[] = " T.status = " . $filterStatus;
+ $whereParts[] = " T.id IN ( SELECT member FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_info WHERE status = " . $filterStatus . ")";
} else {
- $whereParts[] = "T.status != " . $this->config['status_numb']['Archived'];
+ // $whereParts[] = "T..id IN ( SELECT member FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_info WHERE status != " . $this->config['status_numb']['Archived'] . ")";
+ }
+ if ( isset( $_REQUEST['filterMemberCity'] ) && $filterMemberCity = filter_var( $_REQUEST['filterMemberCity'], FILTER_VALIDATE_INT) ) {
+ $whereParts[] = " T.id IN ( SELECT member FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_info WHERE city = " . $filterMemberCity . ")";
}
if ( isset( $_REQUEST['filterMemberAccess'] ) && $filterAccess = filter_var( $_REQUEST['filterMemberAccess'], FILTER_VALIDATE_INT) ) {
- $whereParts[] = " T.member IN (SELECT id FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members where access = ".$filterAccess.")";
+ $whereParts[] = " T.access = ".$filterAccess;
+ // $whereParts[] = " T.member IN (SELECT id FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members where access = ".$filterAccess.")";
}
if ( isset( $_REQUEST['filterMemberName'] ) && $filterMemberName = filter_var( $_REQUEST['filterMemberName'] ) ) {
$textSearch = addslashes(filter_var($_REQUEST['filterMemberName'], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES));
- $whereParts[] = "T.member IN (
- SELECT DISTINCT( id )
- FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members
- WHERE name like '%$textSearch%'
- )";
+ $whereParts[] = "T.name like '%$textSearch%'";
}
if ( isset( $_REQUEST['filterContactEmail'] ) && $filterContactEmail = filter_var( $_REQUEST['filterContactEmail'], FILTER_SANITIZE_STRING) ) {
$textSearch = addslashes(filter_var($_REQUEST['filterContactEmail'], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES));
- $whereParts[] = "T.member IN (
+ $whereParts[] = "T.id IN (
SELECT DISTINCT( ref_dest )
FROM " . GLM_MEMBERS_CONTACTS_PLUGIN_DB_PREFIX . "contacts
WHERE email like '%$textSearch%'
}
if ( isset( $_REQUEST['filterContactFirstName'] ) && $filterContactFirstName = filter_var( $_REQUEST['filterContactFirstName'], FILTER_SANITIZE_STRING) ) {
$textSearch = addslashes(filter_var($_REQUEST['filterContactFirstName'], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES));
- $whereParts[] = "T.member IN (
+ $whereParts[] = "T.id IN (
SELECT DISTINCT( ref_dest )
FROM " . GLM_MEMBERS_CONTACTS_PLUGIN_DB_PREFIX . "contacts
WHERE fname like '%$textSearch%'
}
if ( isset( $_REQUEST['filterContactLastName'] ) && $filterContactLastName = filter_var( $_REQUEST['filterContactLastName'], FILTER_SANITIZE_STRING) ) {
$textSearch = addslashes(filter_var($_REQUEST['filterContactLastName'], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES));
- $whereParts[] = "T.member IN (
+ $whereParts[] = "T.id IN (
SELECT DISTINCT( ref_dest )
FROM " . GLM_MEMBERS_CONTACTS_PLUGIN_DB_PREFIX . "contacts
WHERE lname like '%$textSearch%'
// Check if this is a request to show archived members
if ( isset( $_REQUEST['filterArchived'] ) ) {
- $whereParts[] = " T.member IN (SELECT id FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members where access = ".$this->config['access_numb']['Archived'].")";
+ $whereParts[] = " T.access = ".$this->config['access_numb']['Archived'];
$filterArchived = true;
$haveFilter = true;
// If not, don't show them
} else {
- $whereParts[] = " T.member IN (SELECT id FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members where access != ".$this->config['access_numb']['Archived'].")";
+ $whereParts[] = " T.access != ".$this->config['access_numb']['Archived'];
}
// If we have categories, add "selected" element default false;
$categories[$c]['selected'] = true;
}
- $whereParts[] = " T.member in (
+ $whereParts[] = " T.id in (
SELECT DISTINCT(I.member)
FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info I,
".GLM_MEMBERS_PLUGIN_DB_PREFIX."category_member_info M,
// Check if there is a member_type filter
if ( isset( $_REQUEST['filterMemberTypes'] ) && $memberTypeFilter = filter_var( $_REQUEST['filterMemberTypes'], FILTER_VALIDATE_INT ) ) {
- $whereParts[] = " T.member IN (SELECT id FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members where member_type = $memberTypeFilter) ";
+ // $whereParts[] = " T.member IN (SELECT id FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members where member_type = $memberTypeFilter) ";
+ $whereParts[] = " T.member_type = $memberTypeFilter ";
$mTypeSelected = $memberTypeFilter;
}
if ( isset( $_REQUEST['search'] ) && filter_var( $_REQUEST['search'], FILTER_VALIDATE_BOOLEAN ) ) {
// Do search
- require_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataMemberInfo.php';
- $Members = new GlmDataMemberInfo( $this->wpdb, $this->config );
+ require_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataMembers.php';
+ $Members = new GlmDataMembers( $this->wpdb, $this->config );
+ // require_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataMemberInfo.php';
+ // $Members = new GlmDataMemberInfo( $this->wpdb, $this->config );
$where = implode( ' AND ', $whereParts );
// echo '<pre>$where: ' . print_r( $where, true ) . '</pre>';
- $searchResults = $Members->getSimpleMemberInfoList( $where );
+ $searchResults = $Members->getList( $where );
+ // $searchResults = $Members->getSimpleMemberInfoList( $where );
// echo '<pre>$searchResults: ' . print_r( $searchResults, true ) . '</pre>';
$where = "T.archived <> true";
require_once GLM_MEMBERS_CONTACTS_PLUGIN_CLASS_PATH . '/data/dataContacts.php';
$Contacts = new GlmDataContacts( $this->wpdb, $this->config );
$whereParts = array();
- $whereParts[] = "T.ref_dest = " . $memData['member_pointer'];
+ $whereParts[] = "T.ref_dest = " . $memData['id'];
$whereParts[] = "T.active = true";
$whereParts[] = "T.email like '%@%'";
$where = implode( " AND ", $whereParts );
-<div class="wrap">
+<div class="wrap" id="glm-member-db-messages-app">
{* Navigation *}
<h2 class="nav-tab-wrapper">
- <a href="{$thisUrl}?page={$thisPage}&option=search" class="nav-tab{if $thisOption==search} nav-tab-active{/if}">Search</a>
+ <a href="{$thisUrl}?page={$thisPage}&option=search" class="nav-tab{if $thisOption==search} nav-tab-active{/if}">Search Members/Contacts/Profiles</a>
<a href="{$thisUrl}?page={$thisPage}&option=list" class="nav-tab{if $thisOption==list} nav-tab-active{/if}">Email Messages</a>
<a href="{$thisUrl}?page={$thisPage}&option=listTemplates" class="nav-tab{if $thisOption==listTemplates} nav-tab-active{/if}">Email Templates</a>
</h2>
-<div id="glm-admin-content-container" style="width: 1024px;">
+ <div id="glm-admin-content-container" style="width: 1024px; box-sizing: border-box;">
</table>
</form>
</div>
- <div class="glma-small-3 glma-columns">
+ <div class="glma-small-4 glma-columns">
<div class="glma-row">
<div class="glma-small-5 glma-columns">
<a href="{$thisUrl}?page={$thisPage}&option=editHtmlEmail" class="button button-primary">Add Message</a>
<h2>List Messages</h2>
{include file='admin/header.html'}
+<a href="{$thisUrl}?page={$thisPage}&option=editHtmlEmail" class="button button-primary glm-right">Add Message</a>
+
{include file='admin/messages/listMessagesTable.html'}
{include file='admin/footer.html'}
<h2>List Messages</h2>
{include file='admin/header.html'}
+<a href="{$thisUrl}?page={$thisPage}&option=editTemplate" class="button button-primary glm-right">Add Template</a>
+
<table class="wp-list-table widefat fixed posts glm-admin-table" style="width: 800px;">
<thead>
<tr>
<input type="hidden" name="page" value="{$thisPage}" />
<input type="hidden" name="option" value="search" />
<input type="hidden" name="search" value="1" />
- <table>
- <tr>
- <td colspan="2">
- {* 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 *}
- </td>
- </tr>
- <tr>
- <th>{$terms.term_member_cap} Type</th>
- <td>
- <select id="filterMemberTypes" name="filterMemberTypes">
- <option value=""></option>
- {foreach $member_types as $type}
- <option value="{$type.id}"{if $type.id == $mTypeSelected} selected{/if}>{$type.name}</option>
- {/foreach}
- </select>
- </td>
- </tr>
- <tr>
- <th>{$terms.term_member_cap} Profile Status</th>
- <td>
- <select name="filterMemberStatus">
- <option value=""></option>
- {foreach $statusTypes as $key => $status}
- <option value="{$key}">{$status}</option>
- {/foreach}
- </select>
- </td>
- </tr>
- <tr>
- <th>{$terms.term_member_cap} Access</th>
- <td>
- <select name="filterMemberAccess">
- <option value=""></option>
- {foreach $accessTypes as $key => $status}
- <option value="{$key}">{$status}</option>
- {/foreach}
- </select>
- </td>
- </tr>
- <tr>
- <th>{$terms.term_member_cap} Name</th>
- <td>
- <input name="filterMemberName" />
- </td>
- </tr>
- <tr>
- <th>Contact Email</th>
- <td>
- <input name="filterContactEmail" />
- </td>
- </tr>
- <tr>
- <th>Contact First Name</th>
- <td>
- <input name="filterContactFirstName" />
- </td>
- </tr>
- <tr>
- <th>Contact Last Name</th>
- <td>
- <input name="filterContactLastName" />
- </td>
- </tr>
+ <div clas="glma-row">
+ <div class="glma-small-4 glma-columns">
+ <h3>{$terms.term_member_cap} Info</h3>
+ <label for="filterMemberName">
+ Name
+ </label>
+ <input id="filterMemberName" name="filterMemberName" />
+ <label for="filterMemberTypes">
+ {$terms.term_member_cap} Type
+ </label>
+ <select id="filterMemberTypes" name="filterMemberTypes">
+ <option value=""></option>
+ {foreach $member_types as $type}
+ <option value="{$type.id}"{if $type.id == $mTypeSelected} selected{/if}>{$type.name}</option>
+ {/foreach}
+ </select>
+ </div>
+ <div class="glma-small-4 glma-columns">
+ <h3>{$terms.term_contact_cap} Info</h3>
+ <label for="filterContactEmail">
+ Email
+ </label>
+ <input id="filterContactEmail" name="filterContactEmail" />
+ <label for="filterContactFirstName">
+ First Name
+ </label>
+ <input id="filterContactFirstName" name="filterContactFirstName" />
+ <label for="filterContactLastName">
+ Last Name
+ </label>
+ <input id="filterContactLastName" name="filterContactLastName" />
+ </div>
+ <div class="glma-small-4 glma-columns">
+ <h3>{$terms.term_member_cap} Profile Info</h3>
+ {* 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 *}
+ <label for="filterMemberStatus">
+ Status
+ </label>
+ <select id="filterMemberStatus" name="filterMemberStatus">
+ <option value=""></option>
+ {foreach $statusTypes as $key => $status}
+ <option value="{$key}">{$status}</option>
+ {/foreach}
+ </select>
+ <label for="filterMemberCity">
+ City
+ </label>
+ {* city need data for select *}
+ <input id="filterMemberCity" name="filterMemberCity" />
+ <label for="filterMemberCounty">
+ County
+ </label>
+ <input id="filterMemberCounty" name="filterMemberCounty" />
+ <label for="filterMemberState">
+ State
+ </label>
+ <input id="filterMemberState" name="filterMemberState" />
+ <label for="filterMemberZip">
+ Zip
+ </label>
+ <input id="filterMemberZip" name="filterMemberZip" />
+ </div>
+
+ </div>
+
+ <div class="glma-row">
+ <div class="glma-small-12 glma-columns">
+ <input type="submit" value="Search" />
+ </div>
+ </div>
- <tr>
- <td colspan="2">
- <input type="submit" value="Search" />
- </td>
- </tr>
- </table>
</form>
{/if}
</thead>
{foreach $searchResults as $member}
<tr>
- <td>{$member.member_pointer}</td>
- <td>{$member.member_name}</td>
+ <td>{$member.id}</td>
+ <td>{$member.name}</td>
</tr>
{/foreach}
</table>