Changeset d08333e in github for program/include/main.inc


Ignore:
Timestamp:
May 5, 2011 8:46:54 AM (2 years ago)
Author:
alecpl <alec@…>
Branches:
master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.6, release-0.7, release-0.8
Children:
de0a3f9
Parents:
4764079
Message:
  • Fix problems with subfolders of INBOX folder on some IMAP servers (#1487725)
  • Fix handling of folders that doesn't belong to any namespace (#1487637)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • program/include/main.inc

    r2a38001 rd08333e  
    12291229    $list = $RCMAIL->imap->list_mailboxes(); 
    12301230 
    1231   foreach ($list as $folder) 
     1231  $delimiter = $RCMAIL->imap->get_hierarchy_delimiter(); 
     1232 
     1233  foreach ($list as $folder) { 
    12321234    if (empty($p['exceptions']) || !in_array($folder, $p['exceptions'])) 
    1233       rcmail_build_folder_tree($a_mailboxes, $folder, $RCMAIL->imap->get_hierarchy_delimiter()); 
     1235      rcmail_build_folder_tree($a_mailboxes, $folder, $delimiter); 
     1236  } 
    12341237 
    12351238  $select = new html_select($p); 
    1236    
     1239 
    12371240  if ($p['noselection']) 
    12381241    $select->add($p['noselection'], ''); 
    1239      
     1242 
    12401243  rcmail_render_folder_tree_select($a_mailboxes, $mbox, $p['maxlength'], $select, $p['realnames']); 
    1241    
     1244 
    12421245  return $select; 
    12431246} 
     
    12521255{ 
    12531256  global $RCMAIL; 
     1257 
     1258  // Handle namespace prefix 
     1259  $prefix = ''; 
     1260  if (!$path) { 
     1261    $n_folder = $folder; 
     1262    $folder = $RCMAIL->imap->mod_mailbox($folder); 
     1263 
     1264    if ($n_folder != $folder) { 
     1265      $prefix = substr($n_folder, 0, -strlen($folder)); 
     1266    } 
     1267  } 
    12541268 
    12551269  $pos = strpos($folder, $delm); 
     
    12731287  } 
    12741288 
    1275   $path .= $currentFolder; 
    1276  
    1277   // Check \Noselect option (if options are in cache) 
    1278   if (!$virtual && ($opts = $RCMAIL->imap->mailbox_options($path))) { 
    1279     $virtual = in_array('\\Noselect', $opts); 
    1280   } 
     1289  $path .= $prefix.$currentFolder; 
    12811290 
    12821291  if (!isset($arrFolders[$currentFolder])) { 
     1292    // Check \Noselect option (if options are in cache) 
     1293    if (!$virtual && ($opts = $RCMAIL->imap->mailbox_options($path))) { 
     1294      $virtual = in_array('\\Noselect', $opts); 
     1295    } 
     1296 
    12831297    $arrFolders[$currentFolder] = array( 
    12841298      'id' => $path, 
Note: See TracChangeset for help on using the changeset viewer.