Changeset ed54070 in github


Ignore:
Timestamp:
Nov 29, 2007 9:17:32 AM (5 years ago)
Author:
thomascube <thomas@…>
Branches:
master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.6, release-0.7, release-0.8
Children:
f20cf0f
Parents:
1107480
Message:

Track message disposition notification flag and headers

Location:
program
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • program/include/rcube_imap.inc

    r1107480 red54070  
    940940   * Check if the given message ID is part of the current search set 
    941941   * 
    942    * @return True on match or if no search request is stored 
     942   * @return boolean True on match or if no search request is stored 
    943943   */ 
    944944  function in_searchset($msgid) 
     
    12911291   * 
    12921292   * @param mixed  Message UIDs as array or as comma-separated string 
    1293    * @param string Flag to set: SEEN, UNDELETED, DELETED, RECENT, ANSWERED, DRAFT 
     1293   * @param string Flag to set: SEEN, UNDELETED, DELETED, RECENT, ANSWERED, DRAFT, MDNSENT 
    12941294   * @return boolean True on success, False on failure 
    12951295   */ 
  • program/lib/imap.inc

    r644e27e5 red54070  
    9797        var $size; 
    9898        var $encoding; 
     99        var $charset; 
    99100        var $ctype; 
    100101        var $flags; 
    101102        var $timestamp; 
    102103        var $f; 
    103         var $seen; 
    104         var $deleted; 
    105         var $recent; 
    106         var $answered; 
    107         var $junk; 
    108104        var $internaldate; 
    109         var $is_reply; 
     105        var $references; 
     106        var $mdn_to; 
     107        var $mdn_sent = false; 
     108        var $is_reply = false; 
     109        var $seen = false; 
     110        var $deleted = false; 
     111        var $recent = false; 
     112        var $answered = false; 
     113        var $junk = false; 
    110114} 
    111115 
     
    12411245        $key="fh".($c++); 
    12421246        $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 REFERENCES)])\r\n"; 
     1247        $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 REFERENCES DISPOSITION-NOTIFICATION-TO)])\r\n"; 
    12441248 
    12451249        if (!fputs($fp, $request)) return false; 
     
    13081312                        $result[$id]->in_reply_to = ereg_replace("[\n<>]",'', $headers['in-reply-to']); 
    13091313                        $result[$id]->references = $headers["references"]; 
     1314                        $result[$id]->mdn_to = $headers["disposition-notification-to"]; 
    13101315                         
    13111316                        list($result[$id]->ctype, $ctype_add) = explode(";", $headers["content-type"]); 
     
    13701375                                        //echo "<!-- ID: $id FLAGS: ".implode(",", $flags_a)." //-->\n"; 
    13711376                                         
    1372                                         $result[$id]->seen = false; 
    1373                                         $result[$id]->recent = false; 
    1374                                         $result[$id]->deleted = false; 
    1375                                         $result[$id]->answered = false; 
    13761377                                        if (is_array($flags_a)){ 
    13771378                                                reset($flags_a); 
     
    13811382                                                        else if (strcasecmp($val, "Recent")==0) $result[$id]->recent = true; 
    13821383                                                        else if (strcasecmp($val, "Answered")==0) $result[$id]->answered = true; 
     1384                                                        else if (strcasecmp($val, "\$MDNSent")==0) $result[$id]->mdn_sent = true; 
    13831385                                                } 
    1384                                                 $result[$id]->flags=$flags_str; 
     1386                                                $result[$id]->flags = $flags_a; 
    13851387                                        } 
    13861388                         
     
    15111513        $fp = $conn->fp; 
    15121514        $flags=array( 
    1513                     "SEEN"=>"\\Seen", 
    1514                     "DELETED"=>"\\Deleted", 
    1515                     "RECENT"=>"\\Recent", 
    1516                     "ANSWERED"=>"\\Answered", 
    1517                     "DRAFT"=>"\\Draft", 
    1518                                         "FLAGGED"=>"\\Flagged" 
    1519                    ); 
     1515    "SEEN"=>"\\Seen", 
     1516    "DELETED"=>"\\Deleted", 
     1517    "RECENT"=>"\\Recent", 
     1518    "ANSWERED"=>"\\Answered", 
     1519    "DRAFT"=>"\\Draft", 
     1520    "FLAGGED"=>"\\Flagged", 
     1521    "MDNSENT"=>"\$MDNSent" 
     1522  ); 
    15201523        $flag=strtoupper($flag); 
    15211524        $flag=$flags[$flag]; 
  • program/steps/mail/show.inc

    rc579961 red54070  
    7373  $OUTPUT->set_env('uid', $MESSAGE['UID']); 
    7474  $OUTPUT->set_env('safemode', intval($_GET['_safe'])); 
     75   
     76  // check for unset disposition notification 
     77  if ($MESSAGE['headers']->mdn_to && !$MESSAGE['headers']->mdn_sent) 
     78    $OUTPUT->set_env('mdn_request', true); 
    7579 
    7680  $next = $prev = -1; 
Note: See TracChangeset for help on using the changeset viewer.