GET variable used to get template for GLMA detail
authorLaury GvR <laury@gaslightmedia.com>
Wed, 9 Aug 2017 19:17:49 +0000 (15:17 -0400)
committerLaury GvR <laury@gaslightmedia.com>
Wed, 9 Aug 2017 19:17:49 +0000 (15:17 -0400)
Glm associate list pages now have a parameter added to their link
to detail pages, 'entity_template', which index.php will detect
if set, and retrieve the entity_template if so. This way the member
and event detail pages can still use the template of the list page
they originate from.

glm-member-db-events/views/front/events/agenda.html
glm-member-db-events/views/front/events/list.html [new file with mode: 0644]
glm-member-db/views/front/members/list.html [new file with mode: 0644]
index.php
js/transpiled/dist.js [new file with mode: 0644]

index ad76461..86f0970 100644 (file)
@@ -41,7 +41,7 @@
                                                         {if $rec.name && $rec.name != 'Imported' && $rec.name != 'Imported Event Schedule' }
                                                             {$rec.name}
                                                         {/if}
-                                                        ( {if $event.times|@count > 1} Occurring {/if} 
+                                                        ( {if $event.times|@count > 1} Occurring {/if}
                                                         {$rec.from_date.date} <span class="agenda-event-recur-dates">
                                                           {if $rec.from_date.date != $rec.to_date.date}
                                                             - {$rec.to_date.date}
@@ -81,7 +81,7 @@
                                         {if $event.image}<img style="float:right;" src="{$imgUrl}{$event.image}">{/if}
                                         {$event.intro}
                                         <div>
-                                            <a class="glm-read-more" href="{$siteBaseUrl}{$pageSlug}/{if !$customPage}{$event.name_slug}/{else}?eventId={$event.id}{/if}">Read More</a>
+                                            <a class="glm-read-more" href="{$siteBaseUrl}{$pageSlug}/{if !$customPage}{$event.name_slug}/{else}?eventId={$event.id}{/if}?entity_template={php}echo $GLOBALS['entity_page_slug'];{/php}">Read More</a>
                                         </div>
                                     </div>
                                 </div>
         var custom_page         = '{$customPage}';
         var page_slug           = '{$pageSlug}';
         var retain_date;
-        
+
         if(!member_id){
             member_id = null;
         }
             var retain_date;
             var calCurrDate = $('#eventCalendar').fullCalendar('getView').start;
             var d = moment(calCurrDate).add(7, 'days').format('YYYY-MM-01');
-            
+
             return retain_date = d;
         }
         function in_mobile(){
                 return false;
             }
         }
-        
+
         $('#glm-event-from').on("change", function(){
             var from_date = $(this).val();
             $('#glm-event-to').val(from_date);
         event_search.on('click', function(){
             sessionStorage.override = 'yes';
         });
-        
+
         if( sessionStorage.view && sessionStorage.override === 'no' && !in_mobile()){
             view = sessionStorage.view;
         } else if( sessionStorage.override === 'yes' || in_mobile()){
             view = 'agenda';
-        } 
+        }
 
         // AJAX FUNCTION ************************************************
         // Get calendar month via AJAX
             handleWindowResize: true,
             lazyFetching: true,
             eventClick : function (event){
-                
+
                 sessionStorage.current_calendar_view = get_current_view();
-            
-            
+
+
                 if(custom_page !== ''){
                     location.href = event.url + '&glm_event_from=' + event.start.format();
                 } else {
                     location.href = event.url + '?glm_event_from=' + event.start.format();
                 }
-                
+
                 return false;
             },
             eventLimit: true,
             }
         });
         $(window).on("load", function(){
-            
+
             if(sessionStorage.current_calendar_view){
                 $('#event-date-toggle option').each(function(){
                     if( $(this).val() === sessionStorage.current_calendar_view){
             }
 
             $('#event-date-toggle-container').insertAfter( $('.fc-left')).fadeTo('slow', 1);
-            
+
             $('#event-date-toggle').on("change", function(){
                 var selected_date = $(this).val();
-            
+
                 $('#eventCalendar').fullCalendar('gotoDate', selected_date);
                  eventsCalMonthAJAX(month_obj);
                  if(sessionStorage.current_calendar_view){
             if(sessionStorage.current_calendar_view){
                 sessionStorage.current_calendar_view = '';
             }
-        
+
             eventsCalMonthAJAX(month_obj);
         });
 
                 }
             });
        });
-       
+
         var dates = $(".agenda-event-recur-dates");
         dates.each( function (){
            if( $(this).text().indexOf('-') < 0 ){
diff --git a/glm-member-db-events/views/front/events/list.html b/glm-member-db-events/views/front/events/list.html
new file mode 100644 (file)
index 0000000..6b21f1a
--- /dev/null
@@ -0,0 +1,29 @@
+<div id="glm-event-wrapper"> 
+    <div class="row">
+            {include file='front/events/searchForm.html'}
+            {include file='front/events/shortCuts.html'}
+    </div>
+    <div class="row">
+        {foreach $events as $event}
+        <div class="small-12 columns">
+            <div class="row">
+                <div class="small-6 medium-3 columns">{$event.dates}</div>
+                <div class="small-6 medium-6 columns">
+                    {foreach $event.categories as $cat}
+                        {$cat.name}:<br>
+                    {/foreach}
+                    <a href="{$siteBaseUrl}event-detail/{$event.name_slug}/">{$event.name}</a>
+                </div>
+                <div class="small-6 medium-3 columns">
+                    {if $event.ongoing}
+                    Ongoing Event
+                    {else}
+                    Repeating Event
+                    {/if}
+                </div>
+            </div>
+            <hr>
+        </div>
+        {/foreach}
+    </div>
+</div>
diff --git a/glm-member-db/views/front/members/list.html b/glm-member-db/views/front/members/list.html
new file mode 100644 (file)
index 0000000..7fbf734
--- /dev/null
@@ -0,0 +1,617 @@
+<div class="glm-member-db-list glm-member-db-{$view}-view
+    {if $settings.list_map_show_opened}map-opened{else}map-closed{/if}
+    {if $settings.list_show_search_filters_opened}filters-opened{else}filters-closed{/if}
+">
+{include file='front/members/header.html'}
+        {apply_filters('glm-member-db-front-members-list-pageTop', '')}
+<div class="glm-member-list-inner-wrapper">
+    {if $settings.list_show_map}
+            <div id="glm-member-list-map-toggle" class="button glm-button">Map</div>
+        {/if}
+        {if $settings.list_show_search}
+        <div id="glm-member-list-filters-wrapper">
+            <div id="glm-member-list-filters-button" class="button glm-button glm-member-list-filters-toggle">
+                FILTERS
+            </div>
+            <div id="glm-member-list-filters-box">
+                <div id="glm-member-list-filters-close" class="button glm-button glm-member-list-filters-toggle">Close</div>
+                <form action="{$thisUrl}?glm_action=list" method="post" enctype="multipart/form-data">
+                    <div class="small-12 columns glm-member-search glm-member-entry-container glm-member-container">
+                        {apply_filters('glm-member-db-front-members-list-searchFormTop', '')}
+                        <div>
+                            <h3>Refine Search</h3>
+                        </div>
+                        {if $settings.list_show_search_category}
+                            <div>
+                                By Category:
+<!-- To enable multi-select, use this code for the category search instead of the code below
+                                <select name="categorySearchMultiple[]" id="categorySelect" multiple>
+                                {if !$singleCategory}
+                                    <option value="">(all)</option>
+                                {/if}
+                                {foreach from=$categories item=v}
+                                    <option value="{$v.id}"{if $v.default} selected="selected"{/if}>
+                                        {if $v.parent}&nbsp;&nbsp;&nbsp;&nbsp;{/if}{$v.name}
+                                    </option>
+                                {/foreach}
+                                </select>
+-->
+                                <select name="categorySearch" id="categorySelect">
+                                {if !$singleCategory}
+                                    <option value="">(all)</option>
+                                {/if}
+                                {foreach from=$categories item=v}
+                                    <option value="{$v.id}"{if $v.default} selected="selected"{/if}>
+                                        {if $v.parent}&nbsp;&nbsp;&nbsp;&nbsp;{/if}{$v.name}
+                                    </option>
+                                {/foreach}
+                                </select>
+
+                            </div>
+                        {/if}
+                        {if $settings.list_show_search_amenities}
+                            {if $amenities|@count gt 0}
+                            <div>
+                                By Amenities:
+                                <select name="amenitySearch[]" id="amenitySelect" title="Click to Select Amenities" multiple="multiple">
+                                    {foreach from=$amenities item=v}
+                                        <option value="{$v.id}" {if $v.default} selected="selected"{/if}>
+                                            {$v.name}
+                                        </option>
+                                    {/foreach}
+                                </select>
+                            </div>
+                            {/if}
+                        {/if}
+                        {if $settings.list_show_search_region}
+                            {if $regions|@count gt 0}
+                            <div>
+                                By Regions:
+                                <select name="regionUserSearch[]">
+                                    {if $regions|@count gt 1}
+                                        <option value"">(all)</option>
+                                    {/if}
+                                    {foreach from=$regions item=v}
+                                        <option value="{$v.id}" {if $v.default} selected="selected"{/if}>
+                                            {$v.name}
+                                        </option>
+                                    {/foreach}
+                                </select>
+                            </div>
+                            {/if}
+                        {/if}
+
+                        {if $settings.list_show_search_text}
+                            <div>
+                                By Name: <input type="text" name="textSearch" value="{$textSearch}" class="glm-form-text-input">
+                            </div>
+                        {/if}
+                        <div><input class="button glm-member-button centered" type="submit" value="Search"></div>
+                        {apply_filters('glm-member-db-front-members-list-searchFormBottom', '')}
+                    </div>
+                </form>
+            </div> <!-- glm-member-list-filters-box -->
+        </div> <!-- glm-member-list-wrapper -->
+        {/if} {*list_show_search*}
+    {if $settings.list_show_map}
+        <script src="//maps.googleapis.com/maps/api/js?sensor=true&key={$settings.google_maps_api_key}"></script>
+        {apply_filters('glm-member-db-front-members-list-mapTop', '')}
+        <div id="glm-locationMap-container">
+            <div id="glm-locationMap" class="glm-map">(map loads here)</div>
+        </div>
+        {apply_filters('glm-member-db-front-members-list-mapBottom', '')}
+    {/if}
+    {apply_filters('glm-member-db-front-members-list-listHeaderTop', '')}
+
+
+ {if $settings.list_show_list && !$blankStart}
+    {if $settings.list_header_text}
+        <h3 class="glm-member-db-list-header-title">{$settings.list_header_text}</h3>
+    {else}
+        <h3 class="glm-member-db-list-header-title">List of {$terms.term_member_plur_cap}</h3>
+    {/if}
+    {if $haveMembers}
+
+     <!-- Member information displayed in map bubbles -->
+        {foreach $mapItems as $m}
+            <div id="map_info_{$m.id}" class="glm-hidden">
+                {apply_filters('glm-member-db-front-members-list-mapBubbleTop', '', $m.member)}
+                {if $m.logo && $settings.list_map_show_logo}
+                    <div class="glm-member-list-image">
+                        <img src="{$glmPluginMediaUrl}/images/{$settings.list_map_logo_size}/{$m.logo}">
+                    </div>
+                {/if}
+                <div class="glm-map-member-name">
+                    {if $settings.list_map_show_detaillink}
+                        <a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$m.member_slug}/{if $settings.enable_multiple_profiles}{$m.id}/{/if}?entity_template={php}echo $GLOBALS['entity_page_slug'];{/php}">{$m.name}</a>
+                    {else}
+                        {$m.name}
+                    {/if}
+                </div>
+                {if $settings.list_map_show_address}
+                    <p class="glm-map-member-address">
+                        {if $settings.list_map_show_street}
+                            {if $m.addr1}{$m.addr1}<br>{/if}
+                            {if $m.addr2}{$m.addr2}<br>{/if}
+                        {/if}
+                        {if $settings.memb_info_location && $settings.list_map_show_citystatezip}
+                            {if $m.city}{$m.city}{if $m.state}, {/if}{/if}{if $m.state}{$m.state}{/if}{if $m.zip} {$m.zip}{/if}
+                        {/if}
+                        {if $m.country && $settings.list_map_show_country}
+                            <br>{$m.country}
+                        {/if}
+                    </p>
+                {/if} {*list_map_show_address*}
+                <div class="glm-member-list-info">
+                    <p>
+                        {if $m.phone && $settings.list_map_show_phone}<b>Phone:</b> {apply_filters('glm_associate_phone_filter', $m.phone)}<br>{/if}
+                        {if $m.toll_free && $settings.list_map_show_tollfree}{apply_filters('glm_associate_phone_filter', $m.toll_free)}<br>{/if}
+                        {if $m.url && $settings.list_map_show_url}<b>Web site:</b> <a href="{$m.url}"{if $settings.list_map_show_url_newtarget} target="_blank"{/if}>{$m.url}</a><br>{/if}
+                        {if $m.email && $settings.list_map_show_email}<b>E-Mail Address:</b> <a href="mailto:{$m.email}">{$m.email}</a><br>{/if}
+                        {if $m.region && $settings.list_map_show_region}<b>Region:</b> {$m.region}{/if}
+                    </p>
+                    {if $m.descr && $settings.list_map_show_descr}{$m.descr|nl2br}<br>{/if}
+                    {if $m.short_descr && $settings.list_map_show_short_descr}{$m.short_descr}<br>{/if}
+                    {if $m.categories && $settings.list_map_show_categories}
+                        <div class="glm-member-list-items">
+                            <b>{$terms.term_member_cap} Categories</b>
+                            <ul>
+                            {foreach $m.categories as $c}
+                                <li>
+                                    {if $c.parent_name}{$c.parent_name}: {/if}{$c.name}
+                                </li>
+                            {/foreach}
+                            </ul>
+                        </div>
+                    {/if}
+    <!-- Not using credit cards for now
+                    {if $m.cc_type && $settings.list_map_show_creditcards}
+                        <div class="glm-member-list-items">
+                            <b>Credit Cards Accepted:</b>
+                            <ul>
+                            {foreach $m.cc_type.names as $c}
+                                <li>{$c}</li>
+                            {/foreach}
+                            </ul>
+                        </div>
+                    {/if}
+    -->
+                    {if $settings.list_map_show_amenities}
+                        <div class="glm-member-list-items">
+                            <b>Amenities:</b>
+                            <ul>
+                            {foreach $m.amenities as $a}
+                                <li>{$a.name}</li>
+                            {/foreach}
+                            </ul>
+                        </div>
+                    {/if}
+                </div>
+                {apply_filters('glm-member-db-front-members-list-mapBubbleBottom', '', $m.member)}
+            </div> <!-- End of information displayed in map bubbles -->
+        {/foreach}
+
+        <div id="glm-member-list-terms">{$terms.term_member_plur_cap} found: {$membersFound}<br></div>
+
+        {apply_filters('glm-member-db-front-members-list-listHeaderBottom', '')}
+
+     <!-- Member information displayed in list -->
+
+    <div class="glm-member-list-listing-container">
+    {if $settings.list_show_search_alpha}
+        <div class="glm-alpha-links">
+            <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}&categorySearch={$catSearchSelected}&regionSearch={$regionSearchSelected}" 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}&categorySearch={$catSearchSelected}&regionSearch={$regionSearchSelected}" class="glm-alpha-link{if $a.default} glm-alpha-link-selected{/if}">{$a.alpha}</a>
+      {/foreach}
+       </div>
+    {/if}
+
+    {if $paging}
+        <br>
+        <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}&categorySearch={$catSearchSelected}&regionSearch={$regionSearchSelected}&pageSelect=Previous&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}" 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}&categorySearch={$catSearchSelected}&regionSearch={$regionSearchSelected}&pageSelect=Next&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}" class="glm-alpha-link" {if !$nextStart} style="pointer-events: none; opacity: 0.5;"{/if}>Next page</a>
+        <br>
+        showing {$start} through {$lastDisplayed} of {$filteredMembersFound}
+    {/if}
+
+
+    {if $view == grid}
+        <ul class="small-block-grid-1 medium-block-grid-2 large-block-grid-3">
+        {foreach $members as $member}
+            <li class="glm-member-list-record">
+                {apply_filters('glm-member-db-front-members-list-memberAbove', '', $member.member_pointer)}
+                <div class="glm-member-db-border-wrap">
+                    {apply_filters('glm-member-db-front-members-list-memberTop', '', $member.member_pointer)}
+
+                    {if $settings.list_show_detail_link}
+                    <a class="glm-member-list-image-wrapper" href="{$siteBaseUrl}{$settings.canonical_member_page}/{$member.member_slug}/?entity_template={php}echo $GLOBALS['entity_page_slug'];{/php}">
+                    {/if}
+
+                    {if $member.featured}
+                    <div class="glm-member-list-featured-tag">
+                        featured
+                    </div>
+                    {/if}
+
+                    {if $member.logo && $settings.list_show_logo}
+                        <div class="glm-member-list-has-image">
+                            <img class="glm-member-list-image" src="{$glmPluginMediaUrl}/images/grid/{$member.logo}">
+                        </div>
+                    {elseif $settings.list_show_logo_filler}
+                        <div class="glm-member-list-has-image">
+                            <img class="glm-member-list-image-filler" src="{$assetsUrl}/filler_s.gif">
+                        </div>
+                    {else}
+                        <div class="glm-member-list-missing-image"></div>
+                    {/if}
+                    {if $settings.list_show_detail_link}
+                    </a>
+                    {/if}
+                    <div class="glm-member-list-info-wrapper">
+                        <h4 class="glm-member-title">
+                            {if $settings.list_show_detail_link}
+                                <a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$member.member_slug}/{if $settings.enable_multiple_profiles}{$member.id}/{/if}?entity_template={php}echo $GLOBALS['entity_page_slug'];{/php}">
+                                    {$member.member}
+                                </a>
+                            {else}
+                                {$member.member}
+                            {/if}
+
+                        </h4>
+
+                        <div class="glm-member-list-sub-links">
+                            <ul>
+                                {if $member.url && $settings.list_show_url}<li><a href="{$member.url}"{if $settings.list_show_url_newtarget} target="_blank"{/if}>Website</a></li>{/if}
+        <!--                        {if $member.phone && $settings.list_map_show_phone}<a href="tel:+{$member.phone}">Phone</a>{/if}-->
+                                {$packageLink = apply_filters('glm-member-db-front-members-list-linksBottom', '', $member.member_pointer)}
+                                {if $packageLink}<li>{$packageLink}</li>{/if}
+                                {if $member.reservation_url}<li><a target="_blank" href="{$member.reservation_url}">Reserve Now</a></li>{/if}
+
+                                {if $settings.list_show_live_cam}
+                                    {if $member.live_cam_type.name == "Web Page" && $member.live_cam_url && $settings.list_show_live_cam}
+                                        <li><a target="_blank" href="{$member.live_cam_url}">{$terms.term_webcam_cap}</a></li>
+                                    {else if $member.live_cam_type.name == "Camera Image"}
+                                        <li><a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$member.member_slug}/{if $settings.enable_multiple_profiles}{$member.id}/{/if}?entity_template={php}echo $GLOBALS['entity_page_slug'];{/php}?expanded=live-cam">{$terms.term_webcam_cap}</a></li>
+                                    {/if}
+                                {/if}
+
+                                <li><a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$member.member_slug}/{if $settings.enable_multiple_profiles}{$member.id}/{/if}?entity_template={php}echo $GLOBALS['entity_page_slug'];{/php}">View&nbsp;More</a></li>
+                                {apply_filters('glm-member-db-front-members-list-memberBelow', '', $member.member_pointer)}
+                            </ul>
+                        </div>
+                    </div>
+                </div> <!-- End of glm-member-db-border-wrap -->
+            </li> <!-- end of li.glm-member-list-record -->
+        {/foreach} {*$members*}
+        </ul>
+    <!-- Grid view above -->
+
+    {else}
+
+    <!-- List view below -->
+        {foreach $members as $member}
+        {apply_filters('glm-member-db-front-members-list-memberAbove', '', $member.member_pointer)}
+             <div class="glm-member-list-container glm-member-container small-12 columns">
+                {apply_filters('glm-member-db-front-members-list-memberTop', '', $member.member_pointer)}
+                 <!-- Member Logo - Medium and up-->
+
+                    <div class="glm-member-list-data small-12 columns">
+                    {if $member.logo && $settings.list_show_logo}
+                        <div class="glm-member-list-image-wrapper right small-12 medium-4 columns {if !$settings.list_logo_for_mobile}mobile-hide{/if}">
+                            <div class="glm-member-list-image-border">
+
+                                {if $member.featured}
+                                <div class="glm-member-list-featured-tag">
+                                    featured
+                                </div>
+                                {/if}
+                                <img src="{$glmPluginMediaUrl}/images/{$settings.list_logo_size}/{$member.logo}">
+                            </div>
+                       </div>
+                    {/if}
+                     <div class="glm-member-list-active-info small-12 medium-8 columns">
+ <!-- Member name, address, and basic information -->
+                    {apply_filters('glm-member-db-front-members-list-memberInfoTop', '', $member.member_pointer)}
+                    <h4 class="glm-member-title">
+                        {if $settings.list_show_detail_link}
+                            <a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$member.member_slug}/{if $settings.enable_multiple_profiles}{$member.id}/{/if}?entity_template={php}echo $GLOBALS['entity_page_slug'];{/php}">{$member.member}</a>
+                        {else}
+                            {$member.member}
+                        {/if}
+                    </h4>
+                    {if $settings.list_show_address}
+                        <div class="glm-member-list-address-wrapper">
+                            {apply_filters('glm-member-db-front-members-list-memberAddressTop', '', $member.member_pointer)}
+                            {if $settings.list_show_street}
+                            {if $member.addr1 && $settings.list_show_address}<div>{$member.addr1}</div>{/if}
+                            {if $member.addr2 && $settings.list_show_address}<div>{$member.addr2}</div>{/if}
+                            {/if}
+                            {if $settings.memb_info_location && $settings.list_show_citystatezip}
+                                <div>
+                                    {if $member.city}
+                                        <span>{$member.city}{if $member.state.value}, {/if}</span>
+                                    {/if}
+                                    {if $member.state.value}
+                                        <span>{$member.state.value}</span>
+                                    {/if}
+                                    {if $member.zip}
+                                        {$member.zip}
+                                    {/if}
+                                </div>
+                            {/if}
+                            {if $member.country.name && $settings.list_show_country}
+                                <div>{$member.country.name}</div>
+                            {/if}
+                            {apply_filters('glm-member-db-front-members-list-memberAddressBottom', '', $member.member_pointer)}
+                        </div>
+                    {/if}
+                    {apply_filters('glm-member-db-front-members-list-memberDetailTop', '', $member.member_pointer)}
+                    {if ($settings.memb_info_contact && $member.phone && $settings.list_show_phone) || ($settings.memb_info_contact && $member.toll_free && $settings.list_show_tollfree)}
+                        <div>
+                            {if $member.phone && $settings.list_show_phone}<span class="glm-member-db-phone">Phone: {apply_filters('glm_associate_phone_filter', $member.phone)} </span>{/if}
+                            {if $member.toll_free && $settings.list_show_tollfree}<span class="glm-member-db-phone-tollfree">{apply_filters('glm_associate_phone_filter', $member.toll_free)}</span>{/if}
+                        </div>
+                    {/if}
+                    {if $settings.memb_info_location && $member.region && $settings.list_show_region}<div><b>Region:</b> {$member.region}</div>{/if}
+
+                    <div class="glm-member-list-links">
+                        {apply_filters('glm-member-db-front-members-list-memberLinksTop', '', $member.member_pointer)}
+                        {if $member.url && $settings.list_show_url}<a class='glm-member-list-website-link' data-member-id="{$member.member_pointer}" data-member-slug="{$member.member_slug}" href="{$member.url}"{if $settings.list_show_url_newtarget} target="_blank"{/if} >Visit Website</a>{/if}
+                        {if $member.email && $settings.list_show_email}<a href="mailto:{$member.email}">Email</a>{/if}
+                        {if $member.reservation_url}<a target="_blank" href="{$member.reservation_url}">Reserve Now</a>{/if}
+                        {if $settings.list_show_live_cam}
+                            {if $member.live_cam_type.name == "Web Page" && $member.live_cam_url && $settings.list_show_live_cam}
+                                <a target="_blank" href="{$member.live_cam_url}">{$terms.term_webcam_cap}</a>
+                            {else if $member.live_cam_type.name == "Camera Image"}
+                                <a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$member.member_slug}/{if $settings.enable_multiple_profiles}{$member.id}/{/if}?entity_template={php}echo $GLOBALS['entity_page_slug'];{/php}?expanded=live-cam">{$terms.term_webcam_cap}</a>
+                            {/if}
+                        {/if}
+                        {apply_filters('glm-member-db-front-members-list-linksBottom', '', $member.member_pointer)}
+                     </div>
+                    <div class="glm-member-db-socials">
+                       {apply_filters('glm-member-db-front-members-social-list', '', $member.member_pointer)}
+                    </div>
+
+                <div class="glm-member-list-description small-12 columns">
+                    <div>
+                    {apply_filters('glm-member-db-front-members-list-memberDescriptionTop', '', $member.member_pointer)}
+                    {if $member.short_descr && $settings.list_show_short_descr}
+                        {$member.short_descr|nl2br}
+                        {if $settings.list_show_detail_link}
+                            <a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$member.member_slug}/{if $settings.enable_multiple_profiles}{$member.id}/{/if}?entity_template={php}echo $GLOBALS['entity_page_slug'];{/php}">More</a>
+                        {/if}
+                    {/if}
+                    {apply_filters('glm-member-db-front-members-list-memberDescriptionBottom', '', $member.member_pointer)}
+                    </div>
+                    {if $member.categories && $settings.list_show_categories}
+                    <div class="glm-member-list-items">
+                        <b>{$terms.term_member_cap} Categories</b>
+                        <ul>
+                            {foreach $member.categories as $c}
+                                <li>
+                                    {if $c.parent_name}{$c.parent_name}: {/if}{$c.name}
+                                </li>
+                            {/foreach}
+                        </ul>
+                    {/if}
+                    {if $member.cc_type && $settings.list_show_creditcards}
+                        <b>Credit Cards Accepted:</b>
+                        <ul>
+                            {foreach $member.cc_type.names as $c}
+                                <li>{$c}</li>
+                            {/foreach}
+                        </ul>
+                    {/if}
+                    {if $member.amenities && $settings.list_show_amenities}
+                        <b>{$terms.term_member_cap} Amenities</b>
+                        <ul>
+                            {foreach $member.amenities as $A}
+                                <li>
+                                    {$A.name}
+                                </li>
+                            {/foreach}
+                        </ul>
+                    {/if}
+                    </div>
+                </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)}
+                </div>
+                 {apply_filters('glm-member-db-front-members-list-memberBelow', '', $member.member_pointer)}
+<!-- Member Description -->
+
+     {/foreach} {*$members*}
+         </div>
+
+ {/if} {*end grid view check*}
+
+    {if $paging}
+        <br>
+        <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}&categorySearch={$catSearchSelected}&regionSearch={$regionSearchSelected}&pageSelect=Previous&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}" 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}&categorySearch={$catSearchSelected}&regionSearch={$regionSearchSelected}&pageSelect=Next&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}" class="glm-alpha-link" {if !$nextStart} style="pointer-events: none; opacity: 0.5;"{/if}>Next page</a>
+        <br>
+        showing {$start} through {$lastDisplayed} of {$filteredMembersFound}
+    {/if}
+
+        {apply_filters('glm-member-db-front-members-list-pageBottom', '')}
+ {else}
+        <div>(no {$terms.term_member_plur} listed)</div>
+ {/if}
+
+    {/if} {*list_show_list*}
+    <script type="text/javascript">
+        jQuery(document).ready(function($) {
+
+            jQuery('select[multiple]').asmSelect();
+
+            // Show search filters box
+            {if $settings.list_show_search}
+
+                // Float filter box
+
+                    var fixmeTop = $('#glm-member-list-filters-button').offset().top;
+                    $(window).scroll(function() {
+
+                        var currentScroll = $(window).scrollTop();
+                        if (currentScroll >= fixmeTop-{$settings.list_floating_search_distance_top} && {$settings.list_floating_search}) {
+                            $('#glm-member-list-filters-wrapper').css({
+                                position: 'fixed',
+                                top: '{$settings.list_floating_search_distance_top}px',
+                                transform: 'translateX(0%)'
+                            });
+                        } else {
+                            $('#glm-member-list-filters-wrapper').css({
+                                position: 'relative',
+                                top: '0',
+                                transform: 'translateX(0%)'
+                            });
+                        }
+
+                    });
+                $(".glm-member-list-filters-toggle").click( function() {
+                    $(".glm-member-db-{$view}-view").toggleClass("filters-opened");
+                    $(".glm-member-db-{$view}-view").toggleClass("filters-closed");
+                    $("#glm-locationMap-container").one("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend",
+                        function() {
+                            var center = map.getCenter();
+                            google.maps.event.trigger(map, "resize");
+                            map.setCenter(center);
+                        });
+                    });
+            {/if} // settings.list_show_search
+
+            {if $settings.list_show_map}
+                        /*
+                         * Google Maps
+                         *  API reference: https://developers.google.com/maps/documentation/javascript/reference
+                         */
+
+
+                        // Create a Google Map object
+                        var map = new google.maps.Map(document.getElementById('glm-locationMap'), {
+                                center: new google.maps.LatLng({$settings.maps_default_lat}, {$settings.maps_default_lon}),
+                                zoom: {$settings.maps_default_zoom},
+                            disableDefaultUI: false,
+                            mapTypeId: google.maps.MapTypeId.MAP,
+                        });
+
+                        $("#glm-member-list-map-toggle").click( function() {
+                            $(".glm-member-db-{$view}-view").toggleClass("map-opened");
+                            $(".glm-member-db-{$view}-view").toggleClass("map-closed");
+                            var center = map.getCenter();
+                            google.maps.event.trigger(map, "resize");
+                            map.setCenter(center);
+
+                            var currentScroll = $(window).scrollTop(); // get current position
+                            var mapTop = $("#glm-locationMap-container").offset().top-10;
+                            {if $settings.list_show_search}fixmeTop = $('#glm-member-list-filters-button').offset().top;{/if}
+                            if (currentScroll >= mapTop) {
+                                $('body,html').animate({
+                                scrollTop: $("#glm-locationMap-container").offset().top-100
+                                }, 50);
+                            } else {
+                                $('body,html').animate({
+                                    scrollTop: $("#glm-locationMap-container").offset().top-100
+                                }, 400);
+                            }
+                        });
+                        var geocoder = new google.maps.Geocoder();
+                        var bounds = new google.maps.LatLngBounds();
+                        var infowindow = new google.maps.InfoWindow();
+
+                        // Don't Try HTML5 to get user geolocation
+                        //if(navigator.geolocation) {
+                            //navigator.geolocation.getCurrentPosition(function(position) {
+                                //var myLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
+                                //var pinIcon = new google.maps.MarkerImage(
+                                        //'https://maps.google.com/mapfiles/kml/shapes/man.png',
+                                    //null, /* size is determined at runtime */
+                                    //null, /* origin is 0,0 */
+                                    //null, /* anchor is bottom center of the scaled image */
+                                    //new google.maps.Size(30, 30)
+                                //);
+                                //var myMarker = new google.maps.Marker({
+                                    //map: map,
+                                    //position: myLocation,
+                                    //draggable: false,
+                                    //animation: google.maps.Animation.DROP,
+                                    //title: 'My Location',
+                                    //icon: pinIcon,
+                                    //zIndex: 100
+                                //});
+                            //});
+                        //}
+
+                {if $haveMembers}
+                    {foreach $mapItems as $m}
+                      {if $m.lat != 0 && $m.lon != 0}
+
+                        // Create a marker for this member
+                        var marker = new google.maps.Marker({
+                            map: map,
+                            position: new google.maps.LatLng({$m.lat}, {$m.lon}),
+                            draggable: false,
+                            animation: google.maps.Animation.DROP,
+                            title: '{$m.member|escape}',
+                            descr: $('#map_info_' + {$m.id}).html(),
+                            memberID: {$m.member}
+                        });
+
+                        // Add a click listener for this marker
+                        marker.addListener('click', function() {
+                                infowindow.setOptions({
+                                        content: this.descr
+                                });
+                            infowindow.open(map,this);
+                        });
+
+                        // Extend the map bounds to include this marker
+                        bounds.extend(marker.position);
+
+                     {/if}
+                    {/foreach}
+
+                        // Fit map to bounds of all markers
+                        map.fitBounds(bounds);
+
+                        // Check for first map idle (completely loaded) - Check max zoom
+                        var mapLoadedListener = google.maps.event.addListener(map, 'idle', function() {
+                            if (map.getZoom() > 14) {
+                                this.setZoom(14);
+                            }
+                            google.maps.event.removeListener(mapLoadedListener);
+                        });
+
+                {else}
+
+
+                {/if} // havemembers
+
+
+            {/if}   // settings.list_show_map
+
+            // Processes click-through counts for website links
+            $('.glm-member-list-website-link').on('click', function() {
+
+                // Get member ID
+                var memberId = $(this).attr('data-member-id');
+                var memberSlug = $(this).attr('data-member-slug');
+
+                // Send AJAX action to record click.
+                $.ajax({
+                   url: "{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberClickThrough&memberId=" + memberId + "&memberSlug=" + memberSlug
+                });
+
+            });
+        });
+            </script>
+
+        </div><!-- glm-member-list-inner-wrapper-->
+    </div><!-- glm-member-db-list-view -->
+{include file='front/footer.html'}
index 5341725..44862cb 100644 (file)
--- a/index.php
+++ b/index.php
@@ -2,15 +2,17 @@
 <html class="no-js" lang="en">
     <?php get_template_part("parts/header-meta"); ?>
     <?php
-
-        $GLOBALS['entity_page_slug'] = 'default';
-
+        $entity_template = filter_input(INPUT_GET, 'entity_template');
+        if ($entity_template) {
+            $GLOBALS['entity_page_slug'] = $entity_template;
+        } else if ( get_entity_template() ) {
+            $GLOBALS['entity_page_slug'] = get_entity_template();
+        } else {
+            $GLOBALS['entity_page_slug'] = 'default';
+        }
         // get_entity_template returns current page slug if current page is entity page
         //  returns parent entity page slug if child of entity page
         //  returns false if top-level non-entity
-        if ( get_entity_template() ) {
-            $GLOBALS['entity_page_slug'] = get_entity_template();
-        }
 
     ?>
     <body class="<?php echo $GLOBALS['entity_page_slug'] ?>">
diff --git a/js/transpiled/dist.js b/js/transpiled/dist.js
new file mode 100644 (file)
index 0000000..f0f5e2b
--- /dev/null
@@ -0,0 +1,170 @@
+'use strict';
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+// Load foundation
+/*jshint esversion: 6 */
+
+jQuery(document).ready(function ($) {
+    'use strict';
+
+    $(document).foundation();
+
+    $('ul.children').each(function () {
+        $(this).before('<a class="toggle" href="#"></a>');
+    });
+    $('a.toggle').click('click', function () {
+        $(this).toggleClass('open');
+        $(this).siblings('ul').toggleClass('open');
+    });
+    //    $('.top-bar-left').find('ul.menu.vertical').each(function (){
+    //        var menuImg = $(this).parent('li').prop('id');
+    //        var menuNum = menuImg.match(/\d+/)[0];
+    //        var menuImgSrc = 'img_for_menu_' + menuNum;
+    //        if (window['img_for_menu_' + menuNum]) {
+    //            $(this).find('li.image-placeholder').html('<img src="' + eval(menuImgSrc) + '">');
+    //        } else {
+    //            $(this).find('li.image-placeholder').parent('ul').addClass('no-image-subul');
+    //            $(this).find('li.image-placeholder').remove();
+    //        }
+    //        //console.log('ul = ' + menuImg);
+    //        //console.log('menu-id = ' + menuNum);
+    //    });
+
+    var test = function test() {
+        _classCallCheck(this, test);
+    };
+
+    ;
+    // cached element to use in js / jquery dom manipulation
+    var page = $("body");
+    var svg = page.find('svg');
+    var search_member = page.find('#member-categories');
+    var search_input = page.find(".site-search");
+    var main_search_btn = page.find('.topbar-search-button');
+    var dropdown_search = page.find('.dropdown-search');
+    var search_close = page.find(".topbar-search-close");
+    var dropdown_button = page.find('.dropdown-search-button');
+    var off_canvas = page.find(".off-canvas");
+    var password_form = page.find("#glm-member-password-lost-form");
+    var password_link = page.find("#glm-member-password-lost-link");
+
+    var current_off_canvas = $('.off-canvas .current-menu-item');
+    var current_menu = current_off_canvas.find('.menu');
+    current_menu.addClass('open');
+
+    //    page.find($('.top-bar-left')).find('.main-nav').find('li:eq(0)').before($('.map'));
+    //    $('li.map').css({
+    //        "display": "block",
+    //        'float': 'left'
+    //    });
+
+    //    page.find('.map').hover( function(){
+    //        $(this).addClass('is-active');
+    //        $(this).find($('.map-ul')).addClass("js-dropdown-active");
+    //    }, function(){
+    //        var self = this;
+    //        $(self).find($('.map-ul')).removeClass("js-dropdown-active");
+    //        $(this).removeClass('is-active');
+    //    });
+
+    // hover effects for svg text
+    //    $(svg).find('text').hover( function(){
+    //        $(this).prev().css('fill', '#1E3D67');
+    //        $(this).css({
+    //            "stroke": "white",
+    //            "fill": "white"
+    //        });
+    //    }, function(){
+    //        $(this).prev().css('fill', 'white');
+    //        $(this).css({
+    //            "stroke": "#1E3D67",
+    //            "fill": "#1E3D67"
+    //        });
+    //    });
+    //
+    //    // hover effects for svg rect
+    //    $(svg).find('.tag').hover( function(){
+    //        $(this).css('fill', '#1E3D67');
+    //        $(this).next().css({
+    //            "stroke": "white",
+    //            "fill": "white"
+    //        });
+    //    }, function(){
+    //        $(this).css('fill', 'white');
+    //        $(this).next().css({
+    //            "stroke": "#1E3D67",
+    //            "fill": "#1E3D67"
+    //        });
+    //    });
+
+    // weather widget hover effect
+    $('#activate-weather').mouseover(function () {
+        $('#weather-widget').slideDown();
+    }).mouseout(function () {
+        $('#weather-widget').slideUp();
+    });
+
+    // search dropdown animations
+    $(main_search_btn).on("click", function () {
+        $(dropdown_search).slideDown();
+        $(search_close).animate({
+            opacity: 1
+        }, 500);
+    });
+    $(search_close).on("click", function () {
+        $(dropdown_search).slideUp();
+        $(this).animate({
+            opacity: 0
+        }, 500);
+    });
+
+    // disable member dropdown if text is in the search box
+    $(search_input).on("keyup change", function () {
+        var checker = $.trim($(this).val()).length === 0;
+        $(search_member).attr('disabled', !checker);
+
+        if ($(search_member).attr('disabled')) {
+            dropdown_button.css("display", "none");
+        } else {
+            dropdown_button.css("display", "block");
+        }
+    });
+
+    // strip br tags from the off canvas sidemenu item titles
+    off_canvas.find('ul').find('li').each(function () {
+        $(this).children("a").html(function (i, oldHTML) {
+            return oldHTML.replace(/<br>/g, ' ');
+        });
+    });
+
+    password_link.on("click", function () {
+        password_form.toggle("slow", function () {});
+    });
+
+    $('.ui-datepicker-trigger').insertBefore("#check_in");
+    $('<br>').insertAfter("#check_in");
+
+    // adjust the offset of the sticky header(s) for page target scrolling using #div anchors
+    if ($(window).width() > 1023) {
+        $("#main-content a[href^='#']").on('click', function (e) {
+            e.preventDefault();
+            if ($("#header-content").hasClass("is-stuck")) {
+                $('html, body').animate({
+                    scrollTop: $(this.hash).offset().top - $('#header-content').height()
+                }, 400);
+            } else if ($("#header-content").hasClass("is-at-top") || !$("#header-content").hasClass("is-at-top is-stuck")) {
+                $('html, body').animate({
+                    scrollTop: $(this.hash).offset().top - ($('#header-content').height() - $("#roof").height())
+                }, 400);
+            }
+        });
+    }
+
+    var chamber_header = $("#chamber").children(".side-menu").children("h1");
+    chamber_header.each(function () {
+        if ($(this).text().match(/Economic Development/)) {
+            $(this).css('font-size', '1.9rem');
+        }
+    });
+});
\ No newline at end of file