Index: trunk/expressoMail1_2/inc/class.imap_functions.inc.php
===================================================================
--- trunk/expressoMail1_2/inc/class.imap_functions.inc.php	(revision 6058)
+++ trunk/expressoMail1_2/inc/class.imap_functions.inc.php	(revision 6120)
@@ -4798,7 +4798,7 @@
 			$msg_user = "Sem mensagem!"; 
  		         
-		$toname       = $_SESSION['phpgw_info']['expressomail']['user']['fullname']; 
+		$toname = $_SESSION['phpgw_info']['expressomail']['user']['fullname']; 
  		 
- 		$exporteml    = new ExportEml(); 
+ 		$exporteml = new ExportEml(); 
  		$mail_content = $exporteml->export_msg_data($id_msg, $msg_folder); 
  		$this->open_mbox($msg_folder);  
@@ -4806,5 +4806,5 @@
 		$body  = "<body>O usuário <strong>$toname</strong> reportou um erro na tentativa de acesso ao conteúdo do email.<br><br>Segue em anexo o fonte da mensagem" .                           " reportada.<br><br><hr><strong><u>Mensagem do usuário:</strong></u><br><br><br>" . 
  		                "$msg_user</body><br><br><hr>"; 
- 		             
+						
  		require_once dirname(__FILE__) . '/../../services/class.servicelocator.php';
  		$mailService = ServiceLocator::getService('mail');      
@@ -5029,21 +5029,21 @@
     
     function getaclfrombox($mail)
-        {
-                $mailArray = explode('@', $mail);
-                $boxacl = $mailArray[0];
-                $return = array();
-
-                if(!$this->mbox)
-                     $this->open_mbox();
-
-                $mbox_acl = imap_getacl($this->mbox, 'user' . $this->imap_delimiter . $boxacl);
-
-                foreach ($mbox_acl as $user => $acl)
-                {
-                        if ($user != $boxacl )
-                            $return[$user] = $acl;
-                }
-                return $return;
-        }
+	{
+			$mailArray = explode('@', $mail);
+			$boxacl = $mailArray[0];
+			$return = array();
+
+			if(!$this->mbox)
+				 $this->open_mbox();
+
+			$mbox_acl = imap_getacl($this->mbox, 'user' . $this->imap_delimiter . $boxacl);
+
+			foreach ($mbox_acl as $user => $acl)
+			{
+					if ($user != $boxacl )
+						$return[$user] = $acl;
+			}
+			return $return;
+	}
 		
 		
@@ -5195,4 +5195,19 @@
 	}
 	
+	
+	
+	/**
+	* Método que aplica a ação do filtro nas mensagens da caixa de entrada
+	*
+	* @license    http://www.gnu.org/copyleft/gpl.html GPL
+	* @author     Consórcio Expresso Livre - 4Linux (www.4linux.com.br) e Prognus Software Livre (www.prognus.com.br)
+	* @sponsor    Caixa Econômica Federal
+	* @author     Airton Bordin Junior <airton@prognus.com.br>
+	* @author	  Gustavo Pereira dos Santos <gustavo@prognus.com.br>	
+	* @param      <Array> <$msgs> <Mensagens da caixa de entrada>
+	* @param      <Array> <$proc> <ações do filtro>
+	* @return     <Regras do usuário em Array>
+	* @access     <public>
+	*/
 	function apliSieveFilter($msgs , $proc)
 	{
@@ -5208,22 +5223,20 @@
 						/* Está sempre copiando a mensagem para a pasta destino */
 					    //$ret[$msg][] = imap_mail_move($imap,$msg,$proc['parameter'], CP_UID);
-						$ret[$msg][] = imap_mail_move($imap,$msg,$proc['parameter'], CP_UID);
+						$ret[$msg][] = imap_mail_move($imap,$msg,$proc['parameter'], CP_UID);						
 					break;
-				case 'redirect':	
-					/* TO-DO: Fix the problems of include serviceLocator file */
-					//foreach($msgs as $msg)
-					//{				
-						/*
+				case 'redirect':											
+					foreach($msgs as $msg)
+					{				
 						$info = $this->get_info_msg(array('msg_folder' => 'INBOX','msg_number' => $msg));
-						//require_once $_SESSION['rootPath'] . '/API/class.servicelocator.php';
-						$mailService = ServiceLocator::getService('mail');
+						Controller::create( array( 'service' => 'SMTP' ), array( 'body' => $info['body'],
+																			  'isHtml' => true,
+																			  'subject' => $info['subject'],
+																			  'from' => $info['from']['full'],
+																			  'to' => $proc['parameter'])
+										);
 						
-						$ret[$msg][] = $mailService->sendMail( $proc['parameter'] , $info['from']['full'] , $info['subject'] ,$info['body'] );
-										
 						if($proc['keep'] !== true)
 							$this->delete_msgs(array('msgs_number' => $msg , 'folder' => 'INBOX'));
-							
-						*/	 
-					//}	
+					}	
 					break;
 				
