Ignore:
Timestamp:
06/18/12 02:47:37 (12 years ago)
Author:
natan
Message:

Ticket #2845 - Atualizacao da API na busca de mensagens - Migracao das funcionalidades do ImapServiceAdapter?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sandbox/expressoServiceImap/prototype/services/ImapServiceAdapter.php

    r6486 r6529  
    8888                        case 'message': 
    8989                        { 
    90                                 //begin: for grid        
    91 //                              $page  = isset($criteria['page']) ? $criteria['page'] : 1 ; //{1}    get the requested page 
    92 //                              $limit = isset($criteria['rows']) ? $criteria['rows'] : 10 ; //{10}   get how many rows we want to have into the grid 
    93 //                              $sidx  = isset($criteria['sidx']) ? $criteria['sidx'] : 0; //{id}   get index row - i.e. user click to sort 
    94 //                              $sord  = isset($criteria['sord']) ? $criteria['sord'] : ''; //{desc} get the direction 
    95  
    9690                                $filter =  isset($criteria['filter']) ? $criteria['filter'] : ''; 
    97  
    98 //                              if( !$sidx ) $sidx = 1; 
    9991 
    10092                                $folder_name =  isset($URI['folder']) ?  $URI['folder'] : str_replace( '.', $this->imap_delimiter, isset($context['folder']) ?  $context['folder'] : 'INBOX'); 
    10193                         
    102                                 $count = imap_num_msg( $this->open_mbox( $folder_name ) ); 
    103 //  
    104 //                              $total_pages = $count > 0 ? ceil( $count/$limit ) : 0; 
    105 //  
    106 //                              if( $page > $total_pages ) 
    107 //                                      $page = $total_pages; 
    108 //  
    109 //                              $start = $limit * $page - $limit; 
    110  
    111                                 // do not put $limit*($page - 1) 
    112                                 //end: for grid 
    113                                  
    114                                  
     94                                if( isset($criteria['count']) ) 
     95                                { 
     96                                    return imap_num_msg( $this->open_mbox( $folder_name ) ); 
     97                                } 
    11598                                /** 
    11699                                 * Trata o caso específico de retorno do atributo messageId 
     
    174157                                        } 
    175158 
    176 //                                      $msgNumber = array(); 
    177 //  
    178 //                                      for( $i = $start; $i < $start + $limit && isset( $filter[2][$i] ); $i++ ) 
    179 //                                        $msgNumber[] = $filter[2][$i]; 
    180 //  
    181 //                                      if( empty( $msgNumber ) ) 
    182 //                                      return( false ); 
    183  
    184159                                        $result = $this->get_info_msgs( array( 'folder' => $folder_name,  
    185160                                                                           'msgs_number' => implode( ',', $filter[2] ) ) ); 
     
    204179                                //return var_export($result); 
    205180 
    206                                 $response = array( "page" => $count > 0 ? ceil( $criteria['offset'] / $criteria['limit'] ) + 1 : 0,  
    207                                                    "total" => $count > 0 ? ceil( $count/$criteria['limit'] ) : 0,  
    208                                                    "records" => $count ); 
     181                                $response = array(); 
    209182                                 
    210183                                for ($i=0; $i<count($result); $i++) 
     
    222195                                        if (array_key_exists($i, $result)) 
    223196                                        { 
    224                                                 $response["rows"][$i] = $result[$i]; 
    225                                                 $response["rows"][$i]['timestamp'] = $result[$i]['udate'] * 1000; 
    226                                                 $response["rows"][$i]['flags'] = implode(',', $flags_enum); 
    227                                                 $response["rows"][$i]['size'] = $response["rows"][$i]['Size']; 
    228                                                 $response["rows"][$i]['folder'] = $folder_name;  
     197                                                $response[$i] = $result[$i]; 
     198                                                $response[$i]['timestamp'] = $result[$i]['udate'] * 1000; 
     199                                                $response[$i]['flags'] = implode(',', $flags_enum); 
     200                                                $response[$i]['size'] = $response["rows"][$i]['Size']; 
     201                                                $response[$i]['folder'] = $folder_name;  
    229202                                                //$response["rows"][$i]['udate'] = ( $result[$i]['udate'] + $this->functions->CalculateDateOffset()  * 1000 ); 
    230                                                 unset($response["rows"][$i]['Size']); 
     203                                                unset($response[$i]['Size']); 
    231204                                        } 
    232205                                 } 
Note: See TracChangeset for help on using the changeset viewer.