Updates for the event outputs.
authorSteve Sutton <steve@gaslightmedia.com>
Tue, 19 Apr 2016 20:50:56 +0000 (16:50 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Tue, 19 Apr 2016 20:50:56 +0000 (16:50 -0400)
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
models/admin/management/events.php
models/front/events/list.php
views/front/events/agenda.html
views/front/events/detail.html

index 8d5be8c..06a6fc6 100644 (file)
@@ -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 '<pre>$locations: ' . print_r($locations, true) . '</pre>';
-            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 '<pre>$member: ' . print_r($member, true) . '</pre>';
+                //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 '<pre>$locations: ' . print_r($locations, true) . '</pre>';
+                if ( !empty( $locations ) ) {
+                    $r['locations'] = $locations[key($locations)];
+                }
             }
         }
         if ($this->postAddRecurrences) {
index 890580e..4436c82 100644 (file)
@@ -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,
index 397db4c..10654eb 100644 (file)
@@ -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 '<pre>$events: ' . print_r($events, true) . '</pre>';
+            //echo '<pre>$eventsByDate: ' . print_r($eventsByDate, true) . '</pre>';
 
             ksort($eventsByDate);
             foreach ($eventsByDate as $eventDate => &$eventgroup ) {
index b145114..4865a37 100644 (file)
                             <div class="row glm-event-day-event">
                                 <div class="small-12 column">
                                     <h2>{$event.name}</h2>
-                                    {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}
                                     <div class="event-content hide clearfix">
                                         {if $event.image}<img style="float:right;" src="{$imgUrl}{$event.image}">{/if}
index 363c41f..bd248b8 100644 (file)
                     <div class="row">
                         <div class="small-12 column"><strong>{$event.dates}</strong></div>
                         <div class="small-12 column">
+                        {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>
                         {if $event.hide_address.name == 'No' }
                             <div class="small-12 column">
+                            {if !$event.use_member_location.value}
                                 {if $event.locations.name}{$event.locations.name}<br>{/if}
                                 {$event.locations.address}<br>
                                 {$event.locations.city.name}, {$event.locations.state.value} {$event.locations.zip}
+                            {else}
+                                {$event.member.member}<br>
+                                {$event.member.addr1}<br>
+                                {$event.member.city}, {$event.member.state.value} {$event.member.zip} 
+                            {/if}
                             </div>
                         {/if}
                         {if $event.cost && !$event.free.value}