Ignore:
Timestamp:
04/02/12 17:58:17 (12 years ago)
Author:
airton
Message:

Ticket #1794 - Codificar DFD0060 - Aplicacao das regras nas mensagens da caixa de entrada

File:
1 edited

Legend:

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

    r5861 r5862  
    51615161        } 
    51625162         
    5163         function apliSieveFilter($msgs , $proc ) 
     5163        function apliSieveFilter($msgs , $proc) 
    51645164        { 
    51655165                $ret = array(); 
    5166                  
    5167                 switch($proc['action']){ 
    5168                         case 'fileintro': 
    5169                                 $imap = $this->open_mbox( 'INBOX' ); 
    5170                                 foreach( $msgs as $msg ) 
     5166                foreach ($msgs as $i => $msg) 
     5167                { 
     5168                        switch($proc['type']){ 
     5169                                case 'fileinto': 
     5170                                        $imap = $this->open_mbox( 'INBOX' ); 
    51715171                                        if($proc['keep'] === true) 
    5172                                                 $ret[$msg][] =  imap_mail_copy($imap,$msg,$proc['value']); 
     5172                                                $ret[$msg][] = imap_mail_copy($imap,$msg,$proc['value'], CP_UID); 
    51735173                                        else 
    5174                                                 $ret[$msg][] = imap_mail_move($imap,$msg,$proc['value']); 
    5175                                 break; 
    5176                         case 'redirect': 
    5177                                         foreach($msgs as $msg) 
    5178                                         {                                
     5174                                                /* Está sempre copiando a mensagem para a pasta destino */ 
     5175                                            //$ret[$msg][] = imap_mail_move($imap,$msg,$proc['parameter'], CP_UID); 
     5176                                                $ret[$msg][] = imap_mail_move($imap,$msg,$proc['parameter'], CP_UID); 
     5177                                        break; 
     5178                                case 'redirect':         
     5179                                        /* TO-DO: Fix the problems of include serviceLocator file */ 
     5180                                        //foreach($msgs as $msg) 
     5181                                        //{                              
     5182                                                /* 
    51795183                                                $info = $this->get_info_msg(array('msg_folder' => 'INBOX','msg_number' => $msg)); 
    5180                                  
    5181                                                 require_once $_SESSION['rootPath'] . '/API/class.servicelocator.php'; 
     5184                                                //require_once $_SESSION['rootPath'] . '/API/class.servicelocator.php'; 
    51825185                                                $mailService = ServiceLocator::getService('mail'); 
    51835186                                                 
    5184                                                 $ret[$msg][] = $mailService->sendMail( $proc['value'] , $info['from']['full'] , $info['subject'] ,$info['body'] ); 
    5185                                                  
    5186                                                 if($proc['keep'] !== true) 
    5187                                                     $this->delete_msgs(array('msgs_number' => $msg , 'folder' => 'INBOX')); 
    5188                                         }        
    5189                                 break; 
    5190                          
    5191                         case 'setflag': 
    5192                                 foreach($msgs as $msg) 
    5193                                         $ret[$msg][] = $this->set_messages_flag( array( 'folder' => 'INBOX' , 'msgs_to_set' => $msg , 'flag' => $proc['value']) ); 
    5194                  
    5195                                 break; 
    5196                 } 
    5197                  
     5187                                                $ret[$msg][] = $mailService->sendMail( $proc['parameter'] , $info['from']['full'] , $info['subject'] ,$info['body'] ); 
     5188                                                                                 
     5189                                                if($proc['keep'] !== true) 
     5190                                                        $this->delete_msgs(array('msgs_number' => $msg , 'folder' => 'INBOX')); 
     5191                                                         
     5192                                                */        
     5193                                        //}      
     5194                                        break; 
     5195                                 
     5196                                case 'setflag': 
     5197                                        foreach($msgs as $msg) 
     5198                                                $ret[$msg][] = $this->set_messages_flag( array( 'folder' => 'INBOX' , 'msgs_to_set' => $msg , 'flag' => $proc['parameter']) ); 
     5199                                        break; 
     5200                        } 
     5201                } 
    51985202                return $ret; 
    51995203        } 
Note: See TracChangeset for help on using the changeset viewer.