-
-<div class="glm-admin-table-inner glm-admin-table">
- <form action="{$thisUrl}?page={$thisPage}" method="post" id="searchForm">
- <input type="hidden" name="glm_action" value="list">
- <input type="hidden" name="prevStart" value="{$prevStart}">
- <input type="hidden" name="nextStart" value="{$nextStart}">
- <input type="hidden" name="limit" value="{$limit}">
- <input type="hidden" name="savedAlpha" value="{$alphaSelected}">
-
- <h2 class="glm-admin-table-header">List of {$terms.term_member_plur_cap}</h2>
-
- <div class="glm-row">
- <b>{$terms.term_member_cap} Types</b>
- <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="glm-row">
- <b>Show Archived: </b><input type="checkbox" name="filterArchived" value="true" id="filterArchived" class="listFilter"{if $filterArchived} checked{/if} style="margin-right: 1em;">
- <b>Featured Only: </b><input type="checkbox" name="filterFeatured" value="true" id="filterFeatured" class="listFilter"{if $filterFeatured} checked{/if} style="margin-right: 1em;">
- <b>Pending Only: </b><input type="checkbox" name="filterPending" value="true" id="filterPending" class="listFilter"{if $filterPending} checked{/if} style="margin-right: 1em;">
- </div>
-
- {apply_filters('glm-member-db-custom-filter-search', '', 'glm-member-db' )}
-
- <p><b>Total found:</b> {$memberCount} </p>
-
- <br clear="all">
- <!-- Add Member Type Button and Dialog Box -->
- <div id="exportMembersButton" class="button button-secondary glm-admin-export-button">{$terms.term_member_cap} Export/Reports</div>
-
- {if $paging}
- <input type="Submit" name="pageSelect" value="Previous {$limit} {$terms.term_member_plur_cap}" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
- <input type="Submit" name="pageSelect" value="Next {$limit} {$terms.term_member_plur_cap}" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
- {/if}
-
- <div class="glm-alpha-links">
- <a href="{$thisUrl}?page=glm-members-admin-menu-members-list&glm_action=list&text_search={$textSearch}&categorySearch={$catSearchSelected}" class="glm-alpha-link{if !$alphaSelected} glm-alpha-link-selected{/if}">All</a>
- {foreach $alphaList as $a}
- <a href="{$thisUrl}?page=glm-members-admin-menu-members-list&glm_action=list&alpha={$a.alpha}&text_search={$textSearch}&categorySearch={$catSearchSelected}" class="glm-alpha-link{if $a.default} glm-alpha-link-selected{/if}">{$a.alpha}</a>
- {/foreach}
- </div>
-
- <table class="wp-list-table striped glm-admin-table-single">
- <thead>
- <tr>
- <th>ID</th>
- <th>{$terms.term_member_cap} Name</th>
- <th></th>
- <th></th>
- <th>Featured</th>
- <th>Access</th>
-<!-- <th>$terms.term_member_cap Type</th>-->
- </tr>
- </thead>
- <tbody>
- {if $haveMembers}
- {assign var="i" value="0"}
- {foreach $members as $m}
- {if $i++ is odd by 1}
- <tr>
- {else}
- <tr class="alternate">
- {/if}
- <td style="width: 50px;">
- {$m.id}
- </td>
- <td>
- <a href="{$thisUrl}?page=glm-members-admin-menu-member&glm_action=index&member={$m.id}">{$m.name}</a>
- </td>
- <td style="width: 120px;">
- <a href="{$thisUrl}?page=glm-members-admin-menu-member&glm_action=memberInfo&member={$m.id}&memberInfo={$m.active_id}" class="button button-secondary glm-button-small glm-admin-edit-active-profile" style="margin: 0 .2em 0 .2em;">Edit Active Profile</a>
- </td>
- <td style="width: 120px;">
- <a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$m.member_slug}/" target="_blank">View Profile</a>
- </td>
- <td style="width: 90px;">
- {$m.featured.name}
- </td>
- <td style="width: 120px">
- {$m.access_short.name}
- </td>
-<!-- <td>
- $m.member_type_short
- </td>-->
- </tr>
- {/foreach}
- {else}
- <tr class="alternate"><td colspan="2">(no {$terms.term_member_plur} listed)</td></tr>
- {/if}
- </tbody>
- </table>
-
- {if $paging}
- <input type="Submit" name="pageSelect" value="Previous {$limit} {$terms.term_member_plur_cap}" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
- <input type="Submit" name="pageSelect" value="Next {$limit} {$terms.term_member_plur_cap}" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
- {/if}
-
- </form>
-
- <div id="exportMembersDialog" class="glm-dialog-box" title="Export {$terms.term_member_cap}">
- <form id="exportForm" action="{$ajaxUrl}" method="post" enctype="multipart/form-data">
- <input type="hidden" name="action" value="glm_members_admin_ajax">
- <input type="hidden" name="glm_action" value="membersListExport">
- <table class="glm-admin-table">
- <tr>
- <th>Categories: </th>
- <td>
- <select id="exportFilterCategories" name="filterCategories[]" multiple="multiple" size="1">
- {foreach from=$categories item=v}
- <option value="{$v.id}" data-parent="{$v.parent}"{if $v.selected} selected{/if}>
- {if $v.parent_id} {/if}{$v.name}
- </option>
- {/foreach}
- </select>
- </td>
- </tr>
- <tr>
- <th>Member Types:</th>
- <td>
- <select id="exportFilterMemberTypes" 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>Show Archived: </th><td><input type="checkbox" name="filterArchived"></td></tr>
- <tr><th>Featured Only: </th><td><input type="checkbox" name="filterFeatured"></td></tr>
- <tr><th>Pending Only: </th><td><input type="checkbox" name="filterPending"></td></tr>
- <tr><th>Name Search: </th><td><input class="exportMembersSearch glm-form-text-input-medium" type="text" name="text_search" id="autoTest"><br>
- Enter any portion of a {$terms.term_member_cap} name and press enter or select any specific {$terms.term_member_cap} found.
- </td></tr>
- <tr>
- <th>Fields to export</th>
- <td>
- <table padding="3">
- <tr>
- <td colspan="2"><a id="selectAllExportFields">Check All</a> / <a id="unselectAllExportFields">Uncheck All</a></td>
- </tr>
- <tr>
- <td class="exportFieldsTd">
- <input type="checkbox" name="exportId"> {$terms.term_member_cap} ID<br>
- <input type="checkbox" name="exportOldId"> Old {$terms.term_member_cap} ID<br>
- <input type="checkbox" name="exportMember" checked> {$terms.term_member_cap} Name<br>
- <input type="checkbox" name="exportReferenceName"> Profile Reference Name<br>
- <input type="checkbox" name="exportAddr1" checked> Address Line #1<br>
- <input type="checkbox" name="exportAddr2" checked> Address Line #2<br>
- <input type="checkbox" name="exportCity" checked> City<br>
- <input type="checkbox" name="exportState" checked> State<br>
- <input type="checkbox" name="exportZip" checked> ZIP/Postal Code<br>
- <input type="checkbox" name="exportCounty" checked> County <br>
- <input type="checkbox" name="exportRegion" checked> Region <br>
- </td>
- <td class="exportFieldsTd">
- <input type="checkbox" name="exportPhone" checked> Phone #<br>
- <input type="checkbox" name="exportTollFree" checked> Toll Free<br>
- <input type="checkbox" name="exportEmail" checked> Main E-Mail<br>
- <input type="checkbox" name="exportPriContactName" checked> Primary Contact Name<br>
- <input type="checkbox" name="exportPriContactEmail" checked> Primary Contact E-Mail<br>
- <input type="checkbox" name="exportUrl" checked> Web Address (URL)<br>
- <input type="checkbox" name="exportCategories" checked> Categories<br>
- <input type="checkbox" name="exportMailingAddr1" checked> Mailing Address Line #1<br>
- <input type="checkbox" name="exportMailingAddr2" checked> Mailing Address Line #2<br>
- <input type="checkbox" name="exportMailingCity" checked> Mailing City<br>
- <input type="checkbox" name="exportMailingState" checked> Mailing State<br>
- <input type="checkbox" name="exportMailingZip" checked> Mailing ZIP/Postal Code<br>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- {* Custom Field Part *}
- {if apply_filters( 'glm-members-customfields-active', false )}
- <tr>
- <th>Custom Fields</th>
- <td>
- {$customFields = apply_filters('glm-member-db-fields-get-members-fields', false, 'glm-member-db')}
- {if $customFields}
- {foreach $customFields as $cf}
- <input type="checkbox" name="exportCF[{$cf.id}]" checked> {$cf.field_name} <br>
- {/foreach}
- {/if}
- </td>
- </tr>
- {/if}
- <tr>
- <th>Include Clicks & Views</th>
- <td>
- <table padding="3">
- <tr>
- <td>
- Month: <input type="text" class="monthPicker" name="monthYear" value="{$monthYear}">
- </td>
- </tr>
- <tr>
- <td>
- <input type="checkbox" name="exportClicks"> URL Click Counts<br>
- <input type="checkbox" name="exportViews"> Detail Page View Counts
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <th>Export to: </th>
- <td>
- <input type="radio" name="type" value="print" checked="checked"> Export for Print<br>
- <input type="radio" name="type" value="csv"> Export to Spreadsheet (CSV)
- </td>
- </tr>
- </table>
- <a id="exportMembersCancel" class="button button-secondary glm-right">Cancel</a>
- <input type="submit" value="Export" class="button button-primary">
- </form>
- </div>
+<div id="member-search-results-container">
+ <div id="search-results-header"></div>
+ <div id="search-results">{$memberCount}</div>
</div>
- <script type="text/javascript">
- jQuery(document).ready(function($) {
-
- $('#selectAllExportFields').click(function(){
- $('.exportFieldsTd input[type="checkbox"]').each(function(){
- $(this).prop('checked', true);
- });
- });
- $('#unselectAllExportFields').click(function(){
- $('.exportFieldsTd input[type="checkbox"]').each(function(){
- $(this).prop('checked', false);
- });
- });
-
- $('.monthPicker').datepicker( {
- changeMonth: true,
- changeYear: true,
- showButtonPanel: true,
- dateFormat: 'MM yy',
- 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));
- },
- beforeShow: function (input, inst) {
- var $this = $(this),
- // For the simplicity we suppose the dateFormat will be always without the day part, so we
- // manually add it since the $.datepicker.parseDate will throw if the date string doesn't contain the day part
- dateFormat = 'd ' + $this.datepicker('option', 'dateFormat'),
- date;
-
- try {
- date = $.datepicker.parseDate(dateFormat, '1 ' + $this.val());
- } catch (ex) {
- return;
- }
-
- $this.datepicker('option', 'defaultDate', date);
- $this.datepicker('setDate', date);
-
- inst.dpDiv.addClass('datepicker-month-year');
- }
- });
-
- $("#exportMembersDialog").dialog({
- autoOpen: false,
- minWidth: 700,
- dialogClass: "glm-dialog-no-close"
- });
- $('#exportMembersButton').click( function() {
- $("#exportMembersDialog").dialog("open");
- });
- $('#exportMembersCancel').click( function() {
- $("#exportMembersDialog").dialog("close");
- });
-
- // Filter triggers
- $(".listFilter" ).change( function() {
-
- var filter = '';
-
- // Check for archived filter
- if ($("#filterArchived").attr('checked')) {
- filter += '&filterArchived=true';
- }
-
- // Check for pending data filter
- if ($("#filterPending").attr('checked')) {
- filter += '&filterPending=true';
- }
-
- // Check for featured data filter
- if ($("#filterFeatured").attr('checked')) {
- filter += '&filterFeatured=true';
- }
-
- window.location.href = "{$thisUrl}?page={$thisPage}&glm_action=list" + filter;
-
- return false;
- });
-
- // Perform Export
- $("#glmMembersExport").on( 'click', function() {
- window.open("{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=membersListExport&type=print", 'Member Export');
- return false;
- });
-
- // Perform CSV Export
- $("#glmMembersExportCsv").on( 'click', function() {
- window.open("{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=membersListExport&type=csv", 'Member Export CSV');
- return false;
- });
-
- /*
- * Do autocomplete search for member
- * label: What will be searched
- * value: What will be displayed when selected
- * id: Member id added so we can go to the member while showing what was selected
- * Also note that autocomplete does not properly render HTML codes, so we
- * "unescape" them for HTML in Smarty.
- */
-
- var availableTags = [
- {foreach $namesList as $m}
- { label: "{$m.name|unescape:'html'|replace:'"':''}", value: "{$m.name|unescape:'html'|replace:'"':''}", id: '{$m.id}' },
- {/foreach}
- ];
-
- // Autocomplete for list Text Search
- $( ".glmMembersSearch" ).autocomplete({
- source: availableTags,
- html: true,
- 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 );
- },
- response: function(event, ui) {
- if (!ui.content.length) {
- var noResult = { value:"",label:"No results found" };
- ui.content.push(noResult);
- }
- }
- });
-
- // Autocomplete for export Text field
- $( ".exportMembersSearch" ).autocomplete({
-
- source: availableTags,
- html: true,
- position: { my : "right top", at: "right bottom" },
- response: function(event, ui) {
- if (!ui.content.length) {
- var noResult = { value:"",label:"No results found" };
- ui.content.push(noResult);
- }
- }
- });
-
- // No submit on ENTER for pop-up export form
- jQuery.each($("#exportForm").find('input'), function(){
- $(this).bind('keypress keydown keyup', function(e){
- if(e.keyCode == 13) {
- $( ".exportMembersSearch" ).autocomplete("close");
- return false;
- }
- });
- });
-
- // Restrict autocomplete list to a certain height with scrollbar
- $('.ui-autocomplete').css('height','200px').css('overflow-y','scroll');
-
- // Expand multi-select on hover
- $('#filterCategories').multiselect();
- $('#exportFilterCategories').multiselect();
-
-
- });
- </script>