Ignore:
Timestamp:
Feb 4, 2008 1:07:48 PM (5 years ago)
Author:
thomasb
Message:

Respect config when localize folder names

File:
1 edited

Legend:

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

    r1003 r1014  
    16241624  $mbox_name = $IMAP->get_mailbox_name(); 
    16251625   
    1626   // for these mailboxes we have localized labels 
    1627   $special_mailboxes = array('inbox', 'sent', 'drafts', 'trash', 'junk'); 
    1628  
    1629  
    16301626  // build the folders tree 
    16311627  if (empty($a_mailboxes)) 
     
    16451641 
    16461642  if ($type=='select') 
    1647     $out .= rcmail_render_folder_tree_select($a_mailboxes, $special_mailboxes, $mbox_name, $attrib['maxlength']); 
     1643    $out .= rcmail_render_folder_tree_select($a_mailboxes, $mbox_name, $attrib['maxlength']); 
    16481644   else 
    1649     $out .= rcmail_render_folder_tree_html($a_mailboxes, $special_mailboxes, $mbox_name, $attrib['maxlength']); 
     1645    $out .= rcmail_render_folder_tree_html($a_mailboxes, $mbox_name, $attrib['maxlength']); 
    16501646 
    16511647// rcube_print_time($mboxlist_start, 'render_folder_tree()'); 
     
    16971693 * @access private 
    16981694 */ 
    1699 function rcmail_render_folder_tree_html(&$arrFolders, &$special, &$mbox_name, $maxlength, $nestLevel=0) 
     1695function rcmail_render_folder_tree_html(&$arrFolders, &$mbox_name, $maxlength, $nestLevel=0) 
    17001696  { 
    17011697  global $COMM_PATH, $IMAP, $CONFIG, $OUTPUT; 
     
    17081704    $title = ''; 
    17091705 
    1710     $folder_lc = strtolower($folder['id']); 
    1711     if (in_array($folder_lc, $special)) 
    1712       $foldername = rcube_label($folder_lc); 
     1706    if ($folder_class = rcmail_folder_classname($folder['id'])) 
     1707      $foldername = rcube_label($folder_class); 
    17131708    else 
    17141709      { 
     
    17311726    // make folder name safe for ids and class names 
    17321727    $folder_id = preg_replace('/[^A-Za-z0-9\-_]/', '', $folder['id']); 
    1733     $class_name = preg_replace('/[^a-z0-9\-_]/', '', $folder_lc); 
     1728    $class_name = preg_replace('/[^a-z0-9\-_]/', '', $folder_class ? $folder_class : strtolower($folder['id'])); 
    17341729 
    17351730    // set special class for Sent, Drafts, Trash and Junk 
     
    17671762 
    17681763    if (!empty($folder['folders'])) 
    1769       $out .= "\n<ul>\n" . rcmail_render_folder_tree_html($folder['folders'], $special, $mbox_name, $maxlength, $nestLevel+1) . "</ul>\n"; 
     1764      $out .= "\n<ul>\n" . rcmail_render_folder_tree_html($folder['folders'], $mbox_name, $maxlength, $nestLevel+1) . "</ul>\n"; 
    17701765 
    17711766    $out .= "</li>\n"; 
     
    17811776 * @access private 
    17821777 */ 
    1783 function rcmail_render_folder_tree_select(&$arrFolders, &$special, &$mbox_name, $maxlength, $nestLevel=0) 
     1778function rcmail_render_folder_tree_select(&$arrFolders, &$mbox_name, $maxlength, $nestLevel=0) 
    17841779  { 
    17851780  global $IMAP, $OUTPUT; 
     
    17891784  foreach ($arrFolders as $key=>$folder) 
    17901785    { 
    1791     $folder_lc = strtolower($folder['id']); 
    1792     if (in_array($folder_lc, $special)) 
    1793       $foldername = rcube_label($folder_lc); 
     1786    if ($folder_class = rcmail_folder_classname($folder['id'])) 
     1787      $foldername = rcube_label($folder_class); 
    17941788    else 
    17951789      { 
     
    18071801 
    18081802    if (!empty($folder['folders'])) 
    1809       $out .= rcmail_render_folder_tree_select($folder['folders'], $special, $mbox_name, $maxlength, $nestLevel+1); 
     1803      $out .= rcmail_render_folder_tree_select($folder['folders'], $mbox_name, $maxlength, $nestLevel+1); 
    18101804 
    18111805    $idx++; 
     
    18151809  } 
    18161810 
     1811 
     1812/** 
     1813 * Return internal name for the given folder if it matches the configured special folders 
     1814 * @access private 
     1815 */ 
     1816function rcmail_folder_classname($folder_id) 
     1817{ 
     1818  global $CONFIG; 
     1819 
     1820  $cname = null; 
     1821  $folder_lc = strtolower($folder_id); 
     1822   
     1823  // for these mailboxes we have localized labels and css classes 
     1824  foreach (array('inbox', 'sent', 'drafts', 'trash', 'junk') as $smbx) 
     1825  { 
     1826    if ($folder_lc == $smbx || $folder_id == $CONFIG[$smbx.'_mbox']) 
     1827      $cname = $smbx; 
     1828  } 
     1829   
     1830  return $cname; 
     1831} 
     1832 
     1833 
    18171834?> 
Note: See TracChangeset for help on using the changeset viewer.