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 )