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();
/**
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;
// 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);