пятница, 11 июля 2008 г.

Roundcube 1.1

Выдернуто с форума roundcube.ru


Подведем некоторый итог по версии 0.1.1.
Итак, в свежеустановленной версии roundcube 0.1.1 можно сделать следующие исправления:

1. program/lib/imap.inc
// generate reply
$reply = base64_encode('"' . $user . '" "' . $hash . '"');
заменить на $reply = base64_encode($user . ' ' . $hash); это решит проблему с аутентификацией на IMAP сервере

2. установить поддержку mbstring в PHP
в файле ..../program/steps/mail/get.inc
добавляем код начиная со 108 строки
if ($BROWSER['win'] && $_SERVER['HTTP_ACCEPT_LANGUAGE'] == 'ru' && $BROWSER['ie'])
{
$part->filename = mb_convert_encoding($part->filename, "CP1251", "UTF-8");
}
if ($BROWSER['ie'])
$iehack = $part->filename = abbreviate_string($part->filename, 55);
else
$iehack = abbreviate_string($part->filename, 128);
header(sprintf('Content-Disposition: %s; filename="%s";',
$_GET['_download'] ? 'attachment' : 'inline',
$part->filename ? $iehack : "roundcube.$ctype_secondary"));
последние три строчки также есть в оригинале, их нужно переписать
Данное исправление решает проблему с сохранением русских вложений в IE

3. В скрипте program/lib/Mail/mime.php есть строчка кода $filename = basename($filename);
заменим ее на $filename = ltrim(basename(' '.$filename)); это решает проблему с вырезанием первого слова из русского названия вложения.