- Timestamp:
- 09/20/12 17:13:44 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/2.5.0-expresso1/expressoMail1_2/inc/class.exporteml.inc.php
r7157 r7261 56 56 // Rommel Cysne (rommel.cysne@serpro.gov.br) 57 57 // em 17/12/2008. 58 59 function createFileEml_by_localFolder($sEMLData, $tempDir, $file){ 60 61 $file = "{$file}.eml"; 62 63 $f = fopen($tempDir.'/'.$file,"w"); 64 if(!$f) 65 return False; 66 67 fputs($f,$sEMLData); 68 fclose($f); 69 70 return $file; 71 } 72 58 73 function createFileEml($sEMLData, $tempDir, $id, $subject=false, $i=false) 59 74 { … … 67 82 68 83 //$subject = preg_replace('/\//', '\'', $subject); 69 $from = " áàâãäéèêëíìîïóòôõöúùûüç?\"!@#$%š&*()-=+Ž`[]{}~^,<>;:/?\\|¹²³£¢¬§ªº° .ÁÀÂÃÄÉÈÊËÍÌÎÏÓÒÔÕÖÚÙÛÜÇ";84 $from = "áà âãÀéÚêëÃìîïóòÎõöúùûÌç?\"!@#$%š&*()-=+ÂŽ`[]{}~^,<>;:/?\\|¹²³£¢¬§ªº° .ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃ"; 70 85 $to = "aaaaaeeeeiiiiooooouuuuc______________________________________________AAAAAEEEEIIIIOOOOOUUUUC"; 71 86 $subject = strtr($subject,$from,$to); … … 78 93 79 94 if($subject && $i){ 80 $from = " áàâãäéèêëíìîïóòôõöúùûüç?\"!@#$%š&*()-=+Ž`[]{}~^,<>;:/?\\|¹²³£¢¬§ªº° .ÁÀÂÃÄÉÈÊËÍÌÎÏÓÒÔÕÖÚÙÛÜÇ";95 $from = "áà âãÀéÚêëÃìîïóòÎõöúùûÌç?\"!@#$%š&*()-=+ÂŽ`[]{}~^,<>;:/?\\|¹²³£¢¬§ªº° .ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃ"; 81 96 $to = "aaaaaeeeeiiiiooooouuuuc______________________________________________AAAAAEEEEIIIIOOOOOUUUUC"; 82 97 $subject = strtr($subject,$from,$to); … … 84 99 $subject = preg_replace('/[^a-zA-Z0-9_]/i', '_', $subject); 85 100 86 // é necessário que a sessão faça parte do nome do arquivo para que o mesmo não venha vazio o.O101 // é necessário que a sessão faça parte do nome do arquivo para que o mesmo não venha vazio o.O 87 102 $file = $subject."_".$i."_".$_SESSION[ 'phpgw_session' ][ 'session_id' ].".eml"; 88 103 } else{ … … 101 116 } 102 117 103 function createFileZip($files, $tempDir){ 118 function createFileZip($files, $tempDir){ 119 104 120 $tmp_zip_filename = "email_".$_SESSION[ 'phpgw_session' ][ 'session_id' ].".zip"; 105 106 121 if (!empty($files)) 107 122 { … … 119 134 } 120 135 } 121 122 $command = "cd " . escapeshellarg($tempDir) . " && nice zip -m9 " . escapeshellarg($tmp_zip_filename) . " " . $files; 136 137 138 $command = "cd " . escapeshellarg($tempDir) . " && nice zip -m9 " . escapeshellarg($tmp_zip_filename) . " " . $files; 139 140 123 141 if(!exec($command)) { 124 142 $command = "cd " . escapeshellarg($tempDir) . " && rm ".$files." ". escapeshellarg($tmp_zip_filename); … … 126 144 return null; 127 145 } 128 146 129 147 return $tmp_zip_filename; 130 148 131 149 } 132 150 133 function export_all($params){ 134 151 function export_all_byLocalFolder($params){ 152 $error = false; 153 154 if(empty($params['messages'])){ 155 $file["empty_folder"] = true; 156 } else { 157 foreach($params['messages'] as $eachMsg){ 158 $header = ""; 159 $body = ""; 160 $tempDir = $this->tempDir; 161 162 $this->get_header_byLocalFolder($eachMsg, $header); 163 $this->get_body_byLocalFolder($eachMsg, $body); 164 $sEMLData = $this->parseEml($header, $body); 165 $fileName = $this->createFileEml_by_localFolder($sEMLData, $tempDir,$eachMsg['msg_number']); 166 167 if(!$fileName){ 168 $error = true; 169 break; 170 } else 171 $fileNames .= "\"".$fileName."\" "; 172 } 173 174 $nameFileZip = 'False'; 175 if($fileNames && !$error) { 176 $nameFileZip = $this->createFileZip($fileNames, $tempDir); 177 ($nameFileZip) ? ($file = $tempDir.'/'.$nameFileZip) : ($file = false); 178 } else 179 $file = false; 180 } 181 182 return $file; 183 184 } 185 186 function get_header_byLocalFolder($eachMsg, &$header){ 187 $header = <<<header 188 MIME-Version: 1.0 189 Content-Type: text/html; charset=ISO-8859-1 190 Content-Transfer-Encoding: quoted-printable 191 From: "{$eachMsg['from']['name']}" <{$eachMsg['from']['email']}> 192 To: {$eachMsg['to']['email']} 193 Subject: {$eachMsg['subject']} 194 Message-Id: {$eachMsg['msg_number']} 195 Date: {$eachMsg['date']} 196 header; 197 } 198 199 function get_body_byLocalFolder($eachMsg, &$body){ 200 $body = $eachMsg['msg_sample']['body']; 201 } 202 203 function export_all($params){ 204 135 205 $this->folder = $params['folder']; 136 206 $this->folder = mb_convert_encoding($this->folder, "UTF7-IMAP","UTF-8"); … … 140 210 141 211 $msgs = imap_search($this->mbox_stream,"ALL",SE_UID); 212 142 213 if($msgs){ 143 214 foreach($msgs as $nMsgs){ 144 $header = $this-> getHeader($nMsgs); 145 $body = $this-> getBody($nMsgs); 215 216 $header = $this-> getHeader($nMsgs); 217 $body = $this-> getBody($nMsgs); 218 146 219 $sEMLData = $this -> parseEml($header, $body); 147 220 $fileName = $this -> CreateFileEml($sEMLData, $tempDir,$nMsgs); … … 182 255 // Funcao alterada para que, quando houver 183 256 // apenas um arquivo a ser exportado, 184 // n ão seja criado em zip257 // não seja criado em zip 185 258 // 186 259 // Funcao altarada para exportar uma ou … … 481 554 482 555 /* Airton 483 * Fazendo o port de um m étodo necessário para o funcionamento do arquivamento local556 * Fazendo o port de um método necessário para o funcionamento do arquivamento local 484 557 */ 485 558 //MAILARCHIVER … … 509 582 } 510 583 /*Airton 511 * Fim do m étodo portado584 * Fim do método portado 512 585 */ 513 586 … … 553 626 function remove_accents($string) { 554 627 /* 555 $array1 = array(" á", "à", "â", "ã", "ä", "é", "è", "ê", "ë", "í", "ì", "î", "ï", "ó", "ò", "ô", "õ", "ö", "ú", "ù", "û", "ü", "ç" , "?", "\"", "!", "@", "#", "$", "%", "š", "&", "*", "(", ")", "-", "=", "+", "Ž", "`", "[", "]", "{", "}", "~", "^", ",", "<", ">", ";", ":", "/", "?", "\\", "|", "¹", "²", "³", "£", "¢", "¬", "§", "ª", "º", "°", "Á", "À", "Â", "Ã", "Ä", "É", "È", "Ê", "Ë", "Í", "Ì", "Î", "Ï", "Ó", "Ò", "Ô", "Õ", "Ö", "Ú", "Ù", "Û", "Ü", "Ç");628 $array1 = array("á", "à ", "â", "ã", "À", "é", "Ú", "ê", "ë", "Ã", "ì", "î", "ï", "ó", "ò", "ÃŽ", "õ", "ö", "ú", "ù", "û", "ÃŒ", "ç" , "?", "\"", "!", "@", "#", "$", "%", "š", "&", "*", "(", ")", "-", "=", "+", "ÂŽ", "`", "[", "]", "{", "}", "~", "^", ",", "<", ">", ";", ":", "/", "?", "\\", "|", "¹", "²", "³", "£", "¢", "¬", "§", "ª", "º", "°", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã", "Ã"); 556 629 $array2 = array("a", "a", "a", "a", "a", "e", "e", "e", "e", "i", "i", "i", "i", "o", "o", "o", "o", "o", "u", "u", "u", "u", "c" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "A", "A", "A", "A", "A", "E", "E", "E", "E", "I", "I", "I", "I", "O", "O", "O", "O", "O", "U", "U", "U", "U", "C"); 557 630 return str_replace( $array1, $array2, $string ); 558 631 */ 559 632 return strtr($string, 560 " áàâãäéèêëíìîïóòôõöúùûüç?\"'!@#$%š&*()-=+Ž`[]{}~^,<>;:/?\\|¹²³£¢¬§ªº°ÁÀÂÃÄÉÈÊËÍÌÎÏÓÒÔÕÖÚÙÛÜÇ",633 "áà âãÀéÚêëÃìîïóòÎõöúùûÌç?\"'!@#$%š&*()-=+ÂŽ`[]{}~^,<>;:/?\\|¹²³£¢¬§ªº°ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃ", 561 634 "aaaaaeeeeiiiiooooouuuuc___________________________________________AAAAAEEEEIIIIOOOOOUUUUC"); 562 635 }
Note: See TracChangeset
for help on using the changeset viewer.