URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 6615
[ Назад ]

Исходное сообщение
"Roundcube и папка Trash"

Отправлено Ilya Evseev , 18-Ноя-09 16:10 
Добавлено: Ср 18 Ноя, 2009 17:08    Заголовок сообщения: Roundcube, Dovecot и папка Trash      
Имеются Dovecot и Roundcube 0.2.1.

По умолчанию Roundcube показывает папки "Входящие" и "Корзина",
но в Корзину не перейти и при попытке удалить сообщение
Roundcube пишет "Не могу удалить сообщение".

Трассировка приводит в файл roundcubemail/program/include/rcube_imap.php:

  function move_message($uids, $to_mbox, $from_mbox='')
    {
    $to_mbox = $this->_mod_mailbox($to_mbox);
    $from_mbox = $from_mbox ? $this->_mod_mailbox($from_mbox) : $this->mailbox;

    // make sure mailbox exists
    if ($to_mbox != 'INBOX' && !in_array($to_mbox, $this->_list_mailboxes()))
      {
      if (in_array($to_mbox_in, $this->default_folders))
        $this->create_mailbox($to_mbox_in, TRUE);
      else
        return FALSE;   // срабатывает этот FALSE
      }

$to_mbox содержит "Trash", а $to_mbox_in нигде не присваивается,  поэтому при проверке
оказывается пустой, так что если папка Trash ещё не создана,  функция всегда вернет FALSE.

Если создать папку "Trash" вручную, то удаление начинает работать нормально.
Правда, папок "Корзина" при этом становится две: нормальная с типовой иконкой и пустая с фирменной.

Вопрос: кто-нибудь уже натыкался на эту багу?


Содержание

Сообщения в этом обсуждении
"Roundcube и папка Trash"
Отправлено KarD_IO , 19-Ноя-09 08:18 
Возможно поможет:

Во-первых:

// move messages to this folder when deleting them
// leave blank if they should be deleted directly
$rcmail_config['trash_mbox'] = 'Trash';

Во-вторых:

// display these folders separately in the mailbox list.
// these folders will also be displayed with localized names
$rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash');

// automatically create the above listed default folders on login
$rcmail_config['create_default_folders'] = TRUE;


(с) roundcube/config/main.inc.php


"Roundcube и папка Trash"
Отправлено Ilya Evseev , 19-Ноя-09 16:33 
>Во-первых:
>$rcmail_config['trash_mbox'] = 'Trash';
>Во-вторых:
>$rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash');

Это настройки по умолчанию.
У меня так и есть.
Что никак не объясняет проблемы с неназначенной переменной в move_message().

>$rcmail_config['create_default_folders'] = TRUE;

Это маскирует проблему (Корзина станет создаваться заранее), но не объясняет её.
Ещё можно включить прямое удаление - чем не вариант? :)


"Roundcube и папка Trash"
Отправлено KarD_IO , 19-Ноя-09 21:10 
>Что никак не объясняет проблемы с неназначенной переменной в move_message().

Да - переменная нигде больше не используется. Жук!

>Это маскирует проблему (Корзина станет создаваться заранее), но не объясняет её.

Очевидно пытаются создать папочку если она не существует, там должна быть переменна to_mbox.

>Ещё можно включить прямое удаление - чем не вариант? :)

А если "ручками" попробовать через IMAP протокол - перемещение работает?