Changeset 7856


Ignore:
Timestamp:
02/05/13 15:04:27 (11 years ago)
Author:
cristiano
Message:

Ticket #3337 - FILTROS Ao utilizar a opção Buscar na Caixa de Entrada

Location:
trunk
Files:
3 edited

Legend:

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

    r7824 r7856  
    51965196        function searchSieveRule( $params ) 
    51975197        { 
    5198                  
     5198 
    51995199                $imap = $this->open_mbox( 'INBOX' ); 
    52005200                $msgs = imap_sort( $imap , SORTDATE , 0 , SE_UID); 
    52015201                 
    52025202                $rr = array(); 
    5203          
    5204          
     5203 
     5204        if(isset($params['from']))  $rr['from'] = array(); 
     5205        if(isset($params['to']))  $rr['to'] = array(); 
     5206        if(isset($params['subject'])) $rr['subject'] = array(); 
     5207        if(isset($params['body'])) $rr['body'] = array(); 
     5208        if(isset($params['size'])) $rr['size'] = array(); 
     5209 
    52055210                foreach ($msgs as $i => $v) 
    52065211                { 
     
    52285233                         
    52295234                        if(isset($params['to'])) 
    5230                         {        
     5235                        { 
    52315236                                $tos = $msg->to; 
    52325237                                $val = ''; 
     
    52845289                $rrr = array(); 
    52855290                $init = true; 
    5286                  
    5287                  
    52885291                foreach ($rr as $i => $v) 
    5289                 {                        
     5292                { 
    52905293                        if(count($rrr) == 0 && $init === true) 
    52915294                                $rrr = $v; 
    5292                         else if($params['isExact'] === true) 
    5293                                 $rrr = array_diff($rrr , $v); 
     5295                        else if($params['isExact'] == 'yes') 
     5296                $rrr = array_intersect($rrr , $v); 
    52945297                        else 
    52955298                                $rrr =  array_unique(array_merge($rrr , $v)); 
    5296                          
    5297                 } 
    5298                  
     5299                } 
    52995300 
    53005301//              if($params['page'] && $params['rows']) 
  • trunk/prototype/modules/filters/filters.js

    r7753 r7856  
    491491        var criterias_ = new Array(); 
    492492 
     493    var isExact = (list_container.find('[name="isExact"]:checked').val() == 'and') ? 'yes' : 'no'; 
     494 
    493495        for (i in criteria_) 
    494496                if(criteria_[i] != "") 
     
    514516                                                }); 
    515517 
    516         var data = DataLayer.get( 'message', { filter: criterias_, criteria: { properties: { context: { folder: 'INBOX' } } } }, true ); 
     518        var data = DataLayer.get( 'message', { filter: criterias_, criteria: { isExact: isExact , properties: { context: { folder: 'INBOX' } } } }, true ); 
    517519        if(DataLayer.criterias['message:jqGrid']){ 
    518520                delete DataLayer.criterias['message:jqGrid'];    
  • trunk/prototype/services/ImapServiceAdapter.php

    r7719 r7856  
    174174                        { 
    175175                            if( count( $filter[$i] ) === 4 ) 
    176                             $criteria['isExact'] = ( array_shift( $filter[$i] ) === 'AND' ); 
     176                                array_shift( $filter[$i] ) ; 
    177177 
    178178                            $criteria[ $filter[$i][0] ] = array( 'criteria' => $filter[$i][2], 'filter' => $filter[$i][1] ); 
Note: See TracChangeset for help on using the changeset viewer.