Le Tue, 21 Jun 2011 10:35:54 +0200, Alessio Fattorini <alessio.fattor...@nethesis.it> a écrit :
Hi, > How can i modify more events at the same times > Specifically i should make private some events (50/60) > adding this field on vcalendar: > CLASS=PRIVATE > Can anyone suggest a way to do it? > I'm working on something like this. It's just a try for now, but if it can help, modify and use -+-+-+-+ CUT +-+-+-+- #! /usr/bin/perl #use strict; use warnings; use Data::ICal; use Data::ICal::DateTime; use DateTime; use HTTP::DAV my ($url, $d, $cal, $calcontent); $url = "http://xxxxxx/SOGo/dav"; $d = new HTTP::DAV(); # log with admin user. $d->credentials( -user=>'admin', -pass =>'xxx', -url => $url); $d->open( -url=> $url ) or die("Couldn't open $url: " .$d->message . "\n"); $d->get(-url => "<usercode>/Calendar/personal.ics", -to => \$calcontent); $cal = Data::ICal->new(data => $calcontent); my @events = $cal->events(); foreach my $event (@events) { if ($event->property('uid') eq "1845-4DF78B00-62E1-31B97100") { #if ($event->start > $event->end) { #print "uid:", $event->property('uid')->[0]->value, "\n"; #print "summary:", $event->property('summary')->[0]->value, "\n"; #print "dtstart:", $event->start, "\n"; #print "dtend:", $event->end, "\n"; #print "correction : "; $o = $event->end; $o->add(days=>1); $event->end($o); #print "dtend:", $event->end, "\n"; #print "\n"; print $event->as_string; print "\n"; #$d->delete($event->property('uid')->[0]->value); #$d->put(-local => \$event->as_string, -url => $event->property('uid')); } #exit; } -+-+-+-+ CUT +-+-+-+- -- P.Bourdais Infagri Rue Albert Einstein Parc Technopole de changé Bp 26116 53061 Laval Cedex 9 Tél: 02.43.49.84.40 -- users@sogo.nu https://inverse.ca/sogo/lists