Index: trunk/expressoMail1_2/inc/class.exporteml.inc.php
===================================================================
--- trunk/expressoMail1_2/inc/class.exporteml.inc.php	(revision 711)
+++ trunk/expressoMail1_2/inc/class.exporteml.inc.php	(revision 1000)
@@ -44,5 +44,9 @@
 	
 	// create EML File.
-    function createFileEml($sEMLData, $tempDir, $id)  
+	// Funcao alterada para tratar a exportacao
+	// de mensagens arquivadas localmente.
+	// Rommel Cysne (rommel.cysne@serpro.gov.br)
+	// em 17/12/2008.
+	function createFileEml($sEMLData, $tempDir, $id, $subject=false, $i)
     {
         if($id)
@@ -54,9 +58,23 @@
                 $subject = substr($subject, 0, 59);
  
-            $subject = ereg_replace('/', '\'', $subject);            
+			//$subject = ereg_replace('/', '\'', $subject);
+			$from = "áàâãäéèêëíìîïóòôõöúùûüç?\"!@#$%š&*()-=+Ž`[]{}~^,<>;:/?\\|¹²³£¢¬§ªº°ÁÀÂÃÄÉÈÊËÍÌÎÏÓÒÔÕÖÚÙÛÜÇ";
+			$to =   "aaaaaeeeeiiiiooooouuuuc__________________________________________AAAAAEEEEIIIIOOOOOUUUUC";
+			$subject = strtr($subject,$from,$to);
             $file =    $subject."_".$id.".eml";
+		} else{
+			// Se mensagem for arquivada localmente, $subject (assunto da mensagem)
+			// sera passado para compor o nome do arquivo .eml;
+
+			if($subject){
+				$from = "áàâãäéèêëíìîïóòôõöúùûüç?\"!@#$%š&*()-=+Ž`[]{}~^,<>;:/?\\|¹²³£¢¬§ªº°ÁÀÂÃÄÉÈÊËÍÌÎÏÓÒÔÕÖÚÙÛÜÇ";
+				$to =   "aaaaaeeeeiiiiooooouuuuc__________________________________________AAAAAEEEEIIIIOOOOOUUUUC";
+				$subject = strtr($subject,$from,$to);
+				//$subject = ereg_replace(':', '_', $subject);
+				//$subject = ereg_replace('/', '_', $subject);
+				$file = $subject."_".$i.".eml";
+			} else{
+				$file = "email_".md5(microtime()).".eml";
         }    
-        else{
-            $file =    "email_".md5(microtime()).".eml";
         }
         
@@ -124,16 +142,55 @@
 	}
 
+	// Funcao alterada para tratar a exportacao
+	// de mensagens arquivadas localmente.
+	// Rommel Cysne (rommel.cysne@serpro.gov.br)
+	// em 17/12/2008.
 	function makeAll($params) {
-		
-		$this-> folder = $params['folder'];
-		$this->folder = mb_convert_encoding($this->folder, "UTF7-IMAP","UTF-8");
-		$array_ids = explode(',', $params['msgs_to_export']);	
-		$error = False;		
-		$fileNames = "";
-		$tempDir = ini_get("session.save_path");
-		$this->connectImap();
-				
-		for($i = 0; $i < count($array_ids); $i++) {
-				
+		// Exportacao de mensagens arquivadas localmente
+		if($params['l_msg'] == "t"){
+    		// Recebe todos os subjects e bodies das mensagens locais selecionadas para exportacao
+     		// e gera arrays com os conteudos separados;
+      		$array_mesgs = explode('@@',$params['mesgs']);
+        	$array_subjects = explode('@@',$params['subjects']);
+            $array_ids = explode(',', $params['msgs_to_export']);
+            $tempDir = ini_get("session.save_path");
+			// Para cada mensagem selecionada sera gerado um arquivo .eml cujo titulo sera o assunto (subject) da mesma;
+			include_once("class.imap_functions.inc.php");
+			$imapf = new imap_functions();
+    		foreach($array_ids as $i=>$id) {
+				$sEMLData=$imapf->treat_base64_from_post($array_mesgs[$i]);
+				$fileName=$this->CreateFileEml($sEMLData, $tempDir,'',$array_subjects[$i],$i);
+				if(!$fileName){
+					$error = True;
+					break;
+				} else{
+					$fileNames .= "\"".$fileName."\" ";
+				}
+			}
+			$nameFileZip = 'False';
+			if($fileNames && !$error) {
+				$nameFileZip = $this -> createFileZip($fileNames, $tempDir);
+				if($nameFileZip){
+					$file = $tempDir.'/'.$nameFileZip;
+				} else{
+					$file = false;
+				}
+
+			} else{
+				$file = false;
+			}
+
+            return $file;
+
+		// Exportacao de mensagens da caixa de entrada (imap) - processo original do Expresso
+		} else{
+            $this-> folder = $params['folder'];
+            $this->folder = mb_convert_encoding($this->folder, "UTF7-IMAP","UTF-8");
+            $array_ids = explode(',', $params['msgs_to_export']);
+            $error = False;
+            $fileNames = "";
+            $tempDir = ini_get("session.save_path");
+            $this->connectImap();
+			for($i = 0; $i < count($array_ids); $i++) {
 			$header	 	= $this-> getHeader($array_ids[$i]);											
 			$body		= $this-> getBody($array_ids[$i]);			
@@ -165,5 +222,6 @@
 			
 		return $file;
-	}
+        }
+    }
 
 	function export_msg($params) {
@@ -209,5 +267,5 @@
 		imap_close($this->mbox_stream);
 		return $urlPath;
-	}
+        }
 
 	function remove_accents($string) {
@@ -241,7 +299,4 @@
 		$imap_attachment = new imap_attachment();
 		$attachments = $imap_attachment->download_attachment($this->mbox_stream, $id_number);
-		
-
-		
 		foreach($attachments as $i => $attachment){
 			if($i && $i == 'names')
@@ -280,5 +335,5 @@
 		imap_close($this->mbox_stream);
 		return $return_attachments;
-	}
+        }
 	
 	private function getFileType($nameFile) {
