Changeset 2906 for trunk


Ignore:
Timestamp:
06/08/10 16:49:25 (14 years ago)
Author:
amuller
Message:

Ticket #737 - Arrumando flags de desanexar e outros campos do header

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/inc/class.imap_functions.inc.php

    r2905 r2906  
    374374 
    375375                $headertemp = imap_headerinfo($this->mbox, imap_msgno($this->mbox, $params["msg_num"])); 
    376                 $header = "Date: ".$headertemp->date . "\r\n"; 
    377                 $header .= "To: ".$headertemp->toaddress . "\r\n"; 
    378                 $header .= "From: ".$headertemp->fromaddress . "\r\n"; 
    379                 $header .= "X-Expresso-Modified: ".date("F j, Y, g:i a"). "\r\n"; 
    380                 $header .= "Cc: ".$headertemp->ccaddress."\r\n"; 
    381                 $header .= "Bcc: ".$headertemp->bccaddress. "\r\n"; 
    382                 $header .= "Sender: ".$headertemp->senderaddress. "\r\n"; 
    383                 $header .= "Reply-to: ".$headertemp->reply_toaddress . "\r\n"; 
    384                 $header .= "Subject: ".$headertemp->subject . "\r\n"; 
    385                 $header .= "Content-Type: text/html". "\r\n"; 
    386  
    387376                $msg = &new message_components($this->mbox); 
    388377                $msg->fetch_structure($params["msg_num"]);/* O fetchbody tava trazendo o email com problemas na acentuação. 
     
    390379                        para que o método decodeBody do expresso possa trazer tudo certinho*/ 
    391380 
    392  
    393381                $flags = $headertemp->Unseen == 'U' ? '' : '\Seen'; 
    394382                $flags .= $headertemp->Flagged == 'F' ? ' \Flagged' : ''; 
    395383                $flags .= $headertemp->Answered == 'A' ? ' \Answered' : ''; 
    396384                $flags .= $headertemp->Draft == 'D' ? ' \ Draft' : ''; 
    397  
    398                 $status = imap_append($this->mbox, 
    399                         "{".$this->email_server['imapServer'].":".$this->email_server['imapPort'].$this->imap_options."}".$params["folder"], 
    400                         $header. 
    401                         "\r\n". 
    402                         str_replace("\n","\r\n",$this->decodeBody( 
    403                                 imap_fetchbody($this->mbox,imap_msgno($this->mbox, $params["msg_num"]),"1"), 
    404                                 $msg->encoding[$params["msg_num"]][0], $msg->charset[$params["msg_num"]][0] 
    405                         ) 
    406                 ), $flags); //Append do novo email, só com header e conteúdo sem anexos. 
     385                $internal_date = $headertemp->date; 
     386 
     387                $headertemp = explode("\n",imap_fetchheader($this->mbox, imap_msgno($this->mbox, $params["msg_num"]))); 
     388                foreach($headertemp as $head) {  
     389                        $head1 = explode(":",$head); 
     390                        if(strtoupper($head1[0]) == "CONTENT-TYPE"){  
     391                                $head = str_replace("multipart/mixed","text/html",$head); 
     392                                $head = str_replace("multipart/related","text/html",$head); 
     393                                $header .= $head."\n";  
     394                                break; 
     395                        } 
     396                        else 
     397                                $header .= $head."\n";  
     398                } 
     399 
     400                if (strnatcmp(phpversion(),'5.3.2') >= 0) 
     401                        $status = imap_append($this->mbox, 
     402                                "{".$this->email_server['imapServer'].":".$this->email_server['imapPort'].$this->imap_options."}".$params["folder"], 
     403                                $header. 
     404                                "\r\n". 
     405                                str_replace("\n","\r\n",$this->decodeBody( 
     406                                        imap_fetchbody($this->mbox,imap_msgno($this->mbox, $params["msg_num"]),"1"), 
     407                                        $msg->encoding[$params["msg_num"]][0], $msg->charset[$params["msg_num"]][0] 
     408                                ) 
     409                        ), $flags, $internal_date ); 
     410                else 
     411                        $status = imap_append($this->mbox, 
     412                                "{".$this->email_server['imapServer'].":".$this->email_server['imapPort'].$this->imap_options."}".$params["folder"], 
     413                                $header. 
     414                                "\r\n". 
     415                                str_replace("\n","\r\n",$this->decodeBody( 
     416                                        imap_fetchbody($this->mbox,imap_msgno($this->mbox, $params["msg_num"]),"1"), 
     417                                        $msg->encoding[$params["msg_num"]][0], $msg->charset[$params["msg_num"]][0] 
     418                                ) 
     419                        ), $flags ); 
     420 
    407421 
    408422                if(!$status) 
Note: See TracChangeset for help on using the changeset viewer.