EWS-Client
view release on metacpan or search on metacpan
lib/EWS/Calendar/Item.pm view on Meta::CPAN
# fish data out of deep structure
$params->{'Organizer'} = EWS::Calendar::Mailbox->new($params->{'Organizer'}->{'Mailbox'});
$params->{'OptionalAttendees'} = [ map { EWS::Calendar::Mailbox->new($_->{'Mailbox'}) }
@{$params->{'OptionalAttendees'}->{Attendee}} ];
$params->{'RequiredAttendees'} = [ map { EWS::Calendar::Mailbox->new($_->{'Mailbox'}) }
@{$params->{'RequiredAttendees'}->{Attendee}} ];
$params->{'Body'} = $params->{'Body'}->{'_'};
# rework semicolon separated list into array, and also remove Organizer
$params->{'DisplayTo'} = [ grep {$_ ne $params->{'Organizer'}->{'Name'}}
split m/; /, $params->{'DisplayTo'} ];
# set Perl's encoding flag on all data coming from Exchange
# also strip HTML tags from incoming data
my $hs = HTML::Strip->new(emit_spaces => 0);
foreach my $key (keys %$params) {
if ( $key =~ /RequiredAttendees|OptionalAttendees|IsDraft|IsAllDayEvent/ ) {
next;
}
elsif (ref $params->{$key} eq 'ARRAY') {
( run in 2.194 seconds using v1.01-cache-2.11-cpan-71847e10f99 )