Changeset 4025


Ignore:
Timestamp:
04/14/11 10:57:02 (13 years ago)
Author:
rafaelraymundo
Message:

Ticket #1726 - Ajustes para a correção da lentidão na abertura dos mailboxes, r4014

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.0.1/expressoMail1_2/inc/class.imap_functions.inc.php

    r4020 r4025  
    9999 
    100100        function get_range_msgs2($params) 
    101         { 
    102                 // Free others requests  
    103                 session_write_close();  
     101        {  
    104102                $folder = $params['folder']; 
    105103                $msg_range_begin = $params['msg_range_begin']; 
     
    113111                 
    114112                $return = array(); 
    115                 //Para enviar o offset entre o timezone definido pelo usuário e GMT 
    116                 $return['offsetToGMT'] = $this->functions->CalculateDateOffset(); 
    117113                 
    118                 //Condição comentada devido a um problema na função imap_status que não retorna valores exatos para pastas  
    119                 //acentuadas e tambem pela não necessidade de se tratar mensagens lidas ou não lidas das demais, em relação  
    120                 //a contagem de mensagens não lidas e do total de mensagens 
    121                 /* 
    122114                 if(!$search_box_type || $search_box_type=="UNSEEN" || $search_box_type=="SEEN") { 
    123                         $msgs_info = imap_status($this->mbox,"{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$folder,SA_ALL); 
    124  
    125  
    126                         $return['tot_unseen'] = $search_box_type == "SEEN" ? 0 : $msgs_info->unseen; 
     115                        $msgs_info = imap_mailboxmsginfo($this->mbox); 
     116 
     117                        $return['tot_unseen'] = $search_box_type == "SEEN" ? 0 : $msgs_info->Unread; 
    127118 
    128119                        $sort_array_msg = $this-> get_msgs($folder, $sort_box_type, $search_box_type, $sort_box_reverse,$msg_range_begin,$msg_range_end); 
    129120 
    130                         $num_msgs = ($search_box_type=="UNSEEN") ? $msgs_info->unseen : (($search_box_type=="SEEN") ? ($msgs_info->messages - $msgs_info->unseen) : $msgs_info->messages); 
     121                        $num_msgs = ($search_box_type=="UNSEEN") ? $msgs_info->Unread : (($search_box_type=="SEEN") ? ($msgs_info->Nmsgs - $msgs_info->Unread) : $msgs_info->Nmsgs); 
    131122 
    132123                        $i = 0; 
     
    145136                } 
    146137                else { 
    147                 * */ 
    148                         $msgs_info      = imap_status( $this->mbox,"{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$folder,SA_ALL ); 
    149                         $num_msgs       = imap_num_msg($this->mbox); 
    150                         $sort_array_msg = $this->get_msgs( $folder, $sort_box_type, $search_box_type, $sort_box_reverse, $msg_range_begin, $msg_range_end ); 
    151                         $return['tot_unseen'] = ( $search_box_type == "SEEN" ) ? 0 : $msgs_info->unseen; 
    152  
    153                         $i = 0;          
     138                        $num_msgs = imap_num_msg($this->mbox); 
     139                        $sort_array_msg = $this-> get_msgs($folder, $sort_box_type, $search_box_type, $sort_box_reverse,$msg_range_begin,$num_msgs); 
     140 
     141 
     142                        $return['tot_unseen'] = 0; 
     143                        $i = 0; 
    154144 
    155145                        if(is_array($sort_array_msg)){ 
     
    159149                                        if(!$temp) 
    160150                                                return false; 
    161                                  
     151 
    162152                                        if($temp['Unseen'] == 'U' || $temp['Recent'] == 'N'){ 
    163153                                                $return['tot_unseen']++; 
     
    169159                                } 
    170160                        } 
    171                         $return['num_msgs'] = $num_msgs; 
    172  
     161                        $return['num_msgs'] = count($sort_array_msg)+($msg_range_begin-1); 
     162                } 
    173163                        return $return; 
    174164        } 
Note: See TracChangeset for help on using the changeset viewer.