diff --git a/src/Plugin/views/row/Calendar.php b/src/Plugin/views/row/Calendar.php index 815d905..669e05d 100644 --- a/src/Plugin/views/row/Calendar.php +++ b/src/Plugin/views/row/Calendar.php @@ -6,8 +6,7 @@ use Drupal\calendar\CalendarEvent; use Drupal\calendar\CalendarHelper; use Drupal\calendar\CalendarViewsTrait; use Drupal\Core\Entity\EntityFieldManagerInterface; -use Drupal\Core\Field\BaseFieldDefinition; -use Drupal\datetime\Plugin\Field\FieldType\DateTimeItem; +use Drupal\datetime\Plugin\Field\FieldType\DateTimeItemInterface; use Drupal\taxonomy\Entity\Term; use Drupal\views\Plugin\views\argument\Date; use Drupal\Core\Datetime\DateFormatter; @@ -417,14 +416,6 @@ class Calendar extends RowPluginBase { return []; } - // @todo clean up -// $table_name = $info['table_name']; - $delta_field = $info['delta_field']; -// $tz_handling = $info['tz_handling']; -// $tz_field = $info['timezone_field']; -// $rrule_field = $info['rrule_field']; -// $is_field = $info['is_field']; - $event = new CalendarEvent($entity); // Retrieve the field value(s) that matched our query from the cached node. @@ -433,19 +424,14 @@ class Calendar extends RowPluginBase { $item_start_date = NULL; $item_end_date = NULL; $granularity = 'month'; - $increment = 1; - // @todo implement timezone support if ($entity->hasField($field_name) && $entity->get($field_name)) { $item = $entity->get($field_name)->getValue(); - // @todo handle timezones -// $db_tz = date_get_timezone_db($tz_handling, isset($item->$tz_field) ? $item->$tz_field : timezone_name_get($dateInfo->getTimezone())); -// $to_zone = date_get_timezone($tz_handling, isset($item->$tz_field) ? $item->$tz_field : timezone_name_get($dateInfo->getTimezone())); -// $item_start_date = new dateObject($item, $db_tz); - $item_start_date = new \DateTime($item[0]['value']); + $timezone = new \DateTimeZone(DateTimeItemInterface::STORAGE_TIMEZONE); + $item_start_date = new \DateTime($item[0]['value'], $timezone); if (!empty($item[0]['end_value'])) { - $item_end_date = new \DateTime($item[0]['end_value']); + $item_end_date = new \DateTime($item[0]['end_value'], $timezone); } else { $item_end_date = $item_start_date; @@ -458,11 +444,6 @@ class Calendar extends RowPluginBase { continue; } - // Set the item date to the proper display timezone; - // @todo handle timezones -// $item_start_date->setTimezone(new dateTimezone($to_zone)); -// $item_end_date->setTimezone(new dateTimezone($to_zone)); - $event->setStartDate($item_start_date); $event->setEndDate($item_end_date); $event->setTimezone(new \DateTimeZone(timezone_name_get($dateInfo->getTimezone())));