Ignore:
Timestamp:
Jul 29, 2011 7:53:35 AM (23 months ago)
Author:
alec
Message:
  • Fix 'exceptions' parameter of rcmail_mailbox_select() to handle directories on any level of the structure
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/roundcubemail/program/include/main.inc

    r4977 r4988  
    12301230    $select->add($p['noselection'], ''); 
    12311231 
    1232   rcmail_render_folder_tree_select($a_mailboxes, $mbox, $p['maxlength'], $select, $p['realnames']); 
     1232  rcmail_render_folder_tree_select($a_mailboxes, $mbox, $p['maxlength'], $select, $p['realnames'], 0, $p['exceptions']); 
    12331233 
    12341234  return $select; 
     
    14031403 * @return string 
    14041404 */ 
    1405 function rcmail_render_folder_tree_select(&$arrFolders, &$mbox_name, $maxlength, &$select, $realnames=false, $nestLevel=0) 
     1405function rcmail_render_folder_tree_select(&$arrFolders, &$mbox_name, $maxlength, &$select, $realnames=false, $nestLevel=0, $exceptions=array()) 
    14061406{ 
    14071407  $out = ''; 
    14081408 
    1409   foreach ($arrFolders as $key=>$folder) { 
     1409  foreach ($arrFolders as $key => $folder) { 
     1410    if (!empty($exceptions) && in_array($folder['id'], $exceptions)) { 
     1411      continue; 
     1412    } 
     1413 
    14101414    if (!$realnames && ($folder_class = rcmail_folder_classname($folder['id']))) 
    14111415      $foldername = rcube_label($folder_class); 
     
    14211425 
    14221426    if (!empty($folder['folders'])) 
    1423       $out .= rcmail_render_folder_tree_select($folder['folders'], $mbox_name, $maxlength, $select, $realnames, $nestLevel+1); 
     1427      $out .= rcmail_render_folder_tree_select($folder['folders'], $mbox_name, $maxlength, 
     1428        $select, $realnames, $nestLevel+1, $exceptions); 
    14241429  } 
    14251430 
Note: See TracChangeset for help on using the changeset viewer.