Fixed a bug where users that did not log in before would get tons of
authorfidian <fidian@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Tue, 16 Jan 2001 19:14:29 +0000 (19:14 +0000)
committerfidian <fidian@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Tue, 16 Jan 2001 19:14:29 +0000 (19:14 +0000)
    Warning: REG_EBRACK in .../imap_mailbox.php on line XXX
Apparently the Trash and Sent folder need to be escaped, just in case they
have some special characters in them.

This only seemed to happen with FreeBSD and special folder names for the
Sent and Trash folder.  Thanks to John Bolster for helping out!

git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@947 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/imap_mailbox.php

index 5916ae4..8e2600f 100755 (executable)
 
          // Then list special folders and their subfolders
          for ($i = 0 ; $i <= count($boxes) ; $i++) {
-            if((eregi("^".$trash_folder.'$', $boxes[$i]["unformatted"]) ||
-                eregi("^".$trash_folder.quotemeta($dm), $boxes[$i]["unformatted"]) )  &&
+            if((eregi("^".quotemeta($trash_folder).'$', $boxes[$i]["unformatted"]) ||
+                eregi("^".quotemeta($trash_folder).quotemeta($dm), $boxes[$i]["unformatted"]) )  &&
                ($move_to_trash)) {        
                $boxesnew[] = $boxes[$i];
                $boxes[$i]["used"] = true;
             }
-            else if((eregi("^".$sent_folder.'$', $boxes[$i]["unformatted"]) ||
-                     eregi("^".$sent_folder.quotemeta($dm), $boxes[$i]["unformatted"]) )  &&
+            else if((eregi("^".quotemeta($sent_folder).'$', $boxes[$i]["unformatted"]) ||
+                     eregi("^".quotemeta($sent_folder).quotemeta($dm), $boxes[$i]["unformatted"]) )  &&
                     ($move_to_sent)) {        
                $boxesnew[] = $boxes[$i];
                $boxes[$i]["used"] = true;