[Tickets #6052] Shared folders dont show with courier-imap

bugs at horde.org bugs at horde.org
Thu Dec 27 13:20:45 UTC 2007


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/?id=6052
-----------------------------------------------------------------------
 Ticket             | 6052
 Created By         | rsalmon at mbpgroup.com
 Summary            | Shared folders dont show with courier-imap
 Queue              | IMP
 Version            | HEAD
 Type               | Bug
 State              | Unconfirmed
 Priority           | 1. Low
 Owners             | 
-----------------------------------------------------------------------


rsalmon at mbpgroup.com (2007-12-27 08:20) wrote:

I can see/use shared folders just fine with thunderbird but not in IMP.

I login as 'ronan'. The share is made by 'rsalmon' and is
#shared.rsalmon.test. I was able to create the share from IMP.

I changed the function _getList($path) in imp/lib/IMAP/Tree.php to see
what's going on :
    function _getList($path)
    {
        $unique = array();

        if (!$this->_showunsub) {
            $this->_initSubscribed();
        }
echo "***begins*** _getList\n";

        $imp_imap = &IMP_IMAP::singleton();
        $newboxes = @imap_getmailboxes($imp_imap->stream(),
$this->_server, $path);
        if (is_array($newboxes)) {
            foreach ($newboxes as $box) {
                if ($this->_showunsub ||
                    !isset($this->_subscribed[$box->name])) {
                    /* Strip off server string. */
                    $box = $this->_removeServerString($box);
                    if ($box->name && !isset($unique[$box->name])) {
                        $unique[$box->name] = $box;
                    }
                }
            }
        }
print_r($unique);
echo "***end*** _getList\n";
        return $unique;
    }



I couldn't see my shares so I change the namespace search in function
init() :
       foreach ($this->_namespaces as $key => $val) {
            /* We only need to provide the list of folders in the base
             * personal namespace.  Else, just use the base namespace
entry. */
            if (($val['type'] == 'personal') || empty($val['name'])) {
                $query = $val['name'] . '%';
            } else {
                $query = (empty($val['delimiter'])) ? $val['name'] :
rtrim($val['name'], $val['delimiter']);
		$query .= '.%';


Now when I login, I get  :
***begins*** _getList
Array
(
    [INBOX.Brouillon] => stdClass Object
        (
            [name] => INBOX.Brouillon
            [attributes] => 64
            [delimiter] => .
            [fullServerPath] => {127.0.0.1:143/imap/notls}INBOX.Brouillon
        )

    [INBOX.Trash] => stdClass Object
        (
            [name] => INBOX.Trash
            [attributes] => 64
            [delimiter] => .
            [fullServerPath] => {127.0.0.1:143/imap/notls}INBOX.Trash
        )

    [INBOX.Spam] => stdClass Object
        (
            [name] => INBOX.Spam
            [attributes] => 64
            [delimiter] => .
            [fullServerPath] => {127.0.0.1:143/imap/notls}INBOX.Spam
        )

    [INBOX.Sent] => stdClass Object
        (
            [name] => INBOX.Sent
            [attributes] => 64
            [delimiter] => .
            [fullServerPath] => {127.0.0.1:143/imap/notls}INBOX.Sent
        )

)
***end*** _getList
***begins*** _getList
Array
(
    [#shared.rsalmon] => stdClass Object
        (
            [name] => #shared.rsalmon
            [attributes] => 34
            [delimiter] => .
            [fullServerPath] => {127.0.0.1:143/imap/notls}#shared.rsalmon
        )

)
***end*** _getList
***begins*** _getList
Array
(
)
***end*** _getList
***begins*** _getList
Array
(
    [INBOX] => stdClass Object
        (
            [name] => INBOX
            [attributes] => 40
            [delimiter] => .
            [fullServerPath] => {127.0.0.1:143/imap/notls}INBOX
        )

)
***end*** _getList
***begins*** _getList
Array
(
    [#shared.rsalmon.test] => stdClass Object
        (
            [name] => #shared.rsalmon.test
            [attributes] => 64
            [delimiter] => .
            [fullServerPath] =>
{127.0.0.1:143/imap/notls}#shared.rsalmon.test
        )

)
***end*** _getList
***begins*** _getList
Array
(
)
***end*** _getList
<script type="text/javascript" src="/horde/imp/js/popup.js"></script>
<script type="text/javascript" src="/horde/js/prototype.js"></script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">

...


I still can't see shared folders within IMP, but from the debug output, I
know that IMP is aware of them. This is as far as I can go. I really don't
know where to look now.


I'm using :
php 5.2.4
courier-imap 4.2.1 (same with 4.3.0)

$servers['imap'] = array(
    'name' => 'IMAP Server',
    'server' => '127.0.0.1',
    'hordeauth' => true,
    'protocol' => 'imap/notls',
    'port' => 143,
    'maildomain' => 'maison.local',
    'smtphost' => '127.0.0.1',
    'smtpport' => 25,
    'realm' => '',
    'preferred' => '',
    'quota' => array(
        'driver' => 'imap',
        'params' => array(),
    ),
    'acl' => array(
        'driver' => 'rfc2086',
    ),
);



Thanks,
Ronan.



More information about the bugs mailing list