gunnar: server/perl-kolab/perl-kolab/lib/Kolab Cyrus.pm, 1.1, 1.2 LDAP.pm, 1.1, 1.2
cvs at kolab.org
cvs at kolab.org
Tue Mar 23 19:02:13 CET 2010
Author: gunnar
Update of /kolabrepository/server/perl-kolab/perl-kolab/lib/Kolab
In directory doto:/tmp/cvs-serv13509/perl-kolab/perl-kolab/lib/Kolab
Modified Files:
Cyrus.pm LDAP.pm
Log Message:
kolab/issue4237 (additional event.default folder created by kolabd (rt#6038))
Index: Cyrus.pm
===================================================================
RCS file: /kolabrepository/server/perl-kolab/perl-kolab/lib/Kolab/Cyrus.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Cyrus.pm 16 Feb 2010 05:33:42 -0000 1.1
+++ Cyrus.pm 23 Mar 2010 18:02:11 -0000 1.2
@@ -40,6 +40,7 @@
&create
&createUid
&createMailbox
+ &createCalendar
&deleteMailbox
&setQuota
&setACL
@@ -107,6 +108,37 @@
}
} else {
Kolab::log('Y', "Skipping mailbox creation for $uid (curuid='$cyruid', mailbox='".join(',',@{$mailbox})."'", KOLAB_DEBUG);
+ }
+}
+
+sub createCalendar
+{
+ my $cyrus = shift;
+ my $user = shift;
+ my $domain = shift;
+ my $folder = shift;
+ my $acl = shift;
+
+ my $calendar = 0;
+
+ my @mailboxes = $cyrus->list("user/$user/*\@$domain");
+ my %info;
+ foreach my $mailbox (@mailboxes) {
+ my $u = @{$mailbox}[0];
+ %info = $cyrus->info($u, ('/vendor/kolab/folder-type'));
+ if ($info{'/vendor/kolab/folder-type'} == 'event.default') {
+ $calendar = $u;
+ }
+ }
+
+ if ($calendar) {
+ Kolab::log('Y', "Skipping calendar creation for $user\@$domain as $calendar is a default calendar.", KOLAB_DEBUG);
+ } else {
+ Kolab::log('Y', "Creating default calendar for $user\@$domain.", KOLAB_DEBUG);
+ createMailbox($cyrus, $folder, 0);
+ setFolderType($cyrus, $folder, 0, 'event.default');
+ setACL($cyrus, $folder, 0, $acl);
+ Kolab::log('Y', "Successfully created default calendar for $user\@$domain.", KOLAB_DEBUG);
}
}
Index: LDAP.pm
===================================================================
RCS file: /kolabrepository/server/perl-kolab/perl-kolab/lib/Kolab/LDAP.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- LDAP.pm 16 Feb 2010 05:33:42 -0000 1.1
+++ LDAP.pm 23 Mar 2010 18:02:11 -0000 1.2
@@ -568,9 +568,7 @@
$domain = $Kolab::config{'postfix-mydomain'};
}
my $folder = $user . '/Calendar@' . $domain;
- Kolab::Cyrus::createMailbox($cyrus, $folder, 0);
- Kolab::Cyrus::setFolderType($cyrus, $folder, 0, 'event.default');
- Kolab::Cyrus::setACL($cyrus, $folder, 0, ["$uid all", 'calendar@' . $domain .' all']);
+ Kolab::Cyrus::createCalendar($cyrus, $user, $domain, $folder, ["$uid all", 'calendar@' . $domain .' all']);
}
}
}
More information about the commits
mailing list