ICS#

NAME#

Kernel::System::CalendarEvents::ICS - to manage calendar ICS events

DESCRIPTION#

Global module for operations on calendar events with ICS extension

PUBLIC INTERFACE#

new()#

Don’t use the constructor directly, use the ObjectManager instead:

my $CalendarEventsICSObject = $Kernel::OM->Get('Kernel::System::CalendarEvents::ICS');

Parse()#

Parses ICS string.

my $Result = $CalendarEventsICSObject->Parse(
    String =>
        "BEGIN:VCALENDAR
        ..
        END:VCALENDAR",
    ToTimeZone => 'Europe/Berlin', # optional
);

_PrepareData()#

Standardizes/post-processes data hash from parsed data.

my $Result = $CalendarEventsICSObject->_PrepareData(
    Data => {
      'todos' => [
                  ..
                 ],
      'events' => {
                    '2022' => {
                                '3' => {
                                         '7' => {
                                                 ..
                                                }
                                       }
                              }
                  }

    }, 'cals' => [
                   {
                    'X-WR-CALNAME' => 'Calendar 1',
                    'X-WR-RELCALID' => 1,
                    ..
                   }
                 ]
    }

_PreProcess()#

Pre-processes calendar data.

my $Result = $CalendarEventsICSObject->$CalendarEventsICSObject(
    String =>
        "BEGIN:VCALENDAR
        PRODID:-//Microsoft Corporation//Outlook 16.0 MIMEDIR//EN
        VERSION:2.0
        METHOD:REQUEST
        .."
);