Ignore:
Timestamp:
05/14/12 12:29:34 (12 years ago)
Author:
cristiano
Message:

Ticket #2314 - Reutilização da conexão IMAP

File:
1 edited

Legend:

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

    r6134 r6171  
    2929        var $ldap; 
    3030        var $mbox; 
    31         var $mboxFolder; 
     31    var $mboxFolder; 
    3232        var $imap_port; 
    3333        var $has_cid; 
     
    3939        var $rawMessage; 
    4040        var $folders; 
    41         var $cache = false; 
    42         var $useCache = false; 
    43         var $expirationCache = false; 
     41        var $cache = false; 
     42        var $useCache = false; 
     43        var $expirationCache = false; 
     44 
    4445         
    4546        function imap_functions (){ 
     
    8485        // BEGIN of functions. 
    8586        function open_mbox( $folder = false, $force_die = true) 
    86         { 
    87             $this->mboxFolder =  mb_convert_encoding($folder, 'UTF7-IMAP','UTF-8, ISO-8859-1, UTF7-IMAP'); 
     87        {        
     88                        $newFolder = mb_convert_encoding($folder, 'UTF7-IMAP','UTF-8, ISO-8859-1, UTF7-IMAP'); 
     89                 
     90                        if($newFolder ===  $this->mboxFolder && is_resource( $this->mbox )) 
     91                                return $this->mbox; 
     92                         
     93            $this->mboxFolder =  $newFolder; 
    8894            $url = '{'.$this->imap_server.":".$this->imap_port.$this->imap_options.'}'.$this->mboxFolder; 
    8995             
     
    48924898                                $return['msgs'][$i]['from'] = ''; 
    48934899                                 
    4894                                 $from = $msg->from[0]->mailbox; 
    4895                                 if($msg->from[0]->personal != "") 
    4896                                         $from = $msg->from[0]->personal; 
    4897                                 $return['msgs'][$i]['from']     = mb_convert_encoding($this->decode_string($from), 'UTF-8');  
     4900                                if(isset($msg->from[0])) 
     4901                                { 
     4902                                        $from = self::formatMailObject( $msg->from[0] ); 
     4903                                        $return['msgs'][$i]['from']     = mb_convert_encoding($from['name'] ? $from['name'] : $from['email'], 'UTF-8'); 
     4904                                } 
     4905                                else 
     4906                                        $return['msgs'][$i]['from']     = '';  
    48984907                                 
    48994908                                $return['msgs'][$i]['subject'] = ' '; 
     
    49054914                                $filter = array('AND', array('=', 'folderName', $folder), array('=','messageNumber', $v)); 
    49064915                                $followupflagged = Controller::find( 
    4907                                         array('concept' => 'followupflagged'), 
     4916                                        array('concept' => 'followupflagged' , 'folder' => $folder ), 
    49084917                                        false,  
    49094918                                        array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
     
    49224931                                        array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
    49234932                                ); 
     4933                                if(is_array($labeleds)) 
    49244934                                foreach ($labeleds as $e){ 
    49254935                                        $labels = Controller::read( array( 'concept' => 'label', 'id' =>  $e['labelId']));      
Note: See TracChangeset for help on using the changeset viewer.