<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet href="https://dev.horde.org/themes/horde//default/feed-rss.xsl" type="text/xsl"?> 
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> 
 <channel> 
  <title>Missing folders with servers that don&#039;t uppercase &#039;INBOX&#039;</title> 
  <pubDate>Sun, 05 Apr 2026 08:28:49 +0000</pubDate> 
  <link>https://bugs.horde.org/ticket/199</link> 
  <atom:link rel="self" type="application/rss+xml" title="Missing folders with servers that don&#039;t uppercase &#039;INBOX&#039;" href="https://bugs.horde.org/ticket/199/rss" /> 
  <description>Missing folders with servers that don&#039;t uppercase &#039;INBOX&#039;</description> 
 
   
   
  <item> 
   <title>The view of folders in folders.php on servers returning &#039;Inb</title> 
   <description>The view of folders in folders.php on servers returning &#039;Inbox&#039; does not include any that are alphabetically before &#039;Inbox&#039;.



IMP_Tree::_init() creates an INBOX if none exists. However, the name of this will be set to &#039;Inbox&#039;. Consequently, the value of IMP_Tree-&gt;_first is set to &#039;Inbox&#039; so that when IMP_Tree::reset() is called it moves to &#039;Inbox&#039;, not &#039;INBOX&#039;. 



Since RFC3501 is specific about INBOX being case insensitive, IMP_Tree and IMAP_Tree need to handle the used of mixed case in this folder name.



This kludge for IMP_Tree gets all the folders showing:



--- Tree.php.orig       Fri May 14 21:03:07 2004

+++ Tree.php    Fri May 14 22:54:49 2004

@@ -72,6 +72,7 @@



         if (!isset($boxes[&#039;INBOX&#039;])) {

             $boxes[&#039;INBOX&#039;] = $this-&gt;_getMailbox(&#039;INBOX&#039;);

+            $boxes[&#039;INBOX&#039;]-&gt;name = &#039;INBOX&#039;;

         }



         /* Do a sort to make sure that &#039;INBOX&#039; always appears as the first



However, this shows both an INBOX at the top of the tree and an Inbox arranged alphabetically. Although both contain the same messages, only Inbox contains sub-folders.



I did try to patch IMAP_Tree::_getList with this to canonicise to upper case:



--- Tree.php.orig       Sun May 16 19:18:41 2004

+++ Tree.php    Thu May 20 09:07:00 2004

@@ -341,6 +341,9 @@



                     /* Strip off server string. */

                     $box = $this-&gt;_removeServerString($box);

+                    if (strtoupper($box-&gt;name) == &#039;INBOX&#039; ) {

+                      $box-&gt;name = &#039;INBOX&#039;;

+                    }

                     $unique[$box-&gt;name] = $box;

                 }

             }



but this resulted in none of the folders beneath INBOX in the hierarchy showing. </description> 
   <pubDate>Thu, 20 May 2004 08:11:48 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t781</link> 
  </item> 
   
  <item> 
   <title></title> 
   <description></description> 
   <pubDate>Thu, 20 May 2004 09:23:08 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t782</link> 
  </item> 
   
  <item> 
   <title>If this RFC really says that INBOX must be case insensitive </title> 
   <description>If this RFC really says that INBOX must be case insensitive (I didn&#039;t have time to look it up right now), we shouldn&#039;t convert it to any casing, but ignore the case when sorting the tree instead.



Try the attached patch and see if it fixes the sorting for you.</description> 
   <pubDate>Thu, 20 May 2004 09:26:11 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t783</link> 
  </item> 
   
  <item> 
   <title>If this RFC really says that INBOX must be case insensitive </title> 
   <description>If this RFC really says that INBOX must be case insensitive (I didn&#039;t have time to look it up right now), we shouldn&#039;t convert it to any casing, but ignore the case when sorting the tree instead.



Try the attached patch and see if it fixes the sorting for you.</description> 
   <pubDate>Thu, 20 May 2004 09:26:12 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t784</link> 
  </item> 
   
  <item> 
   <title>That patch to IMAP_Sort::_mbox_cmp() does sort out the tree </title> 
   <description>That patch to IMAP_Sort::_mbox_cmp() does sort out the tree display, on the face of it. But I&#039;m not convinced it will be consistent, and it throws up other problems.



An additional &#039;INBOX&#039; element is still be inserted. Providing the sort results in &#039;INBOX&#039; appearing before &#039;Inbox&#039; I will see only &#039;Inbox&#039; in the tree, which is the way I need it as only &#039;Inbox&#039; contains sub-folders. But if the sort reverses the order of Inbox and INBOX I&#039;ll see both in the tree.



The drop down list of folders and the check boxes on the search page now include both INBOX and Inbox, both at the top of the list, and NEITHER has any sub-folders showing. These appear to have been moved to another folder, the neighbour of &#039;Inbox&#039; had the sorting been strictly alphabetical.



The fundamental problem seems to be that various libraries assume that &#039;INBOX&#039; will always be upper case, and that if no folder with the upper case name &#039;INBOX&#039; exists, one is added to the tree.</description> 
   <pubDate>Thu, 20 May 2004 18:06:32 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t785</link> 
  </item> 
   
  <item> 
   <title></title> 
   <description></description> 
   <pubDate>Thu, 20 May 2004 22:37:36 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t786</link> 
  </item> 
   
  <item> 
   <title></title> 
   <description></description> 
   <pubDate>Tue, 13 Jul 2004 12:54:36 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t787</link> 
  </item> 
   
  <item> 
   <title>Is this still happening?</title> 
   <description>Is this still happening?</description> 
   <pubDate>Mon, 15 Nov 2004 15:39:17 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t3053</link> 
  </item> 
   
  <item> 
   <title>At this stage in the release cycle, should we change all $fo</title> 
   <description>At this stage in the release cycle, should we change all $foo == &#039;INBOX&#039; checks in IMP to instead use strcasecmp() instead?  Or does c-client automatically convert the INBOX mailbox name to all uppercase and, therefore, the reason we have not really run into any problems with this in the past?</description> 
   <pubDate>Fri, 19 Nov 2004 16:24:43 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t3205</link> 
  </item> 
   
  <item> 
   <title>If there isn&#039;t a current problem I don&#039;t think we should do </title> 
   <description>If there isn&#039;t a current problem I don&#039;t think we should do anything. I&#039;m pretty sure, though, that c-client doesn&#039;t touch the case.</description> 
   <pubDate>Fri, 19 Nov 2004 16:28:08 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t3206</link> 
  </item> 
   
  <item> 
   <title>I agree that we shouldn&#039;t do this before 4.0. Did I mention </title> 
   <description>I agree that we shouldn&#039;t do this before 4.0. Did I mention that we need a milestone feature in Whups?</description> 
   <pubDate>Fri, 19 Nov 2004 16:41:33 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t3211</link> 
  </item> 
   
  <item> 
   <title>Okay, now that we&#039;ve released 4.0, is there anything to do o</title> 
   <description>Okay, now that we&#039;ve released 4.0, is there anything to do on this?</description> 
   <pubDate>Tue, 18 Jan 2005 18:55:28 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t4648</link> 
  </item> 
   
  <item> 
   <title>Using 4.0.1 I now have all folders visible. However, connect</title> 
   <description>Using 4.0.1 I now have all folders visible. However, connecting to the server with the mixed case Inbox I get this in the menu bar:



Notice: Undefined index: a in /usr/local/www/mail/data/horde3/lib/Horde/IMAP/Tree.php on line 1106



Don&#039;t know if it&#039;s related, or just a config option I&#039;ve missed, but I don&#039;t see it on servers with INBOX.</description> 
   <pubDate>Fri, 21 Jan 2005 13:26:35 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t4759</link> 
  </item> 
   
  <item> 
   <title>In imp/lib/IMAP/Tree.php, could you put the following:

prin</title> 
   <description>In imp/lib/IMAP/Tree.php, could you put the following:

print_r($boxes)

on line 147 and tell me what it returns?</description> 
   <pubDate>Tue, 01 Feb 2005 18:43:19 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t5099</link> 
  </item> 
   
  <item> 
   <title>it returns this, in sidebar.php



Array

(

    [Inbox] =&gt; </title> 
   <description>it returns this, in sidebar.php



Array

(

    [Inbox] =&gt; stdClass Object

        (

            [name] =&gt; Inbox

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Inbox

        )



    [chris] =&gt; stdClass Object

        (

            [name] =&gt; chris

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}chris

        )



    [accounts] =&gt; stdClass Object

        (

            [name] =&gt; accounts

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}accounts

        )



    [info] =&gt; stdClass Object

        (

            [name] =&gt; info

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}info

        )



    [webmaster] =&gt; stdClass Object

        (

            [name] =&gt; webmaster

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}webmaster

        )



    [c.hastie] =&gt; stdClass Object

        (

            [name] =&gt; c.hastie

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}c.hastie

        )



    [Stallions] =&gt; stdClass Object

        (

            [name] =&gt; Stallions

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Stallions

        )



    [Tipi mail] =&gt; stdClass Object

        (

            [name] =&gt; Tipi mail

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Tipi mail

        )



    [SilkThreads] =&gt; stdClass Object

        (

            [name] =&gt; SilkThreads

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}SilkThreads

        )



    [No spam] =&gt; stdClass Object

        (

            [name] =&gt; No spam

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}No spam

        )



    [tipichris@bigfoot.com] =&gt; stdClass Object

        (

            [name] =&gt; tipichris@bigfoot.com

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}tipichris@bigfoot.com

        )



    [Postmaster] =&gt; stdClass Object

        (

            [name] =&gt; Postmaster

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Postmaster

        )



    [uktc-owner] =&gt; stdClass Object

        (

            [name] =&gt; uktc-owner

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}uktc-owner

        )



    [turtle@bigwig.net] =&gt; stdClass Object

        (

            [name] =&gt; turtle@bigwig.net

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}turtle@bigwig.net

        )



    [chris.hastie] =&gt; stdClass Object

        (

            [name] =&gt; chris.hastie

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}chris.hastie

        )



    [Filed] =&gt; stdClass Object

        (

            [name] =&gt; Filed

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Filed

        )



    [Wastebasket] =&gt; stdClass Object

        (

            [name] =&gt; Wastebasket

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Wastebasket

        )



    [Drafts] =&gt; stdClass Object

        (

            [name] =&gt; Drafts

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Drafts

        )



    [Outbox] =&gt; stdClass Object

        (

            [name] =&gt; Outbox

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Outbox

        )



    [News] =&gt; stdClass Object

        (

            [name] =&gt; News

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}News

        )



    [MailingLists] =&gt; stdClass Object

        (

            [name] =&gt; MailingLists

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}MailingLists

        )



    [Searches] =&gt; stdClass Object

        (

            [name] =&gt; Searches

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Searches

        )



    [tangwen-sysadmin] =&gt; stdClass Object

        (

            [name] =&gt; tangwen-sysadmin

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}tangwen-sysadmin

        )



    [Trash] =&gt; stdClass Object

        (

            [name] =&gt; Trash

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Trash

        )



    [Wedding] =&gt; stdClass Object

        (

            [name] =&gt; Wedding

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Wedding

        )



    [Root] =&gt; stdClass Object

        (

            [name] =&gt; Root

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Root

        )



    [Virus Alerts] =&gt; stdClass Object

        (

            [name] =&gt; Virus Alerts

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Virus Alerts

        )



    [VirusSamples] =&gt; stdClass Object

        (

            [name] =&gt; VirusSamples

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}VirusSamples

        )



    [duff_stuff] =&gt; stdClass Object

        (

            [name] =&gt; duff_stuff

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}duff_stuff

        )



    [Spam] =&gt; stdClass Object

        (

            [name] =&gt; Spam

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Spam

        )



    [Sent Items] =&gt; stdClass Object

        (

            [name] =&gt; Sent Items

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Sent Items

        )



    [Warwickdc] =&gt; stdClass Object

        (

            [name] =&gt; Warwickdc

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Warwickdc

        )



    [sent-mail] =&gt; stdClass Object

        (

            [name] =&gt; sent-mail

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}sent-mail

        )



    [trash] =&gt; stdClass Object

        (

            [name] =&gt; trash

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}trash

        )



    [Sent] =&gt; stdClass Object

        (

            [name] =&gt; Sent

            [attributes] =&gt; 64

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Sent

        )



    [{4F17E540-8EB7-11d2-97A7-00A024A82FF3}] =&gt; stdClass Object

        (

            [name] =&gt; {4F17E540-8EB7-11d2-97A7-00A024A82FF3}

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}{4F17E540-8EB7-11d2-97A7-00A024A82FF3}

        )



    [INBOX] =&gt; stdClass Object

        (

            [name] =&gt; Inbox

            [attributes] =&gt; 32

            [delimiter] =&gt; /

            [fullServerPath] =&gt; {celandine.oak-wood.co.uk:143/imap/notls}Inbox

        )



)</description> 
   <pubDate>Tue, 01 Feb 2005 21:53:25 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t5115</link> 
  </item> 
   
  <item> 
   <title>Can you try what I just committed to framework/IMAP/IMAP/Tre</title> 
   <description>Can you try what I just committed to framework/IMAP/IMAP/Tree.php?



diff for the 3.0.x branch:

http://cvs.horde.org/diff.php/framework/IMAP/IMAP/Tree.php?r1=1.53&amp;r2=1.54&amp;ty=u

</description> 
   <pubDate>Tue, 01 Feb 2005 23:53:41 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t5118</link> 
  </item> 
   
  <item> 
   <title>I still get this in sidebar.php:



Notice: Undefined index:</title> 
   <description>I still get this in sidebar.php:



Notice: Undefined index: a in /usr/local/www/mail/data/horde3/lib/Horde/IMAP/Tree.php on line 1115



Another more minor issue related to this is that in the mail block on the horde main page I have both &#039;Inbox&#039; and &#039;INBOX&#039; listed.</description> 
   <pubDate>Wed, 02 Feb 2005 08:45:52 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t5123</link> 
  </item> 
   
  <item> 
   <title>OK, if you are still seeing this:

Notice: Undefined index: </title> 
   <description>OK, if you are still seeing this:

Notice: Undefined index: a in /usr/local/www/mail/data/horde3/lib/Horde/IMAP/Tree.php on line 1115

then you need to make sure you are completely up-to-date with the latest version of the RELENG releases as this error was fixed several weeks ago.  If you are not up-to-date with RELENG, than my patch obviously isn&#039;t going to show any results.</description> 
   <pubDate>Tue, 08 Feb 2005 08:01:49 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t5296</link> 
  </item> 
   
  <item> 
   <title>Replace RELENG with FRAMEWORK_3 in Michael&#039;s comment. ;-)</title> 
   <description>Replace RELENG with FRAMEWORK_3 in Michael&#039;s comment. ;-)</description> 
   <pubDate>Tue, 08 Feb 2005 08:33:56 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t5300</link> 
  </item> 
   
  <item> 
   <title>Feedback?  I still can not reproduce this anymore.</title> 
   <description>Feedback?  I still can not reproduce this anymore.</description> 
   <pubDate>Fri, 18 Feb 2005 06:53:33 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t5594</link> 
  </item> 
   
  <item> 
   <title>This should be fixed by my recent commits to IMAP_Tree.</title> 
   <description>This should be fixed by my recent commits to IMAP_Tree.</description> 
   <pubDate>Sun, 27 Feb 2005 06:49:54 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/199#t5848</link> 
  </item> 
   
   
 
 </channel> 
</rss> 
