@@ -137,6 +138,15 @@ class IcalWizard extends StylePluginBase {
'#description'=>$this->t('Please identify the field to use to indicate an event will be all-day. If the date field uses the "Date all day" module, this option does not need to be set, and will be pulled automatically from the date field. TODO: Implement this.'),
'#description'=>$this->t('Use a VTIMEZONE entry. Enabling this may fix any issues with times not showing correctly for daylight savings. This was added relatively recently in the module, even though it is a part of the <a href="https://www.rfc-editor.org/rfc/rfc5545#section-3.6.5" target="_blank" rel="noopener noreferrer">iCal spec</a> so it can be toggled off if it breaks any installations here. VTIMEZONE objects are important for any dates showing as recurring, which cross daylight savings boundries. Future recurring events may not show up as the correct time. Also Outlook desktop client calendars have shown issues with single events not showing the correct time without these, regardless of recurring status.'),
);
$form['summary_field']=array(
'#type'=>'select',
'#title'=>$this->t('SUMMARY field'),
@@ -211,12 +221,17 @@ class IcalWizard extends StylePluginBase {
/**
* @return Calendar
* @return Eluceo\iCal\Component\Calendar
*/
publicfunctiongetCalendar(){
return$this->calendar;
}
publicfunctiongetHelper(){
return$this->helper;
}
/**
* {@inheritdoc}
*/
@@ -234,6 +249,7 @@ class IcalWizard extends StylePluginBase {
$this->calendar=$calendar;
$parent_render=parent::render();
$this->calendar->setTimezone($this->vTimezone);
// Sets the 'X-WR-CALNAME" property. Just use the View name here.
// This will get the timezone transition prior to the current.
// getTransitions will return the first item in the array starting with the passed minimum time. We'd like to get the
// actual start time instead. This simplifies logic later.
$secondsInYear=18410000;
$transitions=$timezone->getTransitions(
// Subtract two years (probably only need 18 months, just to be sure we include all of the previous transition, so we can start THIS one at the right time)