Hi all,

I'm using gmail like imap server with RC and I find a bug (I think gMail
bug).
Seems related the open tiket 1485746.

RC use the message position for deleting and not it's UID. When a message
was copy in the trash folder google expunge it automatically. Than RC set
the flag /deleted at the message that was just expunged and it flag the
previous message that now have the same position. RC in this way delete 2
messages.

This is my workorund.
I've modify the imap.inc in the program/lib folder in this way:

function iil_C_Move(&$conn, $messages, $from, $to) {
    $fp = $conn->fp;

    if (!$from || !$to) {
        return -1;
    }
    
    /*
    IDWEB START Modify
    */
    // Check for GMail auto expunge messages when copied in trash folder
    $a_messages = explode(',', $messages);
    $a_oldmessagesuid = array();
    foreach ($a_messages as $uid)
      $a_oldmessagesuid[] = iil_C_ID2UID($conn, $from, $uid);
      
    $oldmessagesuid = join(',', $a_oldmessagesuid);
    /*
    IDWEB STOP Modify
    */    
    
    
    $r = iil_C_Copy($conn, $messages, $from,$to);
    if ($r==0) {
        /*
        IDWEB START Modify
        */
        $a_newmessagesuid = array();
        foreach ($a_messages as $uid)
                $a_newmessagesuid[] = iil_C_ID2UID($conn, $from, $uid);
        
        $newmessagesuid = join(',', $a_newmessagesuid);
        
        if($newmessagesuid == $oldmessagesuid)
        // Delete only if there is not autoexpunge action by IMAP server
        /*
        IDWEB STOP Modify
        */
                return iil_C_Delete($conn, $from, $messages);
    }
    return $r;
}

I can't open directly a tiket becouse I can't create a new account.
I hope that u can include a workaround like this in the next release.

Thanks all

-- 
Sandro
_______________________________________________
List info: http://lists.roundcube.net/dev/

Reply via email to