Changeset 7261 for sandbox/2.5.0-expresso1
- Timestamp:
- 09/20/12 17:13:44 (12 years ago)
- Location:
- sandbox/2.5.0-expresso1
- Files:
-
- 3 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 } -
sandbox/2.5.0-expresso1/expressoMail1_2/js/mail_archiver.js
r7248 r7261 1391 1391 //ONLINE messages_proxy.prototype.messages_list = function(folder,msg_range_begin,emails_per_page,sort_box_type,search_box_type,sort_box_reverse,preview_msg_subject,preview_msg_tip,call_back,tree_name) { 1392 1392 //sys call = proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort,search,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); 1393 MailArchiver.prototype.listMessages = function( ){1393 MailArchiver.prototype.listMessages = function(folderId){ 1394 1394 try{ 1395 1395 connector.showProgressBar(); 1396 1396 var getcurrent = get_current_folder(); 1397 1397 //tree_folders.getNodeById(get_current_folder())._select(); 1398 var folderid = this.currentfolder; //getcurrent.substr(6,getcurrent.length); 1398 var folderid; 1399 if(typeof(folderId) != "undefined"){ 1400 folderid = folderId; 1401 } else { 1402 folderid = this.currentfolder; 1403 } 1399 1404 var objfolder = new Object(); 1400 1405 objfolder.folder = folderid; -
sandbox/2.5.0-expresso1/prototype/modules/mail/js/foldertree.js
r7220 r7261 566 566 567 567 var name_box = $(this).parents("li:first").attr("id"); 568 569 568 570 var name_folder = name_box.split(cyrus_delimiter)[name_box.split(cyrus_delimiter).length-1]; 569 571 … … 571 573 if(!data){ 572 574 write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.')) 573 }else if(data["empty_folder"] ){575 }else if(data["empty_folder"] || data == "empty_folder"){ 574 576 write_msg(get_lang("The selected folder is empty.")); 575 577 }else 576 578 download_attachments(null, null, data, null,null, name_folder +'.zip'); 577 579 } 578 cExecute("$this.exporteml.export_all",hand_export,"folder="+name_box); 580 if($(this).parents("li:first").find("input[type=hidden]:first").val() == "localFolder"){ 581 expresso_mail_archive.listMessages(name_box.split("_")[2]); 582 var msgsArchive = expresso_mail_archive.messageslisted; 583 584 var array = new Array(); 585 586 for(var i =0; i < msgsArchive.length; i++){ 587 eachMsg = { 588 'ContentType' : msgsArchive[i].ContentType, 589 'from' : { 'email' : msgsArchive[i].from.email, 'full' : msgsArchive[i].from.full, 'name' : msgsArchive[i].from.name}, 590 'msg_sample' : msgsArchive[i].msg_sample, 591 'subject' : msgsArchive[i].subject, 592 'to' : { 'email' : msgsArchive[i].to.email, 'full' : msgsArchive[i].to.full, 'name' : msgsArchive[i].to.name}, 593 'toaddress2' : msgsArchive[i].toaddress2, 594 'msg_number' : msgsArchive[i].msg_number, 595 'date' : new Date(msgsArchive[i].timestamp).toString() 596 }; 597 array.push(eachMsg); 598 599 } 600 601 $.ajax({ 602 type: "POST", 603 url: "controller.php?action=$this.exporteml.export_all_byLocalFolder", 604 data: { folder: name_box, type: "msg_local", messages : array} 605 }).done(function(msg) { 606 hand_export(msg.split('"')[1]); 607 }); 608 } else { 609 alert(1); 610 cExecute("$this.exporteml.export_all",hand_export,"folder="+name_box); 611 } 579 612 write_msg(get_lang('You must wait while the messages will be exported...')); 580 613 });
Note: See TracChangeset
for help on using the changeset viewer.