Ticket #1484577: bad_date_display.patch

File bad_date_display.patch, 1.5 kB (added by memoryhole, 16 months ago)

A fix for the display problem. Extracts the date field from the first-added Received header.

  • program/lib/imap.inc

     
    12401240        /* FETCH date,from,subject headers */ 
    12411241        $key="fh".($c++); 
    12421242        $prefix=$uidfetch?" UID":""; 
    1243         $request=$key.$prefix." FETCH $message_set (BODY.PEEK[HEADER.FIELDS (DATE FROM TO SUBJECT REPLY-TO IN-REPLY-TO CC BCC CONTENT-TRANSFER-ENCODING CONTENT-TYPE MESSAGE-ID REFERENCE)])\r\n"; 
     1243        $request=$key.$prefix." FETCH $message_set (BODY.PEEK[HEADER.FIELDS (DATE FROM TO SUBJECT REPLY-TO IN-REPLY-TO CC BCC CONTENT-TRANSFER-ENCODING CONTENT-TYPE MESSAGE-ID REFERENCE RECEIVED)])\r\n"; 
    12441244 
    12451245        if (!fputs($fp, $request)) return false; 
    12461246        do{ 
     
    12841284                                $field = strtolower($field); 
    12851285                                $headers[$field] = $string; 
    12861286                        } 
    1287                         $result[$id]->date = $headers["date"]; 
    1288                         $result[$id]->timestamp = iil_StrToTime($headers["date"]); 
     1287                        if (isset($headers["date"])) { 
     1288                                $result[$id]->date = $headers["date"]; 
     1289                                $result[$id]->timestamp = iil_StrToTime($headers["date"]); 
     1290                        } elseif (isset($headers["received"])) { 
     1291                                $result[$id]->date = str_replace("\n","",substr(strstr(str_replace("\n","",$headers["received"]),"; "),2)); 
     1292                                $result[$id]->timestamp = iil_StrToTime(substr(strstr(str_replace("\n","",$headers["received"]), "; "), 2)); 
     1293                        } 
    12891294                        $result[$id]->from = $headers["from"]; 
    12901295                        $result[$id]->to = str_replace("\n", " ", $headers["to"]); 
    12911296                        $result[$id]->subject = str_replace("\n", "", $headers["subject"]);