}
+
+ $this->select = apply_filters( 'glm-member-db-select-query', $this->select );
+
$sql = "SELECT $this->select
FROM $this->table T
WHERE true
";
+ // echo '<pre>$sql: ' . print_r( $sql, true ) . '</pre>';
+
if (trim($where != '')) {
$sql .= "AND $where
";
// Default is alpha-numeric list order
default:
case $this->config['sort_order_numb']['Alpha-Numeric']:
- $sortOrder = apply_filters( 'glm-member-db-front-search-query-orderby', 'member_name' );
+
+ function getDistanceQuery( $lat, $lng )
+ {
+ $subPart = "(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($subPart), SQRT(1 - ($subPart))))";
+ }
+
+ $lat = 45.373343;
+ $lng = -84.9553;
+ $where .= ' AND ' . getDistanceQuery( $lat, $lng );
+
+ function glmFilterByLatLon( $content )
+ {
+ $lat = 45.373343;
+ $lng = -84.9553;
+ $city_id = 1;
+ $distanceQuery = getDistanceQuery( $lat, $lng );
+ $distanceQuery = ",
+ CASE
+ WHEN T.city = $city_id THEN 0
+ ELSE " . $distanceQuery . "
+ END AS distance";
+ return $content.$distanceQuery;
+ }
+
+ add_filter('glm-member-db-select-query', 'glmFilterByLatLon');
+
+ $sortOrder = apply_filters( 'glm-member-db-front-search-query-orderby', 'distance,member_name' );
${$resultParam} = $this->getList($where.$alphaWhere, $sortOrder, true, 'id', $start, $limit);
+
+ remove_filter( 'glm-member-db-select-query', 'glmFilterByLatLon' );
+
break;
}
</div> <!-- End of information displayed in map bubbles -->
{/foreach}
{if $haveFeaturedMembers}
-
+
<h3>Featured {$terms.term_member_plur_cap}</h3>
-
+
<ul id="featured-grid" class="">
{foreach $featuredMembers as $fm}
<li class="featured-grid-item-wrapper">
{/if}
<div class="featured-grid-item-info">
<h4 class="featured-member-title">{$fm.member_name}</h4>
-
+
{if $fm.short_descr && $settings.list_show_short_descr}
<div class="featured-member-description">
{$fm.short_descr|nl2br}
featured
</div>
{/if}
-
+
<!-- Member Logo - Medium and up-->
<div class="glm-member-list-data small-12 columns">
</ul>
{/if}
</div>
+ {if $member.distance}Distance: {$member.distance} miles from Petoskey{/if}
</div>
{apply_filters('glm-member-db-front-members-list-memberDetailBottom', '', $member.member_pointer)}
</div>
+
<!-- Laury - This is the one that should go underneath all the address and description area -->
{apply_filters('glm-member-db-front-members-list-memberDataBelow', '', $member.member_pointer)}
{apply_filters('glm-member-db-front-members-list-memberBottom', '', $member.member_pointer)}