Changeset a95e0e1 in github


Ignore:
Timestamp:
Oct 21, 2005 8:12:23 AM (8 years ago)
Author:
thomascube <thomas@…>
Branches:
master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.6, release-0.7, release-0.8
Children:
2dcfa11
Parents:
7902df4
Message:

Improved support for UTF-8 and other charsets

Files:
1 deleted
23 edited

Legend:

Unmodified
Added
Removed
  • CHANGELOG

    r9fee0ed ra95e0e1  
    4545 
    4646 
    47 2005/15/16 
     472005/10/20 
    4848---------- 
    49 - Added Portuguese and Catalan translation 
     49- Added Swedish, Portuguese and Catalan translation 
    5050- Make SMTP auth method configurable 
    5151- Make mailboxlist scrollable (Bug #1326372) 
    52  
     52- Fixed SSL support 
     53- Improved support for Courier IMAP (root folder and delimiter issues) 
     54- Moved taskbar from bottom to top 
     55- Added 'session_lifetime' parameter 
     56- Fixed wrong unread count when deleting message (Bug #1332434) 
     57- Srip tags when creating a new folder (Bug #1332084) 
     58- Translate HTML tags in message headers (Bug #1330134) 
     59- Correction in German translation (Bug #1329434) 
  • program/include/main.inc

    r7902df4 ra95e0e1  
    698698          return rep_specialchars_output("RoundCube|Mail :: ".$GLOBALS['PAGE_TITLE']); 
    699699        else if ($task=='mail' && ($mbox_name = $IMAP->get_mailbox_name())) 
    700           return "RoundCube|Mail :: $mbox_name"; 
     700          return "RoundCube|Mail :: ".rep_specialchars_output(UTF7DecodeString($mbox_name), 'html', 'all'); 
    701701        else 
    702702          return "RoundCube|Mail :: $task"; 
  • program/include/rcube_imap.inc

    r7902df4 ra95e0e1  
    2424require_once('lib/imap.inc'); 
    2525require_once('lib/mime.inc'); 
     26require_once('lib/utf7.inc'); 
    2627 
    2728 
     
    724725 
    725726 
     727  // clear all messages in a specific mailbox 
     728  function clear_mailbox($mbox) 
     729    { 
     730    $mailbox = $mbox ? $this->_mod_mailbox($mbox) : $this->mailbox; 
     731    $msg_count = $this->_messagecount($mailbox, 'ALL'); 
     732     
     733    if ($msg_count>0) 
     734      return iil_C_ClearFolder($this->conn, $mailbox); 
     735    else 
     736      return 0; 
     737    } 
     738 
     739 
    726740  // send IMAP expunge command and clear cache 
    727741  function expunge($mbox='', $clear_cache=TRUE) 
     
    802816    { 
    803817    $result = FALSE; 
    804     $abs_name = $this->_mod_mailbox($name); 
     818    $name_enc = UTF7EncodeString($name); 
     819    $abs_name = $this->_mod_mailbox($name_enc); 
    805820    $a_mailbox_cache = $this->get_cache('mailboxes'); 
    806821     
     
    809824 
    810825    if (strlen($abs_name) && (!is_array($a_mailbox_cache) || !in_array($abs_name, $a_mailbox_cache))) 
    811       $result = iil_C_CreateFolder($this->conn, iil_utf7_encode($abs_name)); 
     826      $result = iil_C_CreateFolder($this->conn, $abs_name); 
    812827 
    813828    // update mailboxlist cache 
    814829    if ($result && $subscribe) 
    815       $this->subscribe($name); 
     830      $this->subscribe($name_enc); 
    816831 
    817832    return $result ? $name : FALSE; 
     
    10581073  function charset_decode($body, $ctype_param) 
    10591074    { 
    1060     if (is_array($ctype_param) && strlen($ctype_param['charset'])) 
     1075    if (is_array($ctype_param) && !empty($ctype_param['charset'])) 
    10611076      return decode_specialchars($body, $ctype_param['charset']); 
    10621077 
  • program/include/rcube_shared.inc

    rde2e1eba ra95e0e1  
    10331033  { 
    10341034  global $sess_user_lang, $INSTALL_PATH; 
    1035   static $sa_text_data, $s_language; 
     1035  static $sa_text_data, $s_language, $utf8_decode; 
    10361036 
    10371037  // extract attributes 
     
    10701070      if (is_array($messages)) 
    10711071        $sa_text_data = array_merge($sa_text_data, $messages); 
     1072      } 
     1073       
     1074    if (isset($utf8_decoding) && $utf8_decoding==TRUE) 
     1075      { 
     1076      @include_once('lib/utf8.inc'); 
     1077      $utf8_decode = TRUE; 
    10721078      } 
    10731079       
     
    11101116    $text = $a_text_item['single']; 
    11111117 
    1112   // perform utf-8 decoding 
    1113   //if (function_exists('utf8_decode')) 
    1114   //  $text = utf8_decode($text); 
    1115  
    11161118  // replace vars in text 
    11171119  if (is_array($attrib['vars'])) 
     
    11291131EOF; 
    11301132"); 
     1133 
     1134 
     1135  // perform utf-8 decoding 
     1136  if ($utf8_decode && function_exists('utf8ToUnicodeEntities')) 
     1137    $text = utf8ToUnicodeEntities($text); 
    11311138 
    11321139 
     
    11901197      { 
    11911198      $html_encode_arr = get_html_translation_table(HTML_ENTITIES); 
    1192       $html_encode_arr["?"] = '&#150;'; 
    11931199      $html_encode_arr[chr(128)] = '&euro;'; 
    11941200      unset($html_encode_arr['?']); 
    11951201      unset($html_encode_arr['&']); 
    11961202      } 
    1197      
     1203 
    11981204    $ltpos = strpos($str, '<'); 
    11991205    $encode_arr = $html_encode_arr; 
     
    12551261  $charset = strtolower($charset); 
    12561262   
    1257   if (strcasecmp($charset, 'utf-8')==0) 
    1258     return utf8_decode($input); 
     1263  if ($charset=='utf-8') 
     1264    { 
     1265    require_once('lib/utf8.inc'); 
     1266    return utf8ToUnicodeEntities($input); 
     1267    } 
    12591268  else if ($charset=="koi8-r") 
    12601269    return convert_cyr_string($input, 'k', 'w'); 
  • program/js/app.js

    r7902df4 ra95e0e1  
    77 | Licensed under the GNU GPL                                            | 
    88 |                                                                       | 
    9  | Modified: 2005/10/13 (tbr)                                            | 
     9 | Modified: 2005/10/21 (roundcube)                                      | 
    1010 |                                                                       | 
    1111 +-----------------------------------------------------------------------+ 
     
    3232  this.dblclick_time = 600; 
    3333  this.message_time = 5000; 
     34  this.request_timeout = 120000; 
    3435  this.mbox_expression = new RegExp('[^0-9a-z\-_]', 'gi'); 
    3536  this.env.blank_img = 'skins/default/images/blank.gif'; 
     
    7778     
    7879    // check browser 
    79     if (!(bw.dom && ((bw.ie && bw.vendver>=5.5 && !bw.opera) || (bw.mz && bw.vendver>=1) || (bw.safari && bw.vendver>=125) || 
    80                      (bw.opera && bw.vendver>=8) || (bw.konq && bw.vendver>=3.4)))) 
     80    if (!bw.dom || !bw.xmlhttp_test()) 
    8181      { 
    8282      location.href = this.env.comm_path+'&_action=error&_code=0x199'; 
     
    733733 
    734734 
     735  // lock/unlock interface 
    735736  this.set_busy = function(a, message) 
    736737    { 
     
    745746    if (this.gui_objects.editform) 
    746747      this.lock_form(this.gui_objects.editform, a); 
     748       
     749    // clear pending timer 
     750    if (this.request_timer) 
     751      clearTimeout(this.request_timer); 
     752 
     753    // set timer for requests 
     754    if (a && this.request_timeout) 
     755      this.request_timer = setTimeout(this.ref+'.request_timed_out()', this.request_timeout); 
    747756    }; 
    748757 
     
    764773 
    765774    return url.replace(/_task=[a-z]+/, '_task='+task); 
     775    }; 
     776     
     777   
     778  // called when a request timed out 
     779  this.request_timed_out = function() 
     780    { 
     781    this.set_busy(false); 
     782    this.display_message('Request timed out!', 'error'); 
    766783    }; 
    767784 
     
    19691986    if (type) 
    19701987      cont = '<div class="'+type+'">'+cont+'</div>'; 
    1971        
     1988 
     1989    this.gui_objects.message._rcube = this; 
    19721990    this.gui_objects.message.innerHTML = cont; 
    19731991    this.gui_objects.message.style.display = 'block'; 
    19741992     
     1993    if (type!='loading') 
     1994      this.gui_objects.message.onmousedown = function(){ this._rcube.hide_message(); return true; }; 
     1995     
    19751996    if (!hold) 
    19761997      this.message_timer = setTimeout(this.ref+'.hide_message()', this.message_time); 
     
    19822003    { 
    19832004    if (this.gui_objects.message) 
     2005      { 
    19842006      this.gui_objects.message.style.display = 'none'; 
     2007      this.gui_objects.message.onmousedown = null; 
     2008      } 
    19852009    }; 
    19862010 
  • program/js/common.js

    r42b1135 ra95e0e1  
    77 | Licensed under the GNU GPL                                            | 
    88 |                                                                       | 
    9  | Modified: 19.08.2005 (tbr)                                            | 
     9 | Modified:2005/10/21 (roundcube)                                       | 
    1010 |                                                                       | 
    1111 +-----------------------------------------------------------------------+ 
     
    8282  this.opacity = (this.mz || (this.ie && this.vendver>=5.5 && !this.opera) || (this.safari && this.vendver>=100)); 
    8383  this.cookies = navigator.cookieEnabled; 
     84   
     85  // test for XMLHTTP support 
     86  this.xmlhttp_test = function() 
     87    { 
     88    var activeX_test = new Function("try{var o=new ActiveXObject('Microsoft.XMLHTTP');return true;}catch(err){return false;}"); 
     89    this.xmlhttp = (window.XMLHttpRequest || (window.ActiveXObject && activeX_test())) ? true : false; 
     90    return this.xmlhttp; 
     91    } 
    8492  } 
    8593 
  • program/lib/Mail/mimeDecode.php

    r15fee7b ra95e0e1  
    248248                        $return->ctype_secondary = $regs[2]; 
    249249                    } 
    250  
     250                     
    251251                    if (isset($content_type['other'])) { 
    252252                        while (list($p_name, $p_value) = each($content_type['other'])) { 
  • program/lib/imap.inc

    r9fee0ed ra95e0e1  
    12401240                        $result[$id]->encoding = str_replace("\n", " ", $headers["content-transfer-encoding"]); 
    12411241                        $result[$id]->ctype = str_replace("\n", " ", $headers["content-type"]); 
    1242                         //$result[$id]->in_reply_to = ereg_replace("[\n<>]",'', $headers['in-reply-to']); 
    1243                         list($result[$id]->ctype,$foo) = explode(";", $headers["content-type"]); 
     1242                        $result[$id]->in_reply_to = ereg_replace("[\n<>]",'', $headers['in-reply-to']); 
     1243                         
     1244                        list($result[$id]->ctype, $ctype_add) = explode(";", $headers["content-type"]); 
     1245 
     1246                        if (preg_match('/charset="?([a-z0-9\-]+)"?/i', $ctype_add, $regs)) 
     1247                                $result[$id]->charset = $regs[1]; 
     1248 
    12441249                        $messageID = $headers["message-id"]; 
    12451250                        if ($messageID) $messageID = substr(substr($messageID, 1), 0, strlen($messageID)-2); 
  • program/lib/utf8.inc

    r4e17e6c ra95e0e1  
    8989                } 
    9090 
    91                 if ($thisLen == 1) 
     91                if ($decimalCode<128) 
     92                        $encodedLetter = chr($decimalCode); 
     93                else if ($thisLen == 1) 
    9294                        $encodedLetter = "&#". str_pad($decimalCode, 3, "0", STR_PAD_LEFT) . ';'; 
    9395                else 
  • program/localization/de/labels.inc

    r30233b8 ra95e0e1  
    1010 |                                                                       | 
    1111 +-----------------------------------------------------------------------+ 
    12  | Author: Thomas Bruederli <roundcube@gmail.com>                        | 
     12 | Author:      Thomas Bruederli <roundcube@gmail.com>                   | 
     13 | Corrections: Alexander Stiebing <ja.stiebing[NOSPAM]@web.de>          | 
    1314 +-----------------------------------------------------------------------+ 
    1415 
     
    1920$labels = array(); 
    2021 
    21 // login page 
     22// login page // Login-Seite 
    2223$labels['username']  = 'Benutzername'; 
    2324$labels['password']  = 'Passwort'; 
     
    2526$labels['login']     = 'Login'; 
    2627 
    27 // taskbar 
     28// taskbar // Aktionsleiste 
    2829$labels['logout']   = 'Logout'; 
    2930$labels['mail']     = 'E-Mail'; 
     
    3132$labels['addressbook'] = 'Adressbuch'; 
    3233 
    33 // mailbox names 
     34// mailbox names // E-Mail-Ordnernamen 
    3435$labels['inbox']  = 'Posteingang'; 
    3536$labels['sent']   = 'Gesendet'; 
     
    3839$labels['junk']   = 'Junk'; 
    3940 
    40 // message listing 
     41// message listing // Nachrichtenliste 
    4142$labels['subject'] = 'Betreff'; 
    4243$labels['from']    = 'Absender'; 
    4344$labels['to']      = 'Empfänger'; 
    44 $labels['cc']      = 'Kopie'; 
    45 $labels['bcc']     = 'Bcc'; 
     45$labels['cc']      = 'Kopie (CC)'; 
     46$labels['bcc']     = 'Blind-Kopie'; 
    4647$labels['replyto'] = 'Antwort an'; 
    4748$labels['date']    = 'Datum'; 
    48 $labels['size']    = 'Grösse'; 
     49$labels['size']    = 'Größe'; 
    4950$labels['priority'] = 'Priorität'; 
    5051$labels['organization'] = 'Organisation'; 
    5152 
    52 // aliases 
     53// aliases // [Platzhalter] 
    5354$labels['reply-to'] = $labels['replyto']; 
    5455 
     
    5758$labels['messagenrof'] = 'Nachrichten $nr von $count'; 
    5859 
    59 $labels['moveto']   = 'verschieben nach...'; 
    60 $labels['download'] = 'download'; 
     60$labels['moveto']   = 'Verschieben nach...'; 
     61$labels['download'] = 'Download'; 
    6162 
    6263$labels['filename'] = 'Dateiname'; 
     
    6970$labels['addtoaddressbook'] = 'Ins Adressbuch übernehmen'; 
    7071 
    71 // weekdays short 
     72// weekdays short // Wochentage (Abkürzungen)  
    7273$labels['sun'] = 'So'; 
    7374$labels['mon'] = 'Mo'; 
     
    7879$labels['sat'] = 'Sa'; 
    7980 
    80 // weekdays long 
     81// weekdays long // Wochentage (normal) 
    8182$labels['sunday']    = 'Sonntag'; 
    8283$labels['monday']    = 'Montag'; 
     
    8990$labels['today'] = 'Heute'; 
    9091 
    91 // toolbar buttons 
     92// toolbar buttons // Symbolleisten-Tipps 
    9293$labels['writenewmessage']  = 'Neue Nachricht schreiben'; 
    9394$labels['replytomessage']   = 'Antwort verfassen'; 
     
    104105$labels['unread'] = 'Ungelesene'; 
    105106 
    106 // message compose 
     107// message compose // Nachrichten erstellen 
    107108$labels['compose']  = 'Neue Nachricht verfassen'; 
    108109$labels['sendmessage']  = 'Nachricht jetzt senden'; 
     
    111112$labels['attachments'] = 'Anhänge'; 
    112113$labels['upload'] = 'Hochladen'; 
    113 $labels['close']  = 'Schliessen'; 
     114$labels['close']  = 'Schließen'; 
    114115 
    115 $labels['low']     = 'Tief'; 
    116 $labels['lowest']  = 'Tiefste'; 
     116$labels['low']     = 'Niedrig'; 
     117$labels['lowest']  = 'Niedrigste'; 
    117118$labels['normal']  = 'Normal'; 
    118119$labels['high']    = 'Hoch'; 
     
    122123 
    123124 
    124 // address boook 
     125// address book // Adressbuch 
    125126$labels['name']      = 'Anzeigename'; 
    126127$labels['firstname'] = 'Vorname'; 
     
    140141$labels['composeto']      = 'Nachricht verfassen'; 
    141142$labels['contactsfromto'] = 'Kontakte $from bis $to von $count'; 
     143$labels['print']          = 'Drucken'; 
     144$labels['export']         = 'Exportieren'; 
    142145 
    143146 
    144 // settings 
     147// settings // Einstellungen 
    145148$labels['settingsfor']  = 'Einstellungen für'; 
    146149 
    147150$labels['preferences']  = 'Einstellungen'; 
    148151$labels['userpreferences']  = 'Benutzereinstellungen'; 
    149 $labels['editpreferences']  = 'Ereinstellungen bearbeiten'; 
     152$labels['editpreferences']  = 'Einstellungen bearbeiten'; 
    150153 
    151154$labels['identities']  = 'Absender'; 
  • program/localization/de/messages.inc

    r8c67d58 ra95e0e1  
    2525$messages['sessionerror'] = 'Ihre Session ist ungültig oder abgelaufen'; 
    2626 
    27 $messages['imaperror'] = 'Keine Verbindung zum IMAP server'; 
     27$messages['imaperror'] = 'Keine Verbindung zum IMAP Server'; 
    2828 
    29 $messages['nomessagesfound'] = 'Keine Nachrichten in diesem Order'; 
     29$messages['nomessagesfound'] = 'Keine Nachrichten in diesem Ordner'; 
    3030 
    3131$messages['loggedout'] = 'Sie haben Ihre Session erfolgreich beendet. Auf Wiedersehen!'; 
  • program/localization/en/labels.inc

    rcd900dd ra95e0e1  
    141141$labels['composeto']      = 'Compose mail to'; 
    142142$labels['contactsfromto'] = 'Contacts $from to $to of $count'; 
    143 $labels['print']          = 'Imprimir'; 
    144 $labels['export']         = 'Exportar'; 
     143$labels['print']          = 'Print'; 
     144$labels['export']         = 'Export'; 
    145145 
    146146 
  • program/localization/index.inc

    r1038d554 ra95e0e1  
    4040        'jp'    => 'Japanese',  
    4141        'kr'    => 'Korean', 
    42         'lt'    => 'Lithuanian', 
     42        'lv'    => 'Latvian', 
    4343        'nl'    => 'Nederlands', 
    4444        'no'    => 'Norsk (bokm&aring;l)', 
  • program/steps/error.inc

    r539cd47 ra95e0e1  
    3535<br /> 
    3636&raquo; &nbsp;JavaScript enabled<br /> 
     37&raquo; &nbsp;Support for XMLHTTPRequest<br /> 
    3738 
    3839<p><i>Your configuration:</i><br /> 
  • program/steps/mail/func.inc

    r7902df4 ra95e0e1  
    2222require_once('lib/html2text.inc'); 
    2323require_once('lib/enriched.inc'); 
     24require_once('lib/utf8.inc'); 
     25require_once('lib/utf7.inc'); 
    2426 
    2527 
     
    158160      $foldername = rcube_label($folder_lc); 
    159161    else 
    160       $foldername = $folder['name']; 
    161  
    162     // shorten the folder name to a given length 
    163     if ($maxlength && $maxlength>1) 
    164       $foldername = abbrevate_string($foldername, $maxlength); 
    165  
     162      { 
     163      $foldername = UTF7DecodeString($folder['name']); 
     164 
     165      // shorten the folder name to a given length 
     166      if ($maxlength && $maxlength>1) 
     167        $foldername = abbrevate_string($foldername, $maxlength); 
     168      } 
     169 
     170    // add unread message count display 
    166171    if ($unread_count = $IMAP->messagecount($folder['id'], 'UNSEEN', ($folder['id']==$mbox))) 
    167172      $foldername .= sprintf(' (%d)', $unread_count); 
     
    177182                    $JS_OBJECT_NAME, 
    178183                    $folder['id'], 
    179                     rep_specialchars_output($foldername)); 
     184                    rep_specialchars_output($foldername, 'html', 'all')); 
    180185 
    181186    if (!empty($folder['folders'])) 
     
    203208      $foldername = rcube_label($folder_lc); 
    204209    else 
    205       $foldername = $folder['name']; 
    206  
    207     // shorten the folder name to a given length 
    208     if ($maxlength && $maxlength>1) 
    209       $foldername = abbrevate_string($foldername, $maxlength); 
     210      { 
     211      $foldername = UTF7DecodeString($folder['name']); 
     212       
     213      // shorten the folder name to a given length 
     214      if ($maxlength && $maxlength>1) 
     215        $foldername = abbrevate_string($foldername, $maxlength); 
     216      } 
    210217 
    211218    $out .= sprintf('<option value="%s">%s%s</option>'."\n", 
    212219                    $folder['id'], 
    213220                    str_repeat('&nbsp;', $nestLevel*4), 
    214                     rep_specialchars_output($foldername)); 
     221                    rep_specialchars_output($foldername, 'html', 'all')); 
    215222 
    216223    if (!empty($folder['folders'])) 
     
    601608                              'ctype_primary' => $message_ctype_primary, 
    602609                              'ctype_secondary' => $message_ctype_secondary, 
     610                              'parameters' => $structure->ctype_parameters, 
    603611                              'encoding' => $structure->headers['content-transfer-encoding']); 
    604612    } 
     
    694702                                  'ctype_primary' => $primary_type, 
    695703                                  'ctype_secondary' => $secondary_type, 
     704                                  'parameters' => $mail_part->ctype_parameters, 
    696705                                  'encoding' => $mail_part->headers['content-transfer-encoding']); 
    697706        } 
     
    868877      else if ($part['type']=='content') 
    869878        { 
    870 //        var_dump($part['parameters']); 
     879        if (empty($part['parameters']) || empty($part['parameters']['charset'])) 
     880          $part['parameters']['charset'] = $MESSAGE['headers']->charset; 
     881         
    871882        // $body = rcmail_print_body($part['body'], $part['ctype_primary'], $part['ctype_secondary'], $part['encoding'], $safe_mode); 
    872883        $body = rcmail_print_body($part, $safe_mode); 
     
    10791090    $j++; 
    10801091    if ($PRINT_MODE) 
    1081       $out .= sprintf('%s &lt;%s&gt;', htmlentities($part['name']), $part['mailto']); 
     1092      $out .= sprintf('%s &lt;%s&gt;', rep_specialchars_output($part['name']), $part['mailto']); 
    10821093    else if (preg_match($EMAIL_ADDRESS_PATTERN, $part['mailto'])) 
    10831094      { 
     
    10871098                      $part['mailto'], 
    10881099                      $part['mailto'], 
    1089                       htmlentities($part['name'])); 
     1100                      rep_specialchars_output($part['name'])); 
    10901101                       
    10911102      if ($addicon) 
     
    11001111      { 
    11011112      if ($part['name']) 
    1102         $out .= htmlentities($part['name']); 
     1113        $out .= rep_specialchars_output($part['name']); 
    11031114      if ($part['mailto']) 
    11041115        $out .= (strlen($out) ? ' ' : '') . sprintf('&lt;%s&gt;', $part['mailto']); 
  • program/steps/mail/sendmail.inc

    r520c36a ra95e0e1  
    148148    $MAIL_MIME->addAttachment($filepath, $files['type'][$i], $files['name'][$i], TRUE); 
    149149 
     150// encoding settings for mail composing 
     151$message_param = array('text_encoding' => '7bit', 
     152                       'html_encoding' => 'quoted-printable', 
     153                       'head_encoding' => 'quoted-printable', 
     154                       'head_charset'  => 'ISO-8859-1', 
     155                       'html_charset'  => 'UTF-8', 
     156                       'text_charset'  => 'UTF-8'); 
    150157 
    151158// compose message body and get headers 
    152 $msg_body = $MAIL_MIME->get(); 
     159$msg_body = $MAIL_MIME->get($message_param); 
    153160$msg_subject = $headers['Subject']; 
    154161 
  • program/steps/settings/manage_folders.inc

    r520c36a ra95e0e1  
    1919 
    2020*/ 
     21 
     22require_once('lib/utf7.inc'); 
    2123 
    2224// init IAMP connection 
     
    4850  { 
    4951  if (strlen($_GET['_name'])) 
    50     $create = $IMAP->create_mailbox(trim($_GET['_name']), TRUE); 
     52    $create = $IMAP->create_mailbox(strip_tags(trim($_GET['_name'])), TRUE); 
    5153 
    5254  if ($create && $_GET['_remote']) 
     
    123125                    $i+1, 
    124126                    $zebra_class, 
    125                     rep_specialchars_output($folder, 'html'), 
     127                    rep_specialchars_output(UTF7DecodeString($folder), 'html', 'all'), 
    126128                    $checkbox_subscribe->show(in_array($folder, $a_subscribed)?$folder:'', array('value' => $folder)), 
    127129                    $JS_OBJECT_NAME, 
  • skins/default/common.css

    r7902df4 ra95e0e1  
    171171  right: 200px; 
    172172  z-index: 5000; 
     173  opacity: 0.85; 
    173174} 
    174175 
  • skins/default/settings.css

    r7902df4 ra95e0e1  
    55{ 
    66  position: absolute; 
    7   top: 45px; 
     7  top: 50px; 
    88  left: 220px; 
    99  right: 60px; 
     
    4848{ 
    4949  position: absolute; 
    50   top: 90px; 
     50  top: 95px; 
    5151  left: 20px; 
    5252  width: 550px; 
     
    6464{ 
    6565  position: absolute; 
    66   top: 90px; 
     66  top: 95px; 
    6767  left: 20px; 
    6868} 
  • skins/default/templates/addressbook.html

    r4e17e6c ra95e0e1  
    3232</div> 
    3333 
    34 <roundcube:include file="/includes/taskbar.html" /> 
    35  
    3634</body> 
    3735</html> 
  • skins/default/templates/compose.html

    r20a1b3a ra95e0e1  
    113113--> 
    114114 
    115 <roundcube:include file="/includes/taskbar.html" /> 
    116  
    117115</body> 
    118116</html> 
  • skins/default/templates/mail.html

    rcd900dd ra95e0e1  
    4646</div> 
    4747 
    48 <roundcube:include file="/includes/taskbar.html" /> 
    49  
    5048</body> 
    5149</html> 
  • skins/default/templates/message.html

    r702f291 ra95e0e1  
    1717<roundcube:button command="print" imageAct="/images/buttons/print_act.png" imagePas="/images/buttons/print_pas.png" width="32" height="32" title="printmessage" /> 
    1818<roundcube:button command="viewsource" imageAct="/images/buttons/source_act.png" imagePas="/images/buttons/source_pas.png" width="32" height="32" title="viewsource" /> 
    19 <roundcube:object name="mailboxlist" type="select" noSelection="moveto" onchange="rcmail.command('moveto', this.options[this.selectedIndex].value)" class="mboxlist" /> 
     19<roundcube:object name="mailboxlist" type="select" noSelection="moveto" maxlength="25" onchange="rcmail.command('moveto', this.options[this.selectedIndex].value)" class="mboxlist" /> 
    2020</div> 
    2121 
     
    2727 
    2828<div id="mailboxlist-header"><roundcube:label name="mailboxlist" /></div> 
    29 <div id="mailboxlist-container"><roundcube:object name="mailboxlist" id="mailboxlist" /></div> 
     29<div id="mailboxlist-container"><roundcube:object name="mailboxlist" id="mailboxlist" maxlength="16" /></div> 
    3030 
    3131<div id="messageframe"> 
     
    3636</div> 
    3737 
    38 <roundcube:include file="/includes/taskbar.html" /> 
    39  
    4038</body> 
    4139</html> 
Note: See TracChangeset for help on using the changeset viewer.