[Kolab-devel] WAS: Calendar folder created by Outlook / Toltec invisible in Horde
Gunnar Wrobel
wrobel at pardus.de
Thu Nov 1 12:08:57 CET 2007
Stephane Konstantaropoulos <skonstant at sgul.ac.uk> writes:
> Quoting Stephane Konstantaropoulos <skonstant at sgul.ac.uk>:
>
>>> >
>>> > I just do not see the calendar at all in the list. I see the shared
>>> > calendars though, just not the one owned by the user.
>>>
>>> Are there any conflicting "folder-type" settings? The Kontact client
>>> for example creates duplicate "TYPE.default" folders:
>>>
>>> https://www.intevation.de/roundup/kolab/issue2133
>>>
>>> Horde is capable of identifying ONE default folder. If there are
>>> several, the second will be invisible.
>>>
>>> Can you check with cyradm if you have such a situation? Or is there
>>> really only one "event.default" folder?
>>>
>>> What are the ACL settings on the event folders of your users?
>>>
>>> Cheers,
>>>
>>> Gunnar
>>>
>>
>> I think that could be the issue, one user had access to someone else's
>> Calendar, also marked "event.default"; in the calendar list, only the shared
>> one appears. When ticked, it is the events of the user's calendar that are
>> shown.
>>
>> The user's calendar is also "event.default", maybe that's the issue, you
>> should check for .default only in the users namespace perhaps, I'll try this
>> out later in the listShares function.
Indeed. I overlooked the fact that a default folder should only exist
in the users namespace.
>>
>>
>
> Here's the fix, check if the mailbox belongs to the user, if not,
> don't consider the "default" attribute:
Thanks for the fix! I implemented it in a slightly different fashion
but I hope it fixes the problem in the same way:
http://kolab.org/cgi-bin/viewcvs-kolab.cgi/server/patches/horde/HK-GW-framework_3.2_ALPHA-Kolab_issue_2144.patch?rev=1.1&content-type=text/vnd.viewcvs-markup
Can you check if the patch works for you?
Thanks you for your investigation and explanation!
Cheers,
Gunnar
>
> lib/Horde/Share/kolab.php
>
> from 1707:
>
> $folders_preg = ';shared\.|INBOX[/]?|user/[^/]+[/]?[^@]+(@.*)?;';
> -> $shared_preg = ';shared\.|user/[^/]+[/]?[^@]+(@.*)?;';
>
> foreach ($folder_list as $folder) {
>
> // Check for a correct IMAP folder name
> preg_match($folders_preg, $folder, $matches);
> if (!isset($matches)) {
> continue;
> }
> -> $shared = false;
> -> preg_match($shared_preg, $folder, $shared_match);
> -> if (isset($shared_match)) {
> -> $shared = true;
> -> }
>
> // Retrieve the folder annotation
> $annotation =
> $this->_imap->getAnnotation(KOLAB_ANNOT_FOLDER_TYPE, 'value.shared',
> $folder);
> if (is_a($annotation, 'PEAR_Error')) {
> return $annotation;
> }
>
> // If there is no annotation then we treat it as a standard
> // mail folder (i.e. we ignore it).
> if (empty($annotation)) {
> continue;
> }
>
> // If the folder is of the correct type then we add it to our
> // list of folders that should correspond to a share. Here we
> // get any other additional information we may need, such as
> // whether the folder was previously mapped to a share, its
> // ACL, its owner (if it is a shared folder) and its display
> // name.
> $type = explode('.', $annotation);
> if ($type[0] == $app_consts['mime_type_suffix']) {
> -> if (isset($type[1]) && $type[1] == 'default' &&
> ! $shared) {
> $this->_default = $folder;
> array_push($shares,
> $this->buildShareId(Auth::getAuth()));
> } else {
> array_push($shares,
> $this->buildShareId(rawurlencode($folder)));
> }
> }
> }
>
>
>
> _______________________________________________
> Kolab-devel mailing list
> Kolab-devel at kolab.org
> https://kolab.org/mailman/listinfo/kolab-devel
--
______ http://kdab.com _______________ http://kolab-konsortium.com _
p at rdus Kolab work is funded in part by KDAB and the Kolab Konsortium
____ http://www.pardus.de _________________ http://gunnarwrobel.de _
E-mail : p at rdus.de Dr. Gunnar Wrobel
Tel. : +49 40 432 72335 Bundesstrasse 29
Fax : +49 40 432 70855 D-20146 Hamburg
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> Mail at ease - Rent a kolab groupware server at p at rdus <<
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
More information about the devel
mailing list