'logo-filler' => 'list_show_logo_filler',
'live-cam' => 'list_show_live_cam',
'packages' => 'list_show_packages',
- 'packages-link' => 'list_show_packages_link'
+ 'packages-link' => 'list_show_packages_link',
+ 'list-ajax-pagination' => 'list_ajax_pagination',
+ 'list-pagination-count' => 'list_pagination_count',
);
// Load Members data abstract
static $start = 1;
static $limit = false;
+ # Ajax Paging attributes
+ static $ajaxPagination = false;
+ static $listCount = false;
+
// If this is the first instance, then set these paramters
if (!$thisInstance['instanceCount']) {
- $paging = $this->config['settings']['list_pagination']; // Now this is in management
- $limit = $this->config['settings']['list_pagination_count']; // Now this is in management
+ $paging = $this->config['settings']['list_pagination']; // Now this is in management
+ $limit = $this->config['settings']['list_pagination_count']; // Now this is in management
+ }
+
+ $listCount = $this->config['settings']['list_pagination_count'];
+ $ajaxPagination = $this->config['settings']['list_ajax_pagination'];
+ if ( isset( $actionData['request']['list-pagination-count'] ) && $lCount = filter_var( $actionData['request']['list-pagination-count'], FILTER_VALIDATE_INT ) ) {
+ $listCount = $lCount;
+ $limit = $listCount;
+ }
+ if ( isset( $actionData['request']['list-ajax-pagination'] ) ) {
+ $ajaxPagination = $actionData['request']['list-ajax-pagination'];
}
+ // echo '<pre>$limit: ' . print_r( $limit, true ) . '</pre>';
+
// Pre-load settings array with management settings as default using the list above
$settings = array();
reset($GLOBALS['showOpts']);
// Get regions for possible use in search pick list for regions used in active member info records.
require_once GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataRegions.php';
- $Regions = new GlmDataRegions($this->wpdb, $this->config);
- $regionData = $Regions->getListForSearch(true, $actionData);
+ $Regions = new GlmDataRegions( $this->wpdb, $this->config );
+ $regionData = $Regions->getListForSearch( true, $actionData );
+ // echo '<pre>$regionData: ' . print_r( $regionData, true ) . '</pre>';
// Get cities for possible use in search pick list for cities used in active member info records.
require_once GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataCities.php';
}
}
}
+ // echo '<pre>$regionData: ' . print_r( $regionData, true ) . '</pre>';
// Check for user region selection
$categoryRegionList = '';
$categoryRegionSep = '';
- if (isset($_REQUEST) && is_array($regionData) && (isset($_REQUEST['regionUserSearch']) && count($_REQUEST['regionUserSearch']) > 0) || (isset($_REQUEST['regionSearch']) && $_REQUEST['regionSearch'] != "")) {
+ if ( isset( $_REQUEST )
+ && is_array( $regionData )
+ && ( isset( $_REQUEST['regionUserSearch'] ) && count( $_REQUEST['regionUserSearch'] ) > 0 )
+ || ( isset( $_REQUEST['regionSearch']) && $_REQUEST['regionSearch'] != "" )
+ ) {
foreach ($regionData as $r) {
$id = $r['id'];
$regionData[$id]['default'] = false;
END AS distance";
$order = " distance ASC, city ASC, member_name ASC ";
+ // echo '<pre>$order: ' . print_r( $order, true ) . '</pre>';
+ // echo '<pre>$cityName: ' . print_r( $cityName, true ) . '</pre>';
+ // echo '<pre>$distanceQuery: ' . print_r( $distanceQuery, true ) . '</pre>';
} else {
$appendSelect = "";
$order = " member_name ASC ";
// $where .= " ";
// echo '<pre>$where: ' . print_r( $where, true ) . '</pre>';
+ // echo '<pre>$appendSelect: ' . print_r( $appendSelect, true ) . '</pre>';
${$resultParam} = $this->getList(
$where.$alphaWhere, // where
// When not full text search sort according to settings
} else {
+ // echo '<pre>$where: ' . print_r( $where, true ) . '</pre>';
// Get stats for the current selection
$membersFound = $this->getStats(str_replace('T.', '', $where));
'ajaxLoader' => ( defined( 'GLM_MEMBER_LIST_AJAX_LOADER' ) && GLM_MEMBER_LIST_AJAX_LOADER ) ? true : false,
'ajaxNext' => ( isset( $_REQUEST['ajaxNext'] ) ) ? true : false,
+ 'isSearch' => ( isset( $_REQUEST['s'] ) ) ? true : false,
'wpSearch' => ( isset( $_REQUEST['s'] ) ) ? stripslashes( $_REQUEST['s'] ) : '',
+ 'ajaxPagination' => $ajaxPagination,
+ 'listCount' => $listCount,
+
);
if (GLM_MEMBERS_PLUGIN_FRONT_DEBUG) {
public function getDistanceQuery( $lat, $lng )
{
$foo = "
- (pow(sin(((T.lat * pi()/180.0) - ($lat * pi()/180.0)) / 2.0), 2) + cos(($lat * pi() / 180.0)) * cos((T.lat * pi() / 180.0)) * pow(sin(((T.lon * pi() / 180.0) - ($lng * pi() / 180.0)) / 2.0), 2))";
+ (
+ pow(sin(((T.lat * pi()/180.0) - ($lat * pi()/180.0)) / 2.0), 2)
+ + cos(($lat * pi() / 180.0))
+ * cos((T.lat * pi() / 180.0))
+ * pow(sin(((T.lon * pi() / 180.0) - ($lng * pi() / 180.0)) / 2.0), 2)
+ )";
return "ceil(3956 * 2 *
atan2(sqrt($foo),
{apply_filters('glm-member-db-front-members-list-listHeaderBottom', '')}
+ {$searchParams = "&textSearch={$textSearch}{if $isSearch}&s={$wpSearch|escape:'html'}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}&citySearch={$citySearchSelected}"}
+
{* Alpha List *}
{if $showSettings.list_show_search_alpha && !$isSearchPage}
<div class="glm-alpha-links">
- <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}{if $wpSearch}&s={$wpSearch|escape:'html'}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}#glm-member-list-filters-button" class="glm-alpha-link{if !$alphaSelected} glm-alpha-link-selected{/if}">All</a>
+ <a href="{$thisUrl}?glm_action=list{$searchParams}#glm-member-list-filters-button" class="glm-alpha-link{if !$alphaSelected} glm-alpha-link-selected{/if}">All</a>
{foreach $alphaList as $a}
- <a href="{$thisUrl}?glm_action=list&alpha={$a.alpha}&textSearch={$textSearch}{if isset($wpSearch) && $wpSearch}&s={$wpSearch|escape:'html'}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}#glm-member-list-filters-button" class="glm-alpha-link{if $a.default} glm-alpha-link-selected{/if}">{$a.alpha}</a>
+ <a href="{$thisUrl}?glm_action=list&alpha={$a.alpha}{$searchParams}#glm-member-list-filters-button" class="glm-alpha-link{if $a.default} glm-alpha-link-selected{/if}">{$a.alpha}</a>
{/foreach}
</div>
{/if}
{* Page selection top *}
{if $paging}
- {if ( $prevStart || $nextStart ) && !$settings.list_ajax_pagination}
+ {if ( $prevStart || $nextStart ) && !$ajaxPagination}
<br>
<div class="paging-container">
- <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}{if $wpSearch}&s={$wpSearch|escape:'html'}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}&citySearch={$citySearchSelected}&pageSelect=Previous&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$prevStart} style="pointer-events: none; opacity: 0.5;"{/if}>< Previous page</a>
- <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}{if $wpSearch}&s={$wpSearch|escape:'html'}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}&citySearch={$citySearchSelected}&pageSelect=Next&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$nextStart} style="pointer-events: none; opacity: 0.5;"{/if}>Next page ></a>
+ <a href="{$thisUrl}?glm_action=list{$searchParams}&pageSelect=Previous&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$prevStart} style="pointer-events: none; opacity: 0.5;"{/if}>< Previous page</a>
+ <a href="{$thisUrl}?glm_action=list{$searchParams}&pageSelect=Next&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$nextStart} style="pointer-events: none; opacity: 0.5;"{/if}>Next page ></a>
</div>
<br>
{/if}
{* Members List *}
- {if $settings.list_ajax_pagination}
+ {if $ajaxPagination}
<div id="glm-ajax-list">
loading...
</div>
<div class="paging-container">
{if $paging}
- {if ( $prevStart || $nextStart ) && !$settings.list_ajax_pagination}
+ {if ( $prevStart || $nextStart ) && !$ajaxPagination}
<br>
<div class="paging-container">
- <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}{if $wpSearch}&s={$wpSearch|escape:'html'}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}&citySearch={$citySearchSelected}&pageSelect=Previous&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$prevStart} style="pointer-events: none; opacity: 0.5;"{/if}>< Previous page</a>
- <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}{if $wpSearch}&s={$wpSearch|escape:'html'}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}&citySearch={$citySearchSelected}&pageSelect=Next&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$nextStart} style="pointer-events: none; opacity: 0.5;"{/if}>Next page ></a>
+ <a href="{$thisUrl}?glm_action=list{$searchParams}&pageSelect=Previous&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$prevStart} style="pointer-events: none; opacity: 0.5;"{/if}>< Previous page</a>
+ <a href="{$thisUrl}?glm_action=list{$searchParams}&pageSelect=Next&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$nextStart} style="pointer-events: none; opacity: 0.5;"{/if}>Next page ></a>
</div>
<br>
{/if}
- {if $nextStart && $settings.list_ajax_pagination}
+ {if $nextStart && $ajaxPagination}
<a href="#" class="glm-show-more test" data-next="{$nextStart}">[ Load More ]</a>
{/if}
<br>
</div> {* glm-member-db-list *}
{/if}
+ {debug}
<script>
jQuery(document).ready(function($) {
- {if $settings.list_ajax_pagination}
+ {if $ajaxPagination}
// Setup the ajax pagination call.
var nextStart = {if $nextStart}{$nextStart}{else}0{/if};
var numberShown = 0;
// Call the member list grid content and load in the page.
jQuery.ajax({
- url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=membersList&limit={$settings.list_pagination_count}{$ajaxRequest}&alpha={$alphaSelected}',
+ url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=membersList&limit={$listCount}{$ajaxRequest}&alpha={$alphaSelected}',
cache: false,
async: true,
dataType: 'html',
success: function( html ){
$('#glm-ajax-list').html( html );
- numberShown += {$settings.list_pagination_count};
+ numberShown += {$listCount};
},
});
e.preventDefault();
var showMoreButton = $(this);
jQuery.ajax({
- url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=membersList&limit={$settings.list_pagination_count}{$ajaxRequest}&pageSelect=Next&nextStart=' + nextStart + '&ajaxNext=1&alpha={$alphaSelected}',
+ url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=membersList&limit={$listCount}{$ajaxRequest}&pageSelect=Next&nextStart=' + nextStart + '&ajaxNext=1&alpha={$alphaSelected}',
cache: false,
async: true,
dataType: 'html',
success: function( html ){
$('#glm-ajax-list').append( html );
- nextStart += {$settings.list_pagination_count};
+ nextStart += {$listCount};
if ( nextStart > totalMembers ) {
nextStart = totalMembers;
$('.aLastDisplayed').html(nextStart);
} else {
$('.aLastDisplayed').html(nextStart - 1);
}
- numberShown += {$settings.list_pagination_count};
+ numberShown += {$listCount};
if ( numberShown >= totalMembers ) {
showMoreButton.remove();
}