Ignore:
Timestamp:
09/20/12 15:22:12 (12 years ago)
Author:
douglasz
Message:

Ticket #3114 - Problema com Confirmação de leitura nas mensagens.

File:
1 edited

Legend:

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

    r7235 r7258  
    36413641        return $returns; 
    36423642} 
     3643    function verify_disposition_notification($msg){ 
     3644        $header = imap_fetchheader($this->mbox, $msg, FT_UID); 
     3645        $pattern = '/^[ \t]*Disposition-Notification-To:.*/mi'; 
     3646        if (preg_match($pattern, $header, $fields)) 
     3647            return true; 
     3648        else 
     3649            return false; 
     3650    } 
     3651 
    36433652        function set_messages_flag($params) 
    36443653        {                
     
    36673676                        $msgs = explode(",",$msgs_to_set); 
    36683677                        foreach($msgs as $men){ 
    3669                                 if (imap_setflag_full($this->mbox, $men, "\\Seen", ST_UID)) 
    3670                                         $return["msgs_to_set"] .= $men.","; 
    3671                                 else 
    3672                                         $return["msgs_not_to_set"] .= $men.","; 
     3678 
     3679                if($this->verify_disposition_notification($men)){ 
     3680 
     3681                    if(!array_key_exists('disposition_notification_to', $return)) 
     3682                        $return['disposition_notification_to'] = array(); 
     3683 
     3684                    $return["disposition_notification_to"][] = $men; 
     3685                }else{ 
     3686                    if (imap_setflag_full($this->mbox, $men, "\\Seen", ST_UID)) 
     3687                        $return["msgs_to_set"] .= $men.","; 
     3688                    else 
     3689                        $return["msgs_not_to_set"] .= $men.","; 
     3690                } 
    36733691                        } 
    36743692                        $return["status"] = true; 
Note: See TracChangeset for help on using the changeset viewer.