From: Steve Sutton Date: Wed, 19 Apr 2017 18:45:45 +0000 (-0400) Subject: WIP PDF updates X-Git-Tag: v1.6.36^2~4 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=9097d8f562bac33290b7170e0a072083287929ab;p=WP-Plugins%2Fglm-member-db-events.git WIP PDF updates Redoing the dates and titles. --- diff --git a/models/front/events/list.php b/models/front/events/list.php index c59555f..3f34d36 100644 --- a/models/front/events/list.php +++ b/models/front/events/list.php @@ -26,12 +26,14 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction const PDF_BOTTOM_Y = 80; const LINE_HEIGHT = 10; const PDF_WIDTH = 570; + const DATE_WIDTH = 290; + const TITLE_WIDTH = 250; const PDF_FONT_SIZE = 8; const PDF_LOGO_SCALE = 1.45; const PDF_LOGO_X = 20; const PDF_LOGO_Y = 760; const PDF_LFT_COL_X = 20; - const PDF_RGT_COL_X = 250; + const PDF_RGT_COL_X = 300; private $pages = array(); /** @@ -406,33 +408,61 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction foreach ( $events as $eventId => $event ) { $lineCount = 1; $eventTopY = $pdfY; - // dates + // Dates. + // The event could have multiple schedules. + $eventDates = ''; $dates = new SetaPDF_Core_Text_Block( $boldFont, self::PDF_FONT_SIZE ); - $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}"; + foreach ( $event['recurrences'] as $rec ) { + if ( !in_array( $rec['name'], array( 'Imported', 'Imported Event Schedule') ) ) { + $eventDates .= $rec['name'] . ' '; + } + $eventDates .= $this->getEventDate( $rec['from_date']['timestamp'], $rec['to_date']['timestamp'], 'timestamp', false ); + if ( !$event['all_day'] ) { + $startTime = strftime( "%l:%M %p", $rec['start_time']['time'] ); + if ( $startTime == $endTime || $rec['start_time_only'] ) { + $eventDates .= " {$startTime}"; + } else { + $eventDates .= " {$startTime} - {$endTime}"; + } } } + //$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(220); + $dates->setWidth(self::DATE_WIDTH); $lineCount = $dates->getLineCount(); + if ( $dates->getLineCount() > 1 ) { + $pdfY -= $dates->getLineHeight(); + } $dates->draw($page->getCanvas(), self::PDF_LFT_COL_X, $pdfY); + if ( $dates->getLineCount() > 1 ) { + $pdfY += $dates->getLineHeight(); + } // title $title = new SetaPDF_Core_Text_Block( $boldFont, self::PDF_FONT_SIZE ); $title->setText(html_entity_decode( $event['name'], ENT_HTML5 ) ); //$title->setAlign('center'); - $title->setWidth(self::PDF_WIDTH); + $title->setWidth(self::TITLE_WIDTH); $lineCount = $title->getLineCount(); + if ( $title->getLineCount() > 1 ) { + $pdfY -= $title->getLineHeight(); + } $title->draw($page->getCanvas(), self::PDF_RGT_COL_X, $pdfY); + if ( $title->getLineCount() > 1 ) { + $pdfY += $title->getLineHeight(); + } $pdfY -= self::LINE_HEIGHT; @@ -569,7 +599,7 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction // add footers to each page if ( $this->config['settings']['footer_text'] ) { $footer = new SetaPDF_Core_Text_Block( $font, self::PDF_FONT_SIZE ); - $footer->setText( htmlspecialchars_decode($this->config['settings']['footer_text'])); + $footer->setText( html_entity_decode($this->config['settings']['footer_text'], ENT_HTML5)); $footer->setAlign('center'); $footer->setWidth(self::PDF_WIDTH);