From 1954fa83e9a20891489eb5276f7c64588488ad02 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Tue, 19 Apr 2016 16:50:56 -0400 Subject: [PATCH] Updates for the event outputs. I fixed the Agenda output so the event with same time isn't overriding other events when arranged by the days. (adding the event id to the time before the sorting is done) Output the member location if it is used for the event. --- classes/data/dataEvents.php | 24 ++++++++++++++------ models/admin/management/events.php | 6 ++--- models/front/events/list.php | 35 +++++++++++++++++++++--------- views/front/events/agenda.html | 10 +++++---- views/front/events/detail.html | 8 +++++++ 5 files changed, 59 insertions(+), 24 deletions(-) diff --git a/classes/data/dataEvents.php b/classes/data/dataEvents.php index 8d5be8c..06a6fc6 100644 --- a/classes/data/dataEvents.php +++ b/classes/data/dataEvents.php @@ -503,6 +503,7 @@ class GlmDataEvents extends GlmDataAbstract // get the first element of times array if ( !empty( $times ) ) { $r['starting_date'] = $times[key($times)]['start_time']['datetime']; + $r['all_day'] = $times[key($times)]['all_day']['value']; $r['starting_timestamp'] = strtotime($times[key($times)]['start_time']['datetime']); end($times); // goto the last element of the array $r['ending_date'] = $times[key($times)]['end_time']['datetime']; @@ -511,13 +512,22 @@ class GlmDataEvents extends GlmDataAbstract } if ($this->postAddLocations) { $r['locations'] = array(); - include_once GLM_MEMBERS_EVENTS_PLUGIN_CLASS_PATH . '/data/dataLocations.php'; - $locationData = new GlmDataEventsLocations( $this->wpdb, $this->config ); - $where = "T.event = {$r['id']}"; - $locations = $locationData->getList( $where ); - //echo '
$locations: ' . print_r($locations, true) . '
'; - if ( !empty( $locations ) ) { - $r['locations'] = $locations[key($locations)]; + if ($r['use_member_location'] ) { + include_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataMemberInfo.php'; + $memberData = new GlmDataMemberInfo( $this->wpdb, $this->config ); + $member = $memberData->getActiveInfoForMember((int)$r['ref_dest_id']); + $r['member'] = $member; + //echo '
$member: ' . print_r($member, true) . '
'; + //exit; + } else { + include_once GLM_MEMBERS_EVENTS_PLUGIN_CLASS_PATH . '/data/dataLocations.php'; + $locationData = new GlmDataEventsLocations( $this->wpdb, $this->config ); + $where = "T.event = {$r['id']}"; + $locations = $locationData->getList( $where ); + //echo '
$locations: ' . print_r($locations, true) . '
'; + if ( !empty( $locations ) ) { + $r['locations'] = $locations[key($locations)]; + } } } if ($this->postAddRecurrences) { diff --git a/models/admin/management/events.php b/models/admin/management/events.php index 890580e..4436c82 100644 --- a/models/admin/management/events.php +++ b/models/admin/management/events.php @@ -764,7 +764,6 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement if ( $allDates && ( $event['bdate'] == $event['edate'] ) ) { $allDates = 0; } - $allDay = $event['all_day']; $dayOfWeek = $monthOfYear = $weekOfMonth = @@ -797,8 +796,9 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement } $monthOfYear = 4095; } - $btime = $this->getTime($event['btime']); - $etime = $this->getTime($event['etime']); + $btime = $this->getTime($event['btime']); + $etime = $this->getTime($event['etime']); + $allDay = ( $event['all_day'] || !$event['btime'] ); $recurData =array( 'event' => $eventId, 'start_time' => $btime, diff --git a/models/front/events/list.php b/models/front/events/list.php index 397db4c..10654eb 100644 --- a/models/front/events/list.php +++ b/models/front/events/list.php @@ -191,7 +191,6 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction } break; case 'pdf': - //include_once '/var/www/localhost/Setasign/SetaPDF-Core_2.18.0.817_Ioncubed-PHP5.4/library/SetaPDF/Autoload.php'; include_once GLM_MEMBERS_EVENTS_PLUGIN_PATH . '/SetaPDF/Autoload.php'; $this->postAddLocations = true; $this->postAddRecurrences = true; @@ -279,12 +278,14 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction $eventDates .= ' (' . implode(', ', $daysOfWeek) . ')'; } } - $startTime = strftime( "%l:%M %P", strtotime( $event['starting_date'] ) ); - $endTime = strftime( "%l:%M %P", strtotime( $event['ending_date'] ) ); - if ( $startTime != $endTime ) { - $eventDates .= " {$startTime} - {$endTime}"; - } else { - $eventDates .= " {$startTime}"; + if ( !$event['all_day'] ) { + $startTime = strftime( "%l:%M %P", strtotime( $event['starting_date'] ) ); + $endTime = strftime( "%l:%M %P", strtotime( $event['ending_date'] ) ); + if ( $startTime != $endTime ) { + $eventDates .= " {$startTime} - {$endTime}"; + } else { + $eventDates .= " {$startTime}"; + } } $dates->setText($eventDates); $lineCount = $dates->getLineCount(); @@ -301,13 +302,25 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction $pdfY -= self::LINE_HEIGHT; if ( isset($event['locations']) && !empty($event['locations']) && $event['hide_address']['name'] == 'No' ) { - $address = array(); + $address = array(); $address[] = $event['locations']['name']; $address[] = $event['locations']['address']; $address[] = $event['locations']['city']['name']; $address[] = $event['locations']['state']['name']; $address[] = $event['locations']['zip']; - $location = new SetaPDF_Core_Text_Block( $font, self::PDF_FONT_SIZE ); + $location = new SetaPDF_Core_Text_Block( $font, self::PDF_FONT_SIZE ); + + $location->setText(implode(', ', $address)); + $location->draw($page->getCanvas(), self::PDF_LFT_COL_X, $pdfY); + $pdfY -= self::LINE_HEIGHT; + } else if (isset($event['use_member_location']['value']) && $event['hide_address']['name'] == 'No') { + $address = array(); + $address[] = $event['member']['member']; + $address[] = $event['member']['addr1']; + $address[] = $event['member']['city']; + $address[] = $event['member']['state']['value']; + $address[] = $event['member']['zip']; + $location = new SetaPDF_Core_Text_Block( $font, self::PDF_FONT_SIZE ); $location->setText(implode(', ', $address)); $location->draw($page->getCanvas(), self::PDF_LFT_COL_X, $pdfY); @@ -440,13 +453,15 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction $event['starting_date'] = $eventTime['start_time']['timestamp']; $event['ending_date'] = $eventTime['end_time']['timestamp']; //$eventsByDate[$eventDateTime][$eventTime['start_time']['timestamp']][] = $event; - $eventsByDate[$eventDateTime][][$event['starting_date']] = $event; + $eventsByDate[$eventDateTime][][$event['starting_date'] . '-' . $event['id']] = $event; // if there's a name search stop for the first occurrence of that event if ( $action == 'event-list-name' ) { break; } } } + //echo '
$events: ' . print_r($events, true) . '
'; + //echo '
$eventsByDate: ' . print_r($eventsByDate, true) . '
'; ksort($eventsByDate); foreach ($eventsByDate as $eventDate => &$eventgroup ) { diff --git a/views/front/events/agenda.html b/views/front/events/agenda.html index b145114..4865a37 100644 --- a/views/front/events/agenda.html +++ b/views/front/events/agenda.html @@ -59,10 +59,12 @@

{$event.name}

- {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 !$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}
{if $event.image}{/if} diff --git a/views/front/events/detail.html b/views/front/events/detail.html index 363c41f..bd248b8 100644 --- a/views/front/events/detail.html +++ b/views/front/events/detail.html @@ -36,17 +36,25 @@
{$event.dates}
+ {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}
{if $event.hide_address.name == 'No' }
+ {if !$event.use_member_location.value} {if $event.locations.name}{$event.locations.name}
{/if} {$event.locations.address}
{$event.locations.city.name}, {$event.locations.state.value} {$event.locations.zip} + {else} + {$event.member.member}
+ {$event.member.addr1}
+ {$event.member.city}, {$event.member.state.value} {$event.member.zip} + {/if}
{/if} {if $event.cost && !$event.free.value} -- 2.17.1