* Plugin Name: GLM Associate - Events Add-On
* Plugin URI: http://www.gaslightmedia.com/
* Description: Gaslight Media Members Database.
- * Version: 1.6.97
+ * Version: 1.6.98
* Author: Chuck Scott
* Author URI: http://www.gaslightmedia.com/
* License: GPL2
* @package glmMembersDatabaseEventsAddOn
* @author Chuck Scott <cscott@gaslightmedia.com>
* @license http://www.gaslightmedia.com Gaslightmedia
- * @version 1.6.97
+ * @version 1.6.98
*/
// Check that we're being called by WordPress.
* so that we're sure the other add-ons see an up to date
* version from this plugin.
*/
-define('GLM_MEMBERS_EVENTS_PLUGIN_VERSION', '1.6.97');
+define('GLM_MEMBERS_EVENTS_PLUGIN_VERSION', '1.6.98');
define('GLM_MEMBERS_EVENTS_PLUGIN_DB_VERSION', '0.1.6');
// This is the minimum version of the GLM Members DB plugin require for this plugin.
<div id="glm-event-wrapper">
- <div class="glmgrid-row glmgrid-collapse">
+ <div class="row collapse">
{include file='front/events/searchForm.html'}
</div>
- <div id="glm-event-agenda-view" class="glmgrid-row">
- <div class="glmgrid-small-12 glmgrid-columns">
+ <div id="glm-event-agenda-view" class="row">
+ <div class="small-12 columns">
{foreach $eventsByDate as $date => $key}
- <div class="glmgrid-row glm-event-day-row">
- <div class="glmgrid-small-12 glmgrid-medium-2 glmgrid-columns">
+ <div class="row glm-event-day-row">
+ <div class="small-12 medium-2 columns">
<div class="glm-event-cal">
<div class="glm-event-cal-month">{$date|date_format:"%b"}</div>
<div class="glm-event-cal-day-container">
</div>
</div>
</div>
- <div class="glmgrid-small-12 glmgrid-medium-10 glmgrid-columns">
+ <div class="small-12 medium-10 columns">
{foreach $key as $events}
{foreach $events as $event}
{$showTime = true}
- <div class="glmgrid-row glm-event-day-event">
- <div class="glmgrid-small-12 glmgrid-columns">
+ <div class="row glm-event-day-event">
+ <div class="small-12 columns">
<h2 class="agenda-event-name">{$event.name}</h2>
{$eventDateTime = $event.starting_date|date_format:"%I:%M %P"}
{foreach $event.recurrences as $rec}
if(view === "calendar"){
eventsCalMonthAJAX(month_obj);
- main_content.removeClass("glmgrid-small-8").addClass("glmgrid-small-12");
+ main_content.removeClass("small-8").addClass("small-12");
calendar.show();
view_select.val('calendar');
<html>
- <div class="success-content glmgrid-row">
- <div class='glm-grid-small-12 glmgrid-columns' id="success">
+ <div class="success-content row">
+ <div class='glm-grid-small-12 columns' id="success">
<p> Processing Form.... </p>
</div>
</div>
<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="glmgrid-row glmgrid-collapse">
- <div class="glmgrid-small-12 glmgrid-large-10 glmgrid-column detail-search-form">
- <div class="glmgrid-row">
+ <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="glmgrid-row glmgrid-collapse"><!-- .glmgrid-row #1 -->
- <div class="glmgrid-small-12 glmgrid-large-12 glmgrid-large-centered-9 glmgrid-column"><!-- .glmgrid-small-12 .glmgrid-large-9 .glmgrid-large-centered .glmgrid-glmgrid-columns -->
+ <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="glmgrid-row"><!-- .glmgrid-row #2 -->
- <div class="glmgrid-small-12 glmgrid-column eventTitle">
+ <div class="row"><!-- .row #2 -->
+ <div class="small-12 column eventTitle">
<h1>{$event.name}</h1>
</div>
{if $event.image}
- <div class="glmgrid-small-12 glmgrid-column event-detail-image">
+ <div class="small-12 column event-detail-image">
<img style="margin: 15px;" src="{$mainImgUrl}{$event.image}">
</div>
{/if}
- <div class="glmgrid-small-12 glmgrid-column"><!-- .glmgrid-small-12 .glmgrid-column -->
- <div class="glmgrid-row"><!-- .glmgrid-row #3 -->
+ <div class="small-12 column"><!-- .small-12 .column -->
+ <div class="row"><!-- .row #3 -->
{if $event.locations}
- <div class="event-google-map glmgrid-small-12 glmgrid-medium-5 glmgrid-medium-uncentered glmgrid-columns">
+ <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>
{/if}
</div>
{elseif $event.member && ($event.use_member_location.value || $event.other_ref_dest) }
- <div class="glmgrid-small-12 glmgrid-medium-5 glmgrid-columns">
+ <div class="small-12 medium-5 columns">
{if $event.member.lat}
<div id="eventDetailMap">
<div id="eventDetail-map" title="Click to enlarge" >map...</div>
{/if}
</div>
{/if}
- <div class="glmgrid-small-12 glmgrid-medium-{if $event.locations || $event.use_member_location.value || $event.other_ref_dest}7{else}12{/if} glmgrid-column">
+ <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}
{/if}
</div>
</div>
- </div><!-- /.glmgrid-row #3 -->
- </div><!-- /.glmgrid-small-12 .glmgrid-column -->
- <div class="glmgrid-small-12 glmgrid-column">
+ </div><!-- /.row #3 -->
+ </div><!-- /.small-12 .column -->
+ <div class="small-12 column">
{$event.descr}
</div>
- </div><!-- /.glmgrid-row #2 -->
- </div><!-- /.glmgrid-small-12 .glmgrid-large-9 .glmgrid-large-centered -->
- </div><!-- /.glmgrid-row .glmgrid-collapse #1 -->
+ </div><!-- /.row #2 -->
+ </div><!-- /.small-12 .large-9 .large-centered -->
+ </div><!-- /.row .collapse #1 -->
{else}
<div>Sorry, No results.</div>
{/if}
<div class="event">
<h5>{$event.name}</h5>
{if $event.image}
- <div class="glmgrid-small-12 text-center glmgrid-medium-4 medium-text-left glmgrid-large-3 glmgrid-columns event-post">
+ <div class="small-12 text-center medium-4 medium-text-left large-3 columns event-post">
<img src="{$mainImgUrl}{$event.image}">
</div>
- <div class="glmgrid-small-12 glmgrid-medium-8 glmgrid-large-9 glmgrid-columns event-post">
+ <div class="small-12 medium-8 large-9 columns event-post">
{else}
- <div class="glmgrid-small-12 glmgrid-columns event-post">
+ <div class="small-12 columns event-post">
{/if}
<p class="post-date">{$event.dates}</p>
<p>{$event.intro}</p>
--- /dev/null
+<div id="glm-event-wrapper">
+ <div class="glmgrid-row glmgrid-collapse">
+ {include file='front/events/searchForm.html'}
+ </div>
+
+ <div id="glm-event-agenda-view" class="glmgrid-row">
+ <div class="glmgrid-small-12 glmgrid-columns">
+ {foreach $eventsByDate as $date => $key}
+ <div class="glmgrid-row glm-event-day-row">
+ <div class="glmgrid-small-12 glmgrid-medium-2 glmgrid-columns">
+ <div class="glm-event-cal">
+ <div class="glm-event-cal-month">{$date|date_format:"%b"}</div>
+ <div class="glm-event-cal-day-container">
+ <span class="glm-event-cal-day">{$date|date_format:"%e"}</span>
+ <span class="glm-event-cal-dow">{$date|date_format:"%a"}</span>
+ </div>
+ </div>
+ </div>
+ <div class="glmgrid-small-12 glmgrid-medium-10 glmgrid-columns">
+ {foreach $key as $events}
+ {foreach $events as $event}
+ {$showTime = true}
+ <div class="glmgrid-row glm-event-day-event">
+ <div class="glmgrid-small-12 glmgrid-columns">
+ <h2 class="agenda-event-name">{$event.name}</h2>
+ {$eventDateTime = $event.starting_date|date_format:"%I:%M %P"}
+ {foreach $event.recurrences as $rec}
+ {$start_time = $rec.start_time.time}
+ {if $start_time == $eventDateTime}
+ {if ($rec.from_date.timestamp == $rec.to_date.timestamp && $rec.from_date.timestamp == $date)
+ or ($date <= $rec.to_date.timestamp && $date >= $rec.from_date.timestamp )}
+ <div class='date-range-container'>
+ {if !$event.all_day}
+ {$showTime = false}
+ {$event_start_time = $event.starting_date|date_format:"%m/%d/%Y"}
+ {$event_start_time = $event_start_time|cat:' '}
+ {$event_start_time = $event_start_time|cat:$rec.start_time.time}
+ {$event_end_time = $event.starting_date|date_format:"%m/%d/%Y"}
+ {$event_end_time = $event_end_time|cat:' '}
+ {$event_end_time = $event_end_time|cat:$rec.end_time.time}
+ {if $event_start_time|date_format:"%l:%M %P" == $event_end_time|date_format:"%l:%M %P"}
+ {$event_start_time|date_format:"%l:%M %P"}
+ {else}
+ {$event_start_time|date_format:"%l:%M %P"} - {$event_end_time|date_format:"%l:%M %P"}
+ {/if}
+
+ {/if}
+ {if $rec.name && $rec.name != 'Imported' && $rec.name != 'Imported Event Schedule' }
+ {$rec.name}
+ {/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}
+ {else if $rec.specific_dates}
+ - {$rec.specific_dates|@end|date_format:"%m/%d/%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 class="agenda-event-weekday"> {$day|substr:0:4} </span>
+ {else}
+ <span class="agenda-event-weekday"> {$day|substr:0:3} </span>
+ {/if}
+ {/foreach}
+
+ </span>
+ {/if}
+ )
+ </div>
+ {/if}
+ {/if}
+ {/foreach}
+ <div class="day-times-wrapper">
+ {if !$event.all_day && $showTime}
+ {if $event.starting_date|date_format:"%l:%M %P" == $event.ending_date|date_format:"%l:%M %P"}
+ <div class="agenda-event-times">{$event.starting_date|date_format:"%l:%M %P"}</div>
+ {else}
+ <div class="agenda-event-times"> {$event.starting_date|date_format:"%l:%M %P"} - {$event.ending_date|date_format:"%l:%M %P"}</div>
+ {/if}
+ {/if}
+ </div>
+ <div class="event-content glm-hide clearfix">
+ {if $event.image}<img style="float:right;" data-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>
+ </div>
+ </div>
+ </div>
+ </div>
+ {/foreach}
+ {/foreach}
+ </div>
+ </div>
+ {/foreach}
+
+ </div>
+ </div>
+ {assign var="current_year" value=$smarty.now|date_format:"%Y"}
+ {assign var="current_month" value=$smarty.now|date_format:"%m"}
+ <div id="event-date-toggle-container">
+ <label class="date-toggle-label" for="#event-date-toggle"> Select a Date <label>
+ <select id="event-date-toggle">
+ <option value="" disabled selected> Select Month</option>
+ {foreach $months as $year=>$month}{
+ {foreach $month as $m=>$value}
+ {if $current_month == $value.date && $current_year == $year}
+ <option value="{$year}-{$value.date}-01" selected> {$value.name} - {$year}</option>
+ {else}
+ <option value="{$year}-{$value.date}-01"> {$value.name} - {$year}</option>
+ {/if}
+ {/foreach}
+ {/foreach}
+ </select>
+ </div>
+ <!-- Calendar -->
+ <div id="eventCalendar" style='position: relative;'>
+ <div class='event-overlay'>
+ <div class="loading"></div>
+ </div>
+ </div>
+</div>
+
+
+
+<script type="text/javascript">
+ jQuery(document).ready(function($) {
+
+ var fullCalendarLoaded = false;
+ var recurrencesInited = false;
+ var locationsInited = false;
+ var table = 'glm-table-calendar';
+ var post_start, post_end, month_obj;
+ var rows = $(".glm-event-day-row");
+ var agenda = $("#glm-event-agenda-view");
+ var view_select = $("#glm-event-view-select");
+ var search = $("#glm-events-search-form");
+ var calendar = $("#eventCalendar");
+ var event_search = $(".glm-search-icon");
+ var main_content = $("#main-content");
+ var member_id = '{$memberId}';
+ var view = '{$cal_view}';
+ var months = '{$json_months}';
+ var category = $('#glm-event-category').val();
+ var current_month = $('{$current_month}');
+ var current_year = $('{$current_year}');
+ var custom_page = '{$customPage}';
+ var page_slug = '{$pageSlug}';
+ var retain_date;
+
+ if(!member_id){
+ member_id = null;
+ }
+
+ // add 7 days to ensure we always get the current month and not any other month view that may
+ // be visible (last few days of previous month or first few days of next month)
+ function get_current_view(){
+ 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(){
+ if($(window).width() < 641 ){
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ $('#glm-event-from').on("change", function(){
+ var from_date = $(this).val();
+ $('#glm-event-to').val(from_date);
+
+ });
+
+ months = JSON.parse(months);
+
+ 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
+ function eventsCalMonthAJAX(month) {
+ var dat = {
+
+ action: 'glm_members_admin_ajax',
+ glm_action: 'eventsCalMonthAJAX',
+ month: month,
+ category: category,
+ member_id: member_id,
+ custom_page: custom_page,
+ page_slug: page_slug
+ };
+ $('.fc-event').remove();
+
+ jQuery.ajax({
+ type: 'POST',
+ url: '{$ajaxUrl}',
+ data: dat,
+ beforeSend: function(){
+ $(".event-overlay").show();
+ $(".loading").show();
+ },
+ complete: function(){
+ $(".event-overlay").hide();
+ $(".loading").hide();
+ },
+ cache: false,
+ success: function (response){
+ var buildingEvents = [];
+ //var events_obj = jQuery.parseJSON(response);
+ var events_obj = response;
+ var events = events_obj.events;
+ buildingEvents = $.map(events, function(i, val) {
+ return {
+ title: i.title,
+ start: i.start,
+ end: i.last,
+ allDay: i.all_day,
+ url: i.url,
+ recurs: i.recurs
+ };
+ });
+ $("#eventCalendar").fullCalendar('removeEvents');
+ $("#eventCalendar").fullCalendar('addEventSource', buildingEvents);
+ }
+ });
+ var timestamp = $.now();
+ var url = '{$ajaxUrl}' + '?t=' + timestamp;
+ }
+ var height = 900;
+ // Calendar *****************************************************
+ $('#eventCalendar').fullCalendar({
+ eventOrder: 'allDay',
+ height: height,
+ contentHeight: height,
+ eventRender: function(event, element){
+ element.attr('title', event.title);
+ },
+ viewRender: function (view, element){
+ post_start = view.start._d;
+ post_end = view.end._d;
+ {literal}month_obj = {start: view.start._d, last: view.end._d};{/literal}
+ },
+ header: {
+ left: 'prev,next,today',
+ center: 'title',
+ right: ''
+ },
+ dayClick: function(date, jsEvent, view) {
+ //$('#eventCalendar').fullCalendar('changeView', 'agendaDay');
+ //$('#eventCalendar').fullCalendar('gotoDate', date);
+ },
+ editable: false,
+ 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,
+ views: {
+ month: {
+ eventLimit: 4,
+ eventBackgroundColor: 'transparent',
+ eventTextColor: '#3A87AD',
+ eventBorderColor: 'transparent',
+ },
+ agenda: {
+ eventLimit: 4
+ }
+ }
+ });
+
+ if(view === "calendar"){
+ eventsCalMonthAJAX(month_obj);
+ main_content.removeClass("glmgrid-small-8").addClass("glmgrid-small-12");
+ calendar.show();
+ view_select.val('calendar');
+
+ } else if ( view === "agenda"){
+ calendar.hide();
+ agenda.css("display", "block");
+ view_select.val('agenda');
+ }
+ $("#glm-event-view-select").on("change", function (){
+ sessionStorage.override = 'no';
+ sessionStorage.setItem("view", $(this).attr("value"));
+ if($("#glm-event-view-select option:selected").val() === "calendar"){
+ eventsCalMonthAJAX(month_obj);
+ agenda.css("display","none");
+ calendar.fadeIn('slow', function(){});
+ calendar.fullCalendar('render');
+
+ } else if ( $("#glm-event-view-select option:selected").val() === "agenda"){
+ agenda.css("display", "block");
+ calendar.fadeOut('slow', function(){});
+ }
+ });
+ $(window).on("load", function(){
+
+ if(sessionStorage.current_calendar_view){
+ $('#event-date-toggle option').each(function(){
+ if( $(this).val() === sessionStorage.current_calendar_view){
+ $(this).prop('selected', true);
+ }
+ });
+ }
+
+ $('#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){
+ sessionStorage.current_calendar_view = '';
+ }
+ });
+ });
+ if(sessionStorage.current_calendar_view){
+ $('#eventCalendar').fullCalendar('gotoDate', sessionStorage.current_calendar_view);
+ eventsCalMonthAJAX(month_obj);
+ }
+ // initialize calendar with AJAX calls *************************************
+ $(document).on("click", "button.fc-button", function () {
+ if(sessionStorage.current_calendar_view){
+ sessionStorage.current_calendar_view = '';
+ }
+
+ eventsCalMonthAJAX(month_obj);
+ });
+
+ $('#eventCalendar').find('.fc-today-button').on("click", function(){
+ eventsCalMonthAJAX(month_obj);
+ var current_view = get_current_view();
+ $('#event-date-toggle option').each(function(){
+ if( $(this).val() === current_view){
+ $(this).prop('selected', true);
+ }
+ });
+ });
+
+ var dates = $(".agenda-event-recur-dates");
+ dates.each( function (){
+ if( $(this).text().indexOf('-') < 0 ){
+ $(this).remove();
+ }
+ });
+
+ });
+</script>
--- /dev/null
+
+<html>
+ <div class="success-content glmgrid-row">
+ <div class='glm-grid-small-12 glmgrid-columns' id="success">
+ <p> Processing Form.... </p>
+ </div>
+ </div>
+
+ <script>
+ jQuery(document).ready(function($){
+ var redirect_url = '{$confirmation_page}';
+ window.location.href = redirect_url;
+ });
+ </script>
+</html>
+
--- /dev/null
+<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="glmgrid-row glmgrid-collapse">
+ <div class="glmgrid-small-12 glmgrid-large-10 glmgrid-column detail-search-form">
+ <div class="glmgrid-row">
+ {include file='front/events/searchForm.html'}
+ </div>
+ </div>
+ </div>
+ {if $event}
+ <div class="glmgrid-row glmgrid-collapse"><!-- .glmgrid-row #1 -->
+ <div class="glmgrid-small-12 glmgrid-large-12 glmgrid-large-centered-9 glmgrid-column"><!-- .glmgrid-small-12 .glmgrid-large-9 .glmgrid-large-centered .glmgrid-glmgrid-columns -->
+ <span id="eventShare" class="st_sharethis" st_title="{$event.name}" st_url="{$permalink}">+ Share</span>
+ <div class="glmgrid-row"><!-- .glmgrid-row #2 -->
+ <div class="glmgrid-small-12 glmgrid-column eventTitle">
+ <h1>{$event.name}</h1>
+ </div>
+ {if $event.image}
+ <div class="glmgrid-small-12 glmgrid-column event-detail-image">
+ <img style="margin: 15px;" src="{$mainImgUrl}{$event.image}">
+ </div>
+ {/if}
+ <div class="glmgrid-small-12 glmgrid-column"><!-- .glmgrid-small-12 .glmgrid-column -->
+ <div class="glmgrid-row"><!-- .glmgrid-row #3 -->
+ {if $event.locations}
+ <div class="event-google-map glmgrid-small-12 glmgrid-medium-5 glmgrid-medium-uncentered glmgrid-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="glmgrid-small-12 glmgrid-medium-5 glmgrid-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="glmgrid-small-12 glmgrid-medium-{if $event.locations || $event.use_member_location.value || $event.other_ref_dest}7{else}12{/if} glmgrid-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 target="_blank" href="{$event.ticket_url}"><strong>Tickets</strong></a></div>
+ {/if}
+ {if $event.registration_url}
+ <div id="glm-event-detail-registrations"><a target="_blank" 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}" target="_blank">{$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><!-- /.glmgrid-row #3 -->
+ </div><!-- /.glmgrid-small-12 .glmgrid-column -->
+ <div class="glmgrid-small-12 glmgrid-column">
+ {$event.descr}
+ </div>
+ </div><!-- /.glmgrid-row #2 -->
+ </div><!-- /.glmgrid-small-12 .glmgrid-large-9 .glmgrid-large-centered -->
+ </div><!-- /.glmgrid-row .glmgrid-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();
+
+
+ {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 © <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 © <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>
+
--- /dev/null
+{if $events}
+ {foreach $events as $event}
+ <div class="event">
+ <h5>{$event.name}</h5>
+ {if $event.image}
+ <div class="glmgrid-small-12 text-center glmgrid-medium-4 medium-text-left glmgrid-large-3 glmgrid-columns event-post">
+ <img src="{$mainImgUrl}{$event.image}">
+ </div>
+ <div class="glmgrid-small-12 glmgrid-medium-8 glmgrid-large-9 glmgrid-columns event-post">
+ {else}
+ <div class="glmgrid-small-12 glmgrid-columns event-post">
+ {/if}
+ <p class="post-date">{$event.dates}</p>
+ <p>{$event.intro}</p>
+ <a href="{$siteBaseUrl}{$pageSlug}/{if !$customPage}{$event.name_slug}/{else}?eventId={$event.id}{/if}">find out more...</a>
+ </div>
+ </div>
+ {/foreach}
+{/if}
--- /dev/null
+{if $settings.detail_show_events && $eventsByDate}
+<div id="glm-member-detail-events-toggle" class="glm-member-detail-content-toggle">Events</div>
+<div id="glm-member-detail-events-container" class="glm-member-detail-content-data">
+
+ <div id="glm-event-wrapper">
+ {foreach $eventsByDate as $date => $key}
+ <div class="glmgrid-row glm-event-day-row">
+ <div class="glmgrid-small-4 glmgrid-medium-3 glmgrid-large-2 glmgrid-columns">
+ <div class="glm-event-cal">
+ <div class="glm-event-cal-month">{$date|date_format:"%b"}</div>
+ <div class="glm-event-cal-day-container">
+ <span class="glm-event-cal-day">{$date|date_format:"%e"}</span>
+ <span class="glm-event-cal-dow">{$date|date_format:"%a"}</span>
+ </div>
+ </div>
+ </div>
+ <div class="glmgrid-small-8 glmgrid-medium-9 glmgrid-large-10 glmgrid-columns">
+ {foreach $key as $events}
+ {foreach $events as $event}
+ <div class="glmgrid-row glm-event-day-event">
+ <div class="glmgrid-small-12 glmgrid-column">
+ <h2>{$event.name}</h2>
+ {if !$event.all_day}
+ {if $event.starting_date|date_format:"%l:%M %P" == $event.ending_date|date_format:"%l:%M %P"}
+ {$event.starting_date|date_format:"%l:%M %P"}
+ {else}
+ {$event.starting_date|date_format:"%l:%M %P"} - {$event.ending_date|date_format:"%l:%M %P"}
+ {/if}
+ {/if}
+ <div class="event-content glm-hide clearfix">
+ {if $event.image}<img style="float:right;" src="{$imgUrl}{$event.image}">{/if}
+ {$event.intro}
+ <div>
+ <a class="glm-read-more" href="{$siteBaseUrl}event-detail/{$event.name_slug}/?glm_event_from={$fromDate|unescape:"html"}">Read More</a>
+ </div>
+ </div>
+ </div>
+ </div>
+ {/foreach}
+ {/foreach}
+ </div>
+ </div>
+ {/foreach}
+ </div>
+</div>
+{/if}
--- /dev/null
+<script>
+ var ajaxUrl = '{$ajaxUrl}';
+</script>
+{if !$eventId}
+ <div id="glm-events-search-form" class="glmgrid-small-12 glmgrid-columns">
+ <h1>Find An Event</h1>
+ <form action="{$currentUrl}">
+ <input type="hidden" name="search" value="1">
+ <div class="glmgrid-row">
+ <div class="glmgrid-small-12 glmgrid-medium-5 glmgrid-columns">
+ <input class="glm-search-icon right" type="image" alt="Search" src="{$assetsUrl}search-icon-24x24.png">
+ <input id="glm-event-name" name="event_name" placeholder="Event Name" value="{$eventName}">
+ </div>
+
+ <div class="glmgrid-small-12 glmgrid-small-text-center glmgrid-medium-7 glmgrid-medium-text-right glmgrid-columns">
+ <a id="glm-event-add-event" href="{$siteBaseUrl}add-event/" class="tiny button success">Add an Event</a>
+ </div>
+ </div>
+ <div class="glmgrid-row">
+ <div class="glmgrid-small-12 glmgrid-columns">
+ <hr />
+ </div>
+ </div>
+ </form>
+ <form id="glm-member-event-search" action="{$currentUrl}" method="get">
+ <input type="hidden" name="search" value="1">
+ <input type="hidden" name="override_default" value="yes">
+ <div class="glmgrid-row">
+ <div class="glmgrid-small-6 glmgrid-medium-3 glmgrid-column">
+ <div class="glmgrid-row glmgrid-collapse glmgrid-prefix-radius">
+ <div class="glmgrid-small-3 glmgrid-columns">
+ <span class="glmgrid-prefix">From</span>
+ </div>
+ <div class="glmgrid-small-9 glmgrid-columns">
+ <input id="glm-event-from" name="glm_event_from" value="{$fromDate}">
+ </div>
+ </div>
+ </div>
+ <div class="glmgrid-small-6 glmgrid-medium-3 glmgrid-column">
+ <div class="glmgrid-row glmgrid-collapse glmgrid-prefix-radius">
+ <div class="glmgrid-small-3 glmgrid-columns">
+ <span class="glmgrid-prefix">To</span>
+ </div>
+ <div class="glmgrid-small-9 glmgrid-columns">
+ <input id="glm-event-to" name="glm_event_to" value="{$toDate}">
+ </div>
+ </div>
+ </div>
+ <div class="glmgrid-small-8 glmgrid-medium-4 glmgrid-column">
+ <input class="glm-search-icon right" type="image" alt="Search" src="{$assetsUrl}search-icon-24x24.png">
+ <select id="glm-event-category" name="category">
+ <option value="0">-- All Categories --</option>
+ {foreach $categories as $cat}
+ <option value="{$cat.id}"{if $cat.default == 1} selected{/if}>{$cat.name}</option>
+ {/foreach}
+ </select>
+ </div>
+ <div class="glmgrid-small-4 glmgrid-medium-2 glmgrid-column">
+ {if !$eventId}
+ <input class="right" type="image" title="Print PDF" id="glm-event-pdf-submit" src="{$assetsUrl}print-icon-24x24.png">
+ {else}
+ {/if}
+ <a href="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=rssFeed{if $eventId}&eventId={$eventId}{/if}">
+ <img class="right" title="RSS Feed" id="glm-event-rss-feed" src="{$assetsUrl}rss-icon-24x24.png" />
+ </a>
+ <a href="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=icalFeed&ical=1{if $eventId}&eventId={$eventId}{/if}">
+ <img class="right" title="iCal Feed" id="glm-event-ical-feed" src="{$assetsUrl}calendar-icon-24x24.png" />
+ </a>
+ </div>
+ </div>
+ </form>
+ </div>
+{else}
+ <!-- <div class="glmgrid-small-8 glmgrid-medium-10 glmgrid-columns"></div> -->
+ <div class="glmgrid-small-5 glmgrid-small-start-8 glmgrid-medium-start-11 glmgrid-medium-2 glmgrid-column">
+ {if !$eventId}
+ <input class="right" type="image" title="Print PDF" id="glm-event-pdf-submit" src="{$assetsUrl}print-icon-24x24.png">
+ {else}
+ {/if}
+ <a href="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=rssFeed{if $eventId}&eventId={$eventId}{/if}">
+ <img class="right" title="RSS Feed" id="glm-event-rss-feed" src="{$assetsUrl}rss-icon-24x24.png" />
+ </a>
+ <a href="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=icalFeed&ical=1{if $eventId}&eventId={$eventId}{/if}">
+ <img class="right" title="iCal Feed" id="glm-event-ical-feed" src="{$assetsUrl}calendar-icon-24x24.png" />
+ </a>
+ </div>
+{/if}
+<div class="glmgrid-small-12 glmgrid-columns view-select">
+ <select id="glm-event-view-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(){
+ jQuery('#glm-member-event-search').attr('method', 'post');
+ });
+ });
+</script>
<div id="glm-event-wrapper">
{foreach $eventsByDate as $date => $key}
- <div class="glmgrid-row glm-event-day-row">
- <div class="glmgrid-small-4 glmgrid-medium-3 glmgrid-large-2 glmgrid-columns">
+ <div class="row glm-event-day-row">
+ <div class="small-4 medium-3 large-2 columns">
<div class="glm-event-cal">
<div class="glm-event-cal-month">{$date|date_format:"%b"}</div>
<div class="glm-event-cal-day-container">
</div>
</div>
</div>
- <div class="glmgrid-small-8 glmgrid-medium-9 glmgrid-large-10 glmgrid-columns">
+ <div class="small-8 medium-9 large-10 columns">
{foreach $key as $events}
{foreach $events as $event}
- <div class="glmgrid-row glm-event-day-event">
- <div class="glmgrid-small-12 glmgrid-column">
+ <div class="row glm-event-day-event">
+ <div class="small-12 column">
<h2>{$event.name}</h2>
{if !$event.all_day}
{if $event.starting_date|date_format:"%l:%M %P" == $event.ending_date|date_format:"%l:%M %P"}
var ajaxUrl = '{$ajaxUrl}';
</script>
{if !$eventId}
- <div id="glm-events-search-form" class="glmgrid-small-12 glmgrid-columns">
+ <div id="glm-events-search-form" class="small-12 columns">
<h1>Find An Event</h1>
<form action="{$currentUrl}">
<input type="hidden" name="search" value="1">
- <div class="glmgrid-row">
- <div class="glmgrid-small-12 glmgrid-medium-5 glmgrid-columns">
+ <div class="row">
+ <div class="small-12 medium-5 columns">
<input class="glm-search-icon right" type="image" alt="Search" src="{$assetsUrl}search-icon-24x24.png">
<input id="glm-event-name" name="event_name" placeholder="Event Name" value="{$eventName}">
</div>
- <div class="glmgrid-small-12 glmgrid-small-text-center glmgrid-medium-7 glmgrid-medium-text-right glmgrid-columns">
+ <div class="small-12 small-text-center medium-7 medium-text-right columns">
<a id="glm-event-add-event" href="{$siteBaseUrl}add-event/" class="tiny button success">Add an Event</a>
</div>
</div>
- <div class="glmgrid-row">
- <div class="glmgrid-small-12 glmgrid-columns">
+ <div class="row">
+ <div class="small-12 columns">
<hr />
</div>
</div>
<form id="glm-member-event-search" action="{$currentUrl}" method="get">
<input type="hidden" name="search" value="1">
<input type="hidden" name="override_default" value="yes">
- <div class="glmgrid-row">
- <div class="glmgrid-small-6 glmgrid-medium-3 glmgrid-column">
- <div class="glmgrid-row glmgrid-collapse glmgrid-prefix-radius">
- <div class="glmgrid-small-3 glmgrid-columns">
- <span class="glmgrid-prefix">From</span>
+ <div class="row">
+ <div class="small-6 medium-3 column">
+ <div class="row collapse prefix-radius">
+ <div class="small-3 columns">
+ <span class="prefix">From</span>
</div>
- <div class="glmgrid-small-9 glmgrid-columns">
+ <div class="small-9 columns">
<input id="glm-event-from" name="glm_event_from" value="{$fromDate}">
</div>
</div>
</div>
- <div class="glmgrid-small-6 glmgrid-medium-3 glmgrid-column">
- <div class="glmgrid-row glmgrid-collapse glmgrid-prefix-radius">
- <div class="glmgrid-small-3 glmgrid-columns">
- <span class="glmgrid-prefix">To</span>
+ <div class="small-6 medium-3 column">
+ <div class="row collapse prefix-radius">
+ <div class="small-3 columns">
+ <span class="prefix">To</span>
</div>
- <div class="glmgrid-small-9 glmgrid-columns">
+ <div class="small-9 columns">
<input id="glm-event-to" name="glm_event_to" value="{$toDate}">
</div>
</div>
</div>
- <div class="glmgrid-small-8 glmgrid-medium-4 glmgrid-column">
+ <div class="small-8 medium-4 column">
<input class="glm-search-icon right" type="image" alt="Search" src="{$assetsUrl}search-icon-24x24.png">
<select id="glm-event-category" name="category">
<option value="0">-- All Categories --</option>
{/foreach}
</select>
</div>
- <div class="glmgrid-small-4 glmgrid-medium-2 glmgrid-column">
+ <div class="small-4 medium-2 column">
{if !$eventId}
<input class="right" type="image" title="Print PDF" id="glm-event-pdf-submit" src="{$assetsUrl}print-icon-24x24.png">
{else}
</form>
</div>
{else}
- <!-- <div class="glmgrid-small-8 glmgrid-medium-10 glmgrid-columns"></div> -->
- <div class="glmgrid-small-5 glmgrid-small-start-8 glmgrid-medium-start-11 glmgrid-medium-2 glmgrid-column">
+ <!-- <div class="small-8 medium-10 columns"></div> -->
+ <div class="small-8 medium-10 columns">
{if !$eventId}
<input class="right" type="image" title="Print PDF" id="glm-event-pdf-submit" src="{$assetsUrl}print-icon-24x24.png">
{else}
</a>
</div>
{/if}
-<div class="glmgrid-small-12 glmgrid-columns view-select">
+<div class="small-12 columns view-select">
<select id="glm-event-view-select">
<option id="agenda-view-option" value="agenda"> Agenda View </option>
<option id="calendar-view-option" value="calendar"> Calendar View </option>