Update detail page to remove target to open new tab
authorSteve Sutton <steve@gaslightmedia.com>
Thu, 11 Oct 2018 19:07:11 +0000 (15:07 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Thu, 11 Oct 2018 19:07:11 +0000 (15:07 -0400)
custom view file.

glm-member-db-events/views/front/events/detail.html [new file with mode: 0755]
style.css

diff --git a/glm-member-db-events/views/front/events/detail.html b/glm-member-db-events/views/front/events/detail.html
new file mode 100755 (executable)
index 0000000..11d60a4
--- /dev/null
@@ -0,0 +1,279 @@
+<div id="glm-event-wrapper" class="event-detail text-left"><!-- #glm-event-wrapper -->
+    <a id="glm-event-detail-takeback-mini" class="glm-member-db-takeback-mini button glm-member-button" href="javascript:history.go(-1)"><span>Back To Search</span></a>
+    <div class="row collapse">
+        <div class="small-12 large-8 large-small-centered column detail-search-form">
+            <div class="row">
+                {include file='front/events/searchForm.html'}
+            </div>
+        </div>
+    </div>
+    {if $event}
+    <div class="row"><!-- .row #1 -->
+        <div class="small-12 large-9 large-centered column"><!-- .small-12 .large-9 .large-centered .columns -->
+            <span id="eventShare" class="st_sharethis" st_title="{$event.name}" st_url="{$permalink}">+ Share</span>
+            <div class="row"><!-- .row #2 -->
+                <div class="small-12 column eventTitle">
+                    <h1>{$event.name}</h1>
+                </div>
+                {if $event.image}
+                <div class="small-12 column event-detail-image">
+                    <img style="margin: 15px;" src="{$mainImgUrl}{$event.image}">
+                </div>
+                {/if}
+                <div class="small-12 column"><!-- .small-12 .column -->
+                    <div class="row"><!-- .row #3 -->
+                        {if $event.locations}
+                            <div class="event-google-map small-12 medium-5 medium-uncentered columns">
+                                {if $event.locations.lat && $event.locations.address}
+                                    <div id="eventDetailMap">
+                                        <div id="eventDetail-map" title="Click to enlarge">map...</div>
+                                        <div id="map-dialog"><div id="map_canvas" style="width:500px; height:400px">Loading...</div></div>
+                                    </div>
+                                    <div id="event-lat" rel="{$event.locations.lat}"></div>
+                                    <div id="event-lon" rel="{$event.locations.lon}"></div>
+                                    <form id="EventDrivingDirectionsForm" name="EventDrivingDirectionsForm" flexy:ignore="yes" method="post" action="">
+                                        <input type="hidden" id="EventLocation" name="EventLocation" value="{$event.locations.name}">
+                                        <input type="hidden" id="EventLat" name="EventLat" value="{$event.locations.lat}">
+                                        <input type="hidden" id="EventLon" name="EventLon" value="{$event.locations.lon}">
+                                    <input type="submit" class="button tiny text-center" id="EventDrivingDirectionSubmit" name="EventDrivingDirectionSubmit" value="Get Driving Directions">
+                                </form>
+                            {/if}
+                        </div>
+                    {elseif $event.member && ($event.use_member_location.value || $event.other_ref_dest) }
+                        <div class="small-12 medium-5 columns">
+                            {if $event.member.lat}
+                                <div id="eventDetailMap">
+                                    <div id="eventDetail-map" title="Click to enlarge" >map...</div>
+                                    <div id="map-dialog"><div id="map_canvas" style="width:500px; height:400px">Loading...</div></div>
+                                </div>
+                                <div id="event-lat" rel="{$event.member.lat}"></div>
+                                <div id="event-lon" rel="{$event.member.lon}"></div>
+                                <form id="EventDrivingDirectionsForm" name="EventDrivingDirectionsForm" flexy:ignore="yes" method="post" action="">
+                                    <input type="hidden" id="EventLocation" name="EventLocation" value="{$event.member.member_name}">
+                                    <input type="hidden" id="EventLat" name="EventLat" value="{$event.member.lat}">
+                                    <input type="hidden" id="EventLon" name="EventLon" value="{$event.member.lon}">
+                                    <input type="submit" class="button tiny text-center" id="EventDrivingDirectionSubmit" name="EventDrivingDirectionSubmit" value="Get Driving Directions">
+                                </form>
+                            {/if}
+                        </div>
+                    {/if}
+                    <div class="small-12 medium-{if $event.locations || $event.use_member_location.value || $event.other_ref_dest}7{else}12{/if} column">
+                        <div id="glm-event-detail-dates">
+                            {$lastDate = ''}
+                            {foreach $event.recurrences as $rec}
+
+                                {$eDate = $rec.from_date.timestamp|date_format:"%A, %B %e, %Y"}
+                                {if $eDate != $lastDate}
+                                    {$lastDate = $eDate}
+                                    <div class="glm-event-date">
+                                        <span class="date-tag"></span>
+                                        <span class="glm-date-display">
+                                    {if $event.recurrences.0.recurring.value == 1} Occurring {/if}
+
+                                    {$eDate}
+                                        {if $rec.from_date.date != $rec.to_date.date}
+                                            - {$rec.to_date.timestamp|date_format:"%B %e, %Y"}
+                                        {else if $rec.specific_dates}
+                                            - {$rec.specific_dates|@end|date_format:"%B %e, %Y"}
+                                        {/if}
+
+                                        </span>
+
+                                        {if $rec.day_of_week.names|@count < 7 && $rec.day_of_week.names|@count > 0 }
+                                            <span class="agenda-days-of-week">
+                                            on
+                                            {foreach $rec.day_of_week.names as $day}
+                                                {if $day == "Thursday"}
+                                                    <span> {$day|substr:0:4} </span>
+                                                {else}
+                                                    <span> {$day|substr:0:3} </span>
+                                                 {/if}
+                                             {/foreach}
+
+                                            </span>
+                                        {/if}
+
+                                    </div>
+                                {/if}
+                                {if !$event.all_day}
+                                    <div class="glm-event-times">
+                                        <span class="time-tag"></span>
+                                        <span>
+                                            {if $rec.start_time.time == $rec.end_time.time || $rec.start_time_only.value}
+                                                {$rec.start_time.time|strtotime|date_format:"%l:%M %P"}
+                                            {else}
+                                                {$rec.start_time.time|strtotime|date_format:"%l:%M %P"} - {$rec.end_time.time|strtotime|date_format:"%l:%M %P"}
+                                            {/if}
+                                            {if $rec.name && $rec.name != 'Imported' && $rec.name != 'Imported Event Schedule' }
+                                                {$rec.name}
+                                            {/if}
+                                            {if $expired} <span style="color:red;"> (Expired) </span> {/if}
+                                        </span>
+                                    </div>
+                                {else}
+                                    {if $rec.name && $rec.name != 'Imported' && $rec.name != 'Imported Event Schedule' }
+                                        {$rec.name}
+                                    {/if}
+
+                                    {if $expired} <span style="color:red;"> (Expired) </span> {/if}
+                                {/if}
+                            {/foreach}
+                            </div>
+                            {if $event.hide_address.name == 'No'}
+                                {if !$event.use_member_location.value && ($event.locations.name || $event.locations.address)}
+                                    <div id="glm-event-detail-location">
+                                    {if $event.locations.name}{$event.locations.name}<br>{/if}
+                                    {if $event.locations.address} {$event.locations.address}<br> {/if}
+                                    {if $event.locations.city.name}{$event.locations.city.name}{/if}{if $event.locations.state.value}, {$event.locations.state.value} {/if}
+                                    {if $event.locations.zip} {$event.locations.zip} {/if}
+                                    {if $event.locations.phone} {apply_filters('glm_associate_phone_filter', $event.locations.phone)} {/if}
+                                    </div>
+                                {elseif $event.use_member_location.value || $event.other_ref_dest}
+                                    <div id="glm-event-detail-location">
+                                    {if $event.member.member} {$event.member.member}<br> {/if}
+                                    {if $event.member.addr1} {$event.member.addr1}<br> {/if}
+                                    {if $event.member.city}{$event.member.city}{/if}{if $event.member.state.value}, {$event.member.state.value}{/if}
+                                    {if $event.member.zip} {$event.member.zip} {/if}
+                                    </div>
+                                {/if}
+                            {/if}
+                            {if $event.cost && !$event.free.value}
+                            <div id="glm-event-detail-cost"><strong>Cost: </strong>{$event.cost}</div>
+                            {/if}
+                            {if $event.free.value}
+                            <div id="glm-event-detail-cost"><strong>Cost: </strong>FREE</div>
+                            {/if}
+                            {if $event.ticket_url}
+                            <div id="glm-event-detail-tickets"><a href="{$event.ticket_url}"><strong>Tickets</strong></a></div>
+                            {/if}
+                            {if $event.registration_url}
+                            <div id="glm-event-detail-registrations"><a href="{$event.registration_url}"><strong>Registration</strong></a></div>
+                            {/if}
+
+                            <div id="glm-event-detail-contact"><strong>Contact & More Info</strong><br>
+                                {if $event.url}<a href="{$event.url}">{$event.url}</a><br>{/if}
+                                {if $event.contact_name}Contact: {$event.contact_name}<br>{/if}
+                                {if $event.contact_email}Email: <a href="mailto: {$event.contact_email}">{$event.contact_email}</a><br>{/if}
+                                {if $event.contact_phone}
+                                    <span class="glm-event-detail-contact-phone">
+                                        <span class="glm-field-title">Phone: </span>
+                                        <span class="glm-field-value">{apply_filters('glm_associate_phone_filter', $event.contact_phone)}</span>
+                                    </span><br>
+                                {/if}
+                                {if $event.file1}
+                                <div>File:
+                                    <a href="{$filePathUrl}{$event.file1}">{if $event.file1_descr}{$event.file1_descr}{else}{$event.file1}{/if}</a>
+                                </div>
+                            {/if}
+                            {if $event.file2}
+                                <div>File 2:
+                                    <a href="{$filePathUrl}{$event.file2}">{if $event.file2_descr}{$event.file2_descr}{else}{$event.file2}{/if}</a>
+                                </div>
+                            {/if}
+                            {if $event.file3}
+                                <div>File 3:
+                                    <a href="{$filePathUrl}{$event.file3}">{if $event.file3_descr}{$event.file3_descr}{else}{$event.file3}{/if}</a>
+                                </div>
+                            {/if}
+                            </div>
+                        </div>
+                    </div><!-- /.row #3 -->
+                </div><!-- /.small-12 .column -->
+                <div class="small-12 column">
+                    {$event.descr}
+                </div>
+            </div><!-- /.row #2 -->
+        </div><!-- /.small-12 .large-9 .large-centered -->
+    </div><!-- /.row .collapse #1 -->
+    {else}
+    <div>Sorry, No results.</div>
+    {/if}
+</div><!-- /#glm-event-wrapper -->
+<script type="text/javascript">
+    jQuery(document).ready( function ($){
+        var view_select = $("#glm-event-view-select");
+        view_select.hide();
+
+        // Expand the takeback button in small views.
+        if ( $(window).width() < 1024 ) {
+            $("#glm-event-detail-takeback-mini").css('width','190px');
+            $("#glm-event-detail-takeback-mini span").css('opacity','1');
+        }
+
+        {if $settings.selected_map_interface == 1}
+
+        /*
+         *  Leaflet Map
+         *  API reference: https://leafletjs.com/reference-1.3.2.html
+         */
+
+        // Get member location if available, otherwise use this site's default locatgion
+        var myLocation = false;
+        var eventLat = $("#event-lat").attr('rel');
+        var eventLon = $("#event-lon").attr('rel');
+        var mapType = "eventDetail-map";
+        var mapOptions = { dragging: false, zoomControl: false };
+        var attributionText = 'Map &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> Contrib, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>';
+
+        function initMap() {
+
+            var leafletMap = L.map(mapType, mapOptions ).setView([eventLat, eventLon], {$settings.maps_default_zoom});
+            var leafletTileServer = '{$settings.leaflet_tile_server}/{$settings.leaflet_tile_server_key}/' + {literal}'{z}/{x}/{y}.png'{/literal};
+            var leafletMinZoom = 5;
+            var leafletMaxZoom = 18;
+            var geocoder;
+
+            // Tile server
+            L.tileLayer(leafletTileServer, {
+                attribution: attributionText,
+                minZoom: leafletMinZoom,
+                maxZoom: leafletMaxZoom,
+                id: 'nothot'
+            }).addTo(leafletMap);
+
+            var loadingControl = L.Control.loading({
+                separate: true,
+                delayIndicator: 500
+            });
+            leafletMap.addControl(loadingControl);
+
+            // Marker
+            var leafletMarker = L.marker([eventLat, eventLon]).addTo(leafletMap);
+
+        }
+
+        $(window).load(function(){
+            initMap();
+        });
+
+        jQuery('#map-dialog').dialog({
+            height: 490,
+            width: 630,
+            modal: true,
+            autoOpen: false
+        });
+
+        var largeMapInit = false;
+        jQuery("#eventDetail-map").click(function(e){
+            e.preventDefault();
+            jQuery("#map-dialog").dialog('open');
+            if (!largeMapInit) {
+                mapType = "map_canvas";
+                mapOptions = {};
+                attributionText = 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.gaslightmedia.com/">Gaslight Media</a>';
+                initMap();
+                largeMapinit = true;
+            }
+        });
+
+  {/if}
+
+
+        // Replace the phone separation character with whatever is set in the management
+        {if $settings.phone_infix}
+            //var processedPhone = $('.glm-event-detail-contact-phone .glm-field-value').text().trim().replace(/[^a-zA-Z0-9 ]/g, '{$settings.phone_infix}');
+            //$('.glm-event-detail-contact-phone .glm-field-value').text(processedPhone);
+        {/if}
+    });
+</script>
+
index 02b279b..5ad7376 100644 (file)
--- a/style.css
+++ b/style.css
@@ -3,5 +3,5 @@ Theme Name: Char-EM ISD
 Author: Gaslight Media
 Author URI: http://www.gaslightmedia.com
 Description: A theme for Char EM ISD
-Version: 1.0.5
+Version: 1.0.6
 */