Changeset 1622 in subversion


Ignore:
Timestamp:
Jul 31, 2008 5:30:25 PM (5 years ago)
Author:
thomasb
Message:

Show real names in folder drop-down + rebuild default_imap_folders property when saving prefs

Location:
trunk/roundcubemail/program
Files:
3 edited

Legend:

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

    r1620 r1622  
    880880  global $IMAP, $OUTPUT; 
    881881  static $a_mailboxes; 
     882   
     883  $attrib += array('maxlength' => 100, 'relanames' => false); 
    882884 
    883885  // add some labels to client 
     
    912914      $select->add(rcube_label($attrib['noselection']), '0'); 
    913915     
    914     rcmail_render_folder_tree_select($a_mailboxes, $mbox_name, $attrib['maxlength'], $select); 
     916    rcmail_render_folder_tree_select($a_mailboxes, $mbox_name, $attrib['maxlength'], $select, $attrib['realnames']); 
    915917    $out = $select->show(); 
    916918  } 
    917919  else { 
    918     $out = html::tag('ul', $attrib, rcmail_render_folder_tree_html($a_mailboxes, $mbox_name, $attrib['maxlength']), html::$common_attrib); 
     920    $out = html::tag('ul', $attrib, rcmail_render_folder_tree_html($a_mailboxes, $mbox_name, $attrib['maxlength'], $attrib['realnames']), html::$common_attrib); 
    919921  } 
    920922 
     
    936938  global $RCMAIL; 
    937939   
    938   $p += array('maxlength' => 100); 
     940  $p += array('maxlength' => 100, 'relanames' => false); 
    939941  $a_mailboxes = array(); 
    940942   
     
    947949    $select->add($p['noselection'], ''); 
    948950     
    949   rcmail_render_folder_tree_select($a_mailboxes, $mbox, $p['maxlength'], $select); 
     951  rcmail_render_folder_tree_select($a_mailboxes, $mbox, $p['maxlength'], $select, $p['realnames']); 
    950952   
    951953  return $select; 
     
    990992 * @access private 
    991993 */ 
    992 function rcmail_render_folder_tree_html(&$arrFolders, &$mbox_name, $maxlength, $nestLevel=0) 
     994function rcmail_render_folder_tree_html(&$arrFolders, &$mbox_name, $maxlength, $realnames=false, $nestLevel=0) 
    993995  { 
    994996  global $COMM_PATH, $IMAP, $CONFIG, $OUTPUT; 
     
    10011003    $title = null; 
    10021004 
    1003     if ($folder_class = rcmail_folder_classname($folder['id'])) 
     1005    if (($folder_class = rcmail_folder_classname($folder['id'])) && !$realnames) 
    10041006      $foldername = rcube_label($folder_class); 
    10051007    else 
     
    10531055     
    10541056    if (!empty($folder['folders'])) 
    1055       $out .= "\n<ul>\n" . rcmail_render_folder_tree_html($folder['folders'], $mbox_name, $maxlength, $nestLevel+1) . "</ul>\n"; 
     1057      $out .= "\n<ul>\n" . rcmail_render_folder_tree_html($folder['folders'], $mbox_name, $maxlength, $realnames, $nestLevel+1) . "</ul>\n"; 
    10561058 
    10571059    $out .= "</li>\n"; 
     
    10671069 * @access private 
    10681070 */ 
    1069 function rcmail_render_folder_tree_select(&$arrFolders, &$mbox_name, $maxlength, &$select, $nestLevel=0) 
     1071function rcmail_render_folder_tree_select(&$arrFolders, &$mbox_name, $maxlength, &$select, $realnames=false, $nestLevel=0) 
    10701072  { 
    10711073  global $IMAP, $OUTPUT; 
     
    10751077  foreach ($arrFolders as $key=>$folder) 
    10761078    { 
    1077     if ($folder_class = rcmail_folder_classname($folder['id'])) 
     1079    if (!$realnames && ($folder_class = rcmail_folder_classname($folder['id']))) 
    10781080      $foldername = rcube_label($folder_class); 
    10791081    else 
     
    10891091 
    10901092    if (!empty($folder['folders'])) 
    1091       $out .= rcmail_render_folder_tree_select($folder['folders'], $mbox_name, $maxlength, $select, $nestLevel+1); 
     1093      $out .= rcmail_render_folder_tree_select($folder['folders'], $mbox_name, $maxlength, $select, $realnames, $nestLevel+1); 
    10921094 
    10931095    $idx++; 
  • trunk/roundcubemail/program/steps/settings/func.inc

    r1619 r1622  
    228228 
    229229  // Configure special folders 
    230   if (!isset($no_override['folders'])) { 
     230  if (!isset($no_override['default_imap_folders'])) { 
    231231    $RCMAIL->imap_init(true); 
    232     $select = rcmail_mailbox_select(array('noselection' => '---')); 
     232    $select = rcmail_mailbox_select(array('noselection' => '---', 'realnames' => true)); 
    233233     
    234234    $table = new html_table(array('cols' => 2)); 
  • trunk/roundcubemail/program/steps/settings/save_prefs.inc

    r1619 r1622  
    4747  $a_user_prefs[$p] = $CONFIG[$p]; 
    4848 
     49// special handling for 'default_imap_folders' 
     50if (in_array('default_imap_folders', (array)$CONFIG['dont_override'])) { 
     51  foreach (array('drafts_mbox','sent_mbox','junk_mbox','trash_mbox') as $p) 
     52    $a_user_prefs[$p] = $CONFIG[$p]; 
     53} 
     54else { 
     55  $a_user_prefs['default_imap_folders'] = array('INBOX'); 
     56  foreach (array('drafts_mbox','sent_mbox','junk_mbox','trash_mbox') as $p) { 
     57    if ($a_user_prefs[$p]) 
     58      $a_user_prefs['default_imap_folders'][] = $a_user_prefs[$p]; 
     59  } 
     60} 
    4961 
    5062// switch UI language 
Note: See TracChangeset for help on using the changeset viewer.