[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