Changeset 3392


Ignore:
Timestamp:
10/21/10 15:40:08 (9 years ago)
Author:
eduardoalex
Message:

Ticket #1210 - Corrigido erro da paginacao na selecao de algum filtro

Location:
branches/2.2/expressoMail1_2
Files:
2 edited

Legend:

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

    r3391 r3392  
    9191                $sort_box_reverse = $params['sort_box_reverse']; 
    9292                $search_box_type = $params['search_box_type'] != "ALL" && $params['search_box_type'] != "" ? $params['search_box_type'] : false; 
    93                 $sort_array_msg = $this-> get_msgs($folder, $sort_box_type, $search_box_type, $sort_box_reverse,$msg_range_begin,$msg_range_end); 
     93 
     94                if(!$this->mbox || !is_resource($this->mbox)) 
     95                        $this->mbox = $this->open_mbox($folder); 
    9496 
    9597                $return = array(); 
    96                 $i = 0; 
    97                 $num_msgs = imap_num_msg($this->mbox); 
    98                 if(is_array($sort_array_msg)){ 
    99                         foreach($sort_array_msg as $msg_number => $value) 
    100                         { 
    101                                 $temp = $this->get_info_head_msg($msg_number); 
    102                                 $temp['msg_sample'] = $this->get_msg_sample($msg_number); 
    103                                 if(!$temp) 
     98                 
     99                if(!$search_box_type || $search_box_type=="UNSEEN" || $search_box_type=="SEEN") { 
     100                        $msgs_info = imap_status($this->mbox,"{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$folder,SA_ALL); 
     101 
     102 
     103                        $return['tot_unseen'] = $search_box_type == "SEEN" ? 0 : $msgs_info->unseen; 
     104 
     105                        $sort_array_msg = $this-> get_msgs($folder, $sort_box_type, $search_box_type, $sort_box_reverse,$msg_range_begin,$msg_range_end); 
     106 
     107                        $num_msgs = ($search_box_type=="UNSEEN") ? $msgs_info->unseen : (($search_box_type=="SEEN") ? ($msgs_info->messages - $msgs_info->unseen) : $msgs_info->messages); 
     108 
     109                        $i = 0; 
     110                        if(is_array($sort_array_msg)){ 
     111                                foreach($sort_array_msg as $msg_number => $value) 
    104112                                { 
    105                                         return false; 
    106                                 } 
    107  
    108                                 $return[$i] = $temp; 
    109                                 $i++; 
    110                         } 
    111                 } 
    112                 $return['num_msgs'] = $num_msgs; 
    113  
     113                                        $temp = $this->get_info_head_msg($msg_number); 
     114                                        if(!$temp) 
     115                                                return false; 
     116 
     117                                        $return[$i] = $temp; 
     118                                        $i++; 
     119                                } 
     120                        } 
     121                        $return['num_msgs'] =  $num_msgs; 
     122                } 
     123                else { 
     124                        $num_msgs = imap_num_msg($this->mbox);   
     125                        $sort_array_msg = $this-> get_msgs($folder, $sort_box_type, $search_box_type, $sort_box_reverse,$msg_range_begin,$num_msgs); 
     126 
     127 
     128                        $return['tot_unseen'] = 0; 
     129                        $i = 0;          
     130 
     131                        if(is_array($sort_array_msg)){ 
     132                                foreach($sort_array_msg as $msg_number => $value) 
     133                                { 
     134                                        $temp = $this->get_info_head_msg($msg_number); 
     135                                        if(!$temp) 
     136                                                return false; 
     137                                 
     138                                        if($temp['Unseen'] == 'U' || $temp['Recent'] == 'N'){ 
     139                                                $return['tot_unseen']++; 
     140                                        } 
     141                                 
     142                                        if($i <= ($msg_range_end-$msg_range_begin)) 
     143                                                $return[$i] = $temp; 
     144                                        $i++; 
     145                                } 
     146                        } 
     147                        $return['num_msgs'] = count($sort_array_msg)+($msg_range_begin-1); 
     148 
     149                } 
    114150                return $return; 
    115151        } 
  • branches/2.2/expressoMail1_2/js/draw_api.js

    r3383 r3392  
    540540 
    541541        if(total_pages == 1) { 
    542                 if(span_paging = document.getElementById("span_paging")) { 
     542                if(span_paging = document.getElementById("span_paging0")) { 
    543543                        span_paging.parentNode.removeChild(span_paging); 
    544544                } 
    545545                return; 
    546546        } 
    547         span_paging = document.getElementById("span_paging"); 
     547        span_paging = document.getElementById("span_paging0"); 
    548548        if(!span_paging){ 
    549549                span_paging = document.createElement("DIV"); 
    550                 span_paging.id = "span_paging"; 
     550                span_paging.id = "span_paging0"; 
    551551                span_paging.className = "boxHeaderText"; 
    552552                span_paging.align="right"; 
     
    10991099        var handler_draw_box = function(data){ 
    11001100                draw_box(data, current_folder,true); 
    1101                 draw_paging(Element('tot_m').innerHTML); 
    11021101                //Mostrar as msgs nao lidas de acordo com o filtro de relevancia 
    1103                                 var msgs_unseen = 0; 
    1104                                 for(i in data){ 
    1105                                         if(data[i].Unseen == 'U') 
    1106                                                 msgs_unseen++; 
    1107         } 
    1108                 Element("new_m").innerHTML = '<font style="color:'+(msgs_unseen == 0 ? '': 'red')+'">' + msgs_unseen + '</font>'; 
     1102        var msgs_unseen = 0; 
     1103                draw_paging(data.num_msgs); 
     1104                Element("new_m").innerHTML = '<font style="color:'+(data.tot_unseen == 0 ? '': 'red')+'">' + data.tot_unseen + '</font>'; 
     1105                Element("tot_m").innerHTML = data.num_msgs; 
    11091106        } 
    11101107 
     
    20001997                        } 
    20011998                        else{ 
    2002                                 var anchor_pattern = "http://"+location.host+location.pathname+"#";  
    2003                                  
    2004                                 if ( ( links.item( i ).href.indexOf( 'javascript:' ) !== 0 ) &&  
    2005                                         (links.item( i ).href.indexOf(anchor_pattern) !== 0) ) //se não for âncora 
    2006                                                 links.item( i ).setAttribute( 'target', '_blank' ); 
     1999                                if ( links.item( i ).href.indexOf( 'javascript:' ) !== 0 ) 
     2000                                        links.item( i ).setAttribute( 'target', '_blank' ); 
    20072001                        } 
    20082002                }catch(e){ 
Note: See TracChangeset for help on using the changeset viewer.