gunnar: server/perl-kolab/lib/Kolab Cyrus.pm, 1.6, 1.6.2.1 LDAP.pm, 1.11.2.5, 1.11.2.6
cvs at kolab.org
cvs at kolab.org
Fri Jun 4 11:27:17 CEST 2010
Author: gunnar
Update of /kolabrepository/server/perl-kolab/lib/Kolab
In directory doto:/tmp/cvs-serv8977/d/lib/Kolab
Modified Files:
Tag: kolab_2_2_branch
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/lib/Kolab/Attic/Cyrus.pm,v
retrieving revision 1.6
retrieving revision 1.6.2.1
diff -u -d -r1.6 -r1.6.2.1
--- Cyrus.pm 10 Oct 2008 14:24:46 -0000 1.6
+++ Cyrus.pm 4 Jun 2010 09:27:15 -0000 1.6.2.1
@@ -40,6 +40,7 @@
&create
&createUid
&createMailbox
+ &createCalendar
&deleteMailbox
&setQuota
&setACL
@@ -106,6 +107,38 @@
}
} 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'));
+ my $key = '/mailbox/{' . $u . '}/vendor/kolab/folder-type';
+ if (exists($info{$key}) && $info{$key} eq '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/lib/Kolab/Attic/LDAP.pm,v
retrieving revision 1.11.2.5
retrieving revision 1.11.2.6
diff -u -d -r1.11.2.5 -r1.11.2.6
--- LDAP.pm 16 Dec 2009 16:08:47 -0000 1.11.2.5
+++ LDAP.pm 4 Jun 2010 09:27:15 -0000 1.11.2.6
@@ -557,9 +557,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