Updating the event dates.
authorSteve Sutton <steve@gaslightmedia.com>
Fri, 21 Apr 2017 18:54:42 +0000 (14:54 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Mon, 24 Apr 2017 15:59:24 +0000 (11:59 -0400)
Making the dates for events show correctly when they have more than one
schedule.

models/front/events/list.php

index 3f34d36..2dae45c 100644 (file)
@@ -412,6 +412,7 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
                     // The event could have multiple schedules.
                     $eventDates = '';
                     $dates = new SetaPDF_Core_Text_Block( $boldFont, self::PDF_FONT_SIZE );
+                    $recCounter = 0;
                     foreach ( $event['recurrences'] as $rec ) {
                         if ( !in_array( $rec['name'], array( 'Imported', 'Imported Event Schedule') ) ) {
                             $eventDates .= $rec['name'] . ' ';
@@ -425,29 +426,30 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
                                 $eventDates .= " {$startTime} - {$endTime}";
                             }
                         }
+                        if ( count($rec['day_of_week']['names']) < 7 && count($rec['day_of_week']['names']) > 0 ) {
+                            $eventDates .= " ( ";
+                            foreach ( $rec['day_of_week']['names'] as $day ) {
+                                $eventDates .= substr( $day, 0, 3 ) . ' ';
+                            }
+                            $eventDates .= ")";
+                        }
+                        ++$recCounter;
+                        if ( $recCounter != count( $event['recurrences'] ) ) {
+                            $eventDates .= "\n";
+                        }
                     }
-                    //$eventDates .= $event['dates'];
-                    //if ( isset( $event['recurDays'] ) && ( $event['recurDays'] ) ) {
-                        //$eventDates .=  ' ' . $event['recurDays'];
-                    //}
-                    //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);
                     $dates->setWidth(self::DATE_WIDTH);
-                    $lineCount = $dates->getLineCount();
-                    if ( $dates->getLineCount() > 1 ) {
-                        $pdfY -= $dates->getLineHeight();
+                    $lineCount = $dates->getLineCount() - 1;
+                    $dateHeight = 0;
+                    if ( $lineCount ) {
+                        $lineCount = $dates->getLineCount() - 1;
+                        $dateHeight = self::LINE_HEIGHT * $lineCount;
+                        $pdfY -= $dateHeight;
                     }
                     $dates->draw($page->getCanvas(), self::PDF_LFT_COL_X, $pdfY);
-                    if ( $dates->getLineCount() > 1 ) {
-                        $pdfY += $dates->getLineHeight();
+                    if ( $lineCount ) {
+                        $pdfY += $dateHeight;
                     }
 
                     // title
@@ -465,6 +467,9 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
                     }
 
                     $pdfY -= self::LINE_HEIGHT;
+                    if ( $lineCount ) {
+                        $pdfY -= $dateHeight;
+                    }
 
                     if ( isset($event['locations']) && !empty($event['locations']) && $event['hide_address']['name'] == 'No' ) {
                         $address   = array();