Adding city and region into search
authorSteve Sutton <steve@gaslightmedia.com>
Mon, 4 Feb 2019 18:22:10 +0000 (13:22 -0500)
committerSteve Sutton <steve@gaslightmedia.com>
Mon, 4 Feb 2019 18:22:10 +0000 (13:22 -0500)
Taking most of this from the wmta theme and how it is showing the city
in search.

models/front/events/list.php
views/front/events/searchForm.html

index 1cdb17b..58a6384 100644 (file)
@@ -78,11 +78,16 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
 
         $defaultViewFile = ( $this->config['settings']['default_agenda_view'] ) ? $this->config['settings']['default_agenda_view'] . '.html' : 'agenda.html';
 
-        // get list cities to search by
-        require_once GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataCities.php';
-        $cities = new GlmDataCities($this->wpdb, $this->config);
+        // Get list cities to search by
+        require_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataCities.php';
+        $cities = new GlmDataCities( $this->wpdb, $this->config );
         $cityData = $cities->getList( null, 'name' );
 
+        // Get list of regions to search by
+        require_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataRegions.php';
+        $regions = new GlmDataRegions( $this->wpdb, $this->config );
+        $regionData = $regions->getList( null, 'name' );
+
         // If there's a pageslug as attribute then update the pageSlug
         if ( isset ( $actionData['request']['pageslug'] ) ) {
             $pageSlug   = $actionData['request']['pageslug'];
@@ -496,6 +501,7 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
             break;
         }
 
+        // echo '<pre>$events: ' . print_r( $events, true) . '</pre>';
         // group the events by the starting date
         $eventsByDate = $mainEvents = array();
         $eventCounter = 0;
@@ -715,7 +721,9 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
             'amenities'    => $amenities,
             'memberId'     => $memberId,
             'cities'       => $cityData,
+            'regions'      => $regionData,
             'cityId'       => $cityId,
+            'regionId'     => $regionId,
             'members'      => $members,
             'venues'       => $venues,
             'venueId'      => $venueId,
index 7390e7f..8d46e3a 100644 (file)
                         </div>
                     </div>
                 </div>
-                <div class="glma-small-8 glma-medium-4 glma-column">
+                {if $settings.show_search_city}
+                    <div class="glma-small-8 glma-medium-3 glma-column">
+                        <select id="glm-event-city" name="city">
+                            <option value="0">All Cities</option>
+                            {foreach $cities as $city}
+                                {if $city.name !== '' && !empty($city.name)}
+                                    <option value="{$city.id}"{if $city.id == $cityId} selected{/if}>{$city.name}</option>
+                                {/if}
+                            {/foreach}
+                        </select>
+                    </div>
+                {/if}
+                {if $settings.show_search_region}
+                    <div class="glma-small-8 glma-medium-3 glma-column">
+                        <select id="glm-event-region" name="region">
+                            <option value="0">All Regions</option>
+                            {foreach $regions as $region}
+                                {if $region.name !== '' && !empty($region.name)}
+                                    <option value="{$region.id}"{if $region.id == $regionId} selected{/if}>{$region.name}</option>
+                                {/if}
+                            {/foreach}
+                        </select>
+                    </div>
+                {/if}
+                <div class="glma-small-8 glma-medium-3 glma-column">
                     <input class="glm-search-icon glma-right" type="image" alt="Search" src="{$assetsUrl}search-icon-24x24.png">
                     <select id="glm-event-category" name="category" class="glma-select">
                         <option value="0">-- All Categories --</option>
                         {/foreach}
                     </select>
                 </div>
-                <div class="glma-small-4 glma-medium-2 glma-column">
+                {if $settings.show_search_city || $settings.show_search_region}
+                    <div class="glma-small-12 glma-medium-9 glma-columns view-select">
+                        <select id="glm-event-view-select" class="glma-select">
+                            <option id="agenda-view-option" value="agenda"> Agenda View </option>
+                            <option id="calendar-view-option" value="calendar"> Calendar View </option>
+                        </select>
+                    </div>
+                {/if}
+                <div class="{if $settings.show_search_city || $settings.show_search_region}glma-small-12 glma-medium-3{else}glma-small-4 glma-medium-2{/if} glma-column">
                     {if !$eventId}
                     <input data-cats="{$pdfCatList}" class="glma-right" type="image" title="Print PDF" id="glm-event-pdf-submit" src="{$assetsUrl}print-icon-24x24.png">
                     {else}
                     <img class="glma-right" title="iCal Feed" id="glm-event-ical-feed" src="{$assetsUrl}calendar-icon-24x24.png" />
                     </a>
                 </div>
+                {if !$settings.show_search_city && !$settings.show_search_region}
+                    <div class="glma-small-12 glma-columns view-select">
+                        <select id="glm-event-view-select" class="glma-select">
+                            <option id="agenda-view-option" value="agenda"> Agenda View </option>
+                            <option id="calendar-view-option" value="calendar"> Calendar View </option>
+                        </select>
+                    </div>
+                {/if}
             </div>
         </form>
     </div>
         </a>
     </div>
 {/if}
-<div class="glma-small-12 glma-columns view-select">
-    <select id="glm-event-view-select" class="glma-select">
-        <option id="agenda-view-option" value="agenda"> Agenda View </option>
-        <option id="calendar-view-option" value="calendar"> Calendar View </option>
-    </select>
-</div>
 <script type="text/javascript">
     jQuery(document).ready(function($){
         jQuery('#glm-event-pdf-submit').click(function(){