Changeset 5264
- Timestamp:
- 12/16/11 17:03:00 (12 years ago)
- Location:
- trunk/expressoMail1_2
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.imap_functions.inc.php
r5256 r5264 378 378 */ 379 379 function import_msgs($params) { 380 381 ob_start(); 382 print_r($params); 383 $output = ob_get_clean(); 384 file_put_contents( "/tmp/acoutinho.log", $output , FILE_APPEND); 385 386 380 387 if(!$this->mbox) 381 388 $this->mbox = $this->open_mbox(); 382 389 383 if( preg_match('/local_/',$params["folder"]) ) 384 {390 if( preg_match('/local_/',$params["folder"]) ){ 391 385 392 // PLEASE, BE CAREFULL!!! YOU SHOULD USE EMAIL CONFIGURATION VALUES (EMAILADMIN MODULE) 386 393 $tmp_box = mb_convert_encoding('INBOX'.$this->imap_delimiter.$_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder'].$this->imap_delimiter.'tmpMoveToLocal', "UTF7-IMAP", "UTF-8"); 387 if ( ! imap_createmailbox( $this ->mbox,"{".$this -> imap_server."}$tmp_box" ) )394 if ( ! imap_createmailbox( $this->mbox,"{".$this -> imap_server."}$tmp_box" ) ) 388 395 return $this->functions->getLang( 'Import to Local : fail...' ); 389 396 imap_reopen($this->mbox, "{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$tmp_box); 390 397 $params["folder"] = $tmp_box; 391 398 } 399 392 400 $errors = array(); 393 401 $invalid_format = false; 394 402 $filename = $params['FILES'][0]['name']; 395 $params["folder"] = mb_convert_encoding($params["folder"], "UTF7-IMAP","ISO _8859-1");403 $params["folder"] = mb_convert_encoding($params["folder"], "UTF7-IMAP","ISO-8859-1, UTF-8"); 396 404 $quota = imap_get_quotaroot($this->mbox, $params["folder"]); 405 397 406 if((($quota['limit'] - $quota['usage'])*1024) <= $params['FILES'][0]['size']){ 398 407 return array( 'error' => $this->functions->getLang("fail in import:"). 399 408 " ".$this->functions->getLang("Over quota")); 400 409 } 410 401 411 if(substr($filename,strlen($filename)-4)==".zip") { 402 412 $zip = zip_open($params['FILES'][0]['tmp_name']); 403 404 413 if ($zip) { 405 414 while ($zip_entry = zip_read($zip)) { … … 418 427 zip_close($zip); 419 428 } 420 421 if ( isset( $tmp_box ) && ! sizeof( $errors ) ) 422 { 423 429 if (isset( $tmp_box ) && ! sizeof( $errors )){ 424 430 $mc = imap_check($this->mbox); 425 426 431 $result = imap_fetch_overview( $this -> mbox, "1:{$mc -> Nmsgs}", 0 ); 427 428 432 $ids = array( ); 429 433 foreach ($result as $overview) 430 434 $ids[ ] = $overview -> uid; 431 432 435 return implode( ',', $ids ); 433 436 } 434 }435 else if(substr($filename,strlen($filename)-4)==".eml") {437 438 }else if(substr($filename,strlen($filename)-4)==".eml") { 436 439 $email = implode("",file($params['FILES'][0]['tmp_name'])); 437 $status = @imap_append($this->mbox, 438 "{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$params["folder"], 439 $email 440 ); 441 if(!$status) { 442 //TODO: remover zip_entry pois ele é tratado apenas ao importar mensagens zipadas 443 array_push($errors,zip_entry_name($zip_entry)); 444 zip_entry_close($zip_entry); 445 } 440 $status = imap_append($this->mbox,"{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$params["folder"],$email); 441 442 443 ob_start(); 444 var_dump($status); 445 print($email); 446 $output = ob_get_clean(); 447 file_put_contents( "/tmp/acoutinho.log", $output , FILE_APPEND); 448 449 if(!$status) 450 return "Deu Pau :("; 446 451 447 452 if ( isset( $tmp_box ) && ! sizeof( $errors ) ) { … … 457 462 } 458 463 } 459 else 460 { 464 else{ 461 465 if ( isset( $tmp_box ) ) 462 466 imap_deletemailbox( $this->mbox,"{".$this -> imap_server."}$tmp_box" ); … … 3830 3834 } 3831 3835 3836 3837 function set_messages_flag_from_search($params){ 3838 $error = False; 3839 $fileNames = ""; 3840 3841 $sel_msgs = explode(",", $params['msg_to_flag']); 3842 @reset($sel_msgs); 3843 $sorted_msgs = array(); 3844 foreach($sel_msgs as $idx => $sel_msg) { 3845 $sel_msg = explode(";", $sel_msg); 3846 if(array_key_exists($sel_msg[0], $sorted_msgs)){ 3847 $sorted_msgs[$sel_msg[0]] .= ",".$sel_msg[1]; 3848 } 3849 else { 3850 $sorted_msgs[$sel_msg[0]] = $sel_msg[1]; 3851 } 3852 } 3853 unset($sorted_msgs['']); 3854 $array_names_keys = array_keys($sorted_msgs); 3855 // Verifica se as n mensagens selecionadas 3856 // se encontram em um mesmo folder 3857 if (count($sorted_msgs)==1){ 3858 $param['folder'] = $array_names_keys[0]; 3859 $param['msgs_to_set'] = $sorted_msgs[$array_names_keys[0]]; 3860 $param['flag'] = $params['flag']; 3861 $returns[0] = $this->set_messages_flag($param); 3862 return $returns; 3863 }else{ 3864 for($i = 0; $i < count($array_names_keys); $i++){ 3865 $param['folder'] = $array_names_keys[$i]; 3866 $param['msgs_to_set'] = $sorted_msgs[$array_names_keys[$i]]; 3867 $param['flag'] = $params['flag']; 3868 $returns[$i] = $this->set_messages_flag($param); 3869 } 3870 } 3871 return $returns; 3872 } 3832 3873 function set_messages_flag($params) 3833 { 3834 $folder = $params['folder'];3874 { 3875 $folder = mb_convert_encoding($params['folder'], "UTF7-IMAP","UTF-8, ISO-8859-1, UTF7-IMAP"); 3835 3876 $msgs_to_set = $params['msgs_to_set']; 3836 3877 $flag = $params['flag']; … … 3840 3881 $return["msgs_not_to_set"] = ""; 3841 3882 3842 if(!$this->mbox && !is_resource($this->mbox)) 3843 $this->mbox = $this->open_mbox($folder); 3883 $this->mbox = $this->open_mbox($folder); 3844 3884 3845 3885 if ($flag == "unseen"){ -
trunk/expressoMail1_2/js/common_functions.js
r5209 r5264 140 140 } 141 141 142 function set_msg_as_unread(msg_number ){142 function set_msg_as_unread(msg_number, isSearch){ 143 143 tr_message = Element(msg_number); 144 144 if ((exist_className(tr_message, 'tr_msg_read') || exist_className(tr_message, 'tr_msg_read2')) && (!exist_className(tr_message, 'tr_msg_unread'))) … … 146 146 remove_className(tr_message, 'selected_msg'); 147 147 add_className(tr_message, 'tr_msg_unread'); 148 Element("td_message_unseen_"+msg_number).innerHTML = "<img src ='templates/"+template+"/images/unseen.gif' title='"+get_lang('Unseen')+"'>"; 149 } 150 151 function set_msg_as_flagged(msg_number){ 148 if(!isSearch) 149 Element("td_message_unseen_"+msg_number).innerHTML = "<img src ='templates/"+template+"/images/unseen.gif' title='"+get_lang('Unseen')+"'>"; 150 } 151 152 function set_msg_as_flagged(msg_number, isSearch){ 152 153 var msg = Element(msg_number); 153 154 remove_className(msg, 'selected_msg'); 154 155 add_className(msg, 'flagged_msg'); 155 Element("td_message_important_"+msg_number).innerHTML = "<img src ='templates/"+template+"/images/important.gif' title='"+get_lang('Important')+"'>"; 156 } 157 158 function set_msg_as_unflagged(msg_number){ 156 if(isSearch) 157 Element("td_message_important_"+msg_number.substr(0,msg_number.indexOf('_'))).innerHTML = "<img src ='templates/"+template+"/images/important.gif' title='"+get_lang('Important')+"'>"; 158 else 159 Element("td_message_important_"+msg_number).innerHTML = "<img src ='templates/"+template+"/images/important.gif' title='"+get_lang('Important')+"'>"; 160 } 161 162 function set_msg_as_unflagged(msg_number, isSearch){ 159 163 var msg = Element(msg_number); 160 164 remove_className(msg, 'selected_msg'); 161 165 remove_className(msg, 'flagged_msg'); 162 Element("td_message_important_"+msg_number).innerHTML = " "; 166 if(isSearch) 167 Element("td_message_important_"+msg_number.substr(0,msg_number.indexOf('_'))).innerHTML = " "; 168 else 169 Element("td_message_important_"+msg_number).innerHTML = " "; 163 170 } 164 171 -
trunk/expressoMail1_2/js/local_messages.js
r5215 r5264 1048 1048 1049 1049 1050 local_messages.prototype.set_messages_flag = function(msgs_number, flag) { 1050 local_messages.prototype.set_messages_flag = function(msgs_number, flag, isSearch){ 1051 if(isSearch){ 1052 var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 1053 }else 1054 isSearch = false; 1051 1055 this.init_local_messages(); 1052 1056 var no_errors = true; … … 1056 1060 var msgs_to_set = get_selected_messages(); 1057 1061 msgs_to_set= msgs_to_set.split(","); 1058 } 1059 else { //Just one message 1062 }else if(isSearch){ 1063 msgs_to_set = msgs_number.split(','); 1064 }else { //Just one message 1060 1065 one_message = true; 1061 1066 msgs_to_set = new Array(); … … 1077 1082 switch(flag) { 1078 1083 case "unseen": 1079 set_msg_as_unread(msgs_to_set[i]); 1084 if(!isSearch) 1085 set_msg_as_unread(msgs_to_set[i]); 1086 else 1087 set_msg_as_unread(msgs_to_set[i]+'_s'+id_border, true); 1080 1088 header["Unseen"] = "U"; 1081 1089 mail["Unseen"] = "U"; … … 1084 1092 break; 1085 1093 case "flagged": 1086 set_msg_as_flagged(msgs_to_set[i]); 1094 if(!isSearch) 1095 set_msg_as_flagged(msgs_to_set[i]); 1096 else 1097 set_msg_as_flagged(msgs_to_set[i]+'_s'+id_border, true); 1087 1098 header["Flagged"] = "F"; 1088 1099 mail["Flagged"] = "F"; … … 1094 1105 no_errors = false; 1095 1106 else { 1096 set_msg_as_unflagged(msgs_to_set[i]); 1107 if(!isSearch) 1108 set_msg_as_unflagged(msgs_to_set[i]); 1109 else 1110 set_msg_as_unflagged(msgs_to_set[i]+'_s'+id_border, true); 1097 1111 header["Flagged"] = "N"; 1098 1112 mail["Flagged"] = "N"; … … 1105 1119 mail["Unseen"] = "N"; 1106 1120 mail["header"]["Unseen"] = "N"; 1107 set_msg_as_read(msgs_to_set[i],true); 1121 if(!isSearch) 1122 set_msg_as_read(msgs_to_set[i],true); 1123 else 1124 set_msg_as_read(msgs_to_set[i]+'_s'+id_border, true); 1108 1125 unseen = 0; 1109 1126 break; -
trunk/expressoMail1_2/js/main.js
r5257 r5264 2486 2486 } 2487 2487 2488 function set_messages_flag_search_local(flag){ 2489 var msgs_flag = this.get_selected_messages_search(); 2490 if(local_messages.prototype.set_messages_flag(msgs_flag, flag, true)){ 2491 var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 2492 var msgs = msgs_flag.split(','); 2493 for(var i = 0; i < msgs.length; i++){ 2494 Element("search_local_msg"+id_border+"_check_box_message_"+msgs[i]).checked = false; 2495 } 2496 draw_tree_folders(); 2497 Element('chk_box_select_all_messages_search_local').checked = false; 2498 refresh(); 2499 write_msg(get_lang('The messages were marked with success!')); 2500 }else{ 2501 write_msg(get_lang('Error marking messages.')); 2502 } 2503 } 2504 2505 function set_messages_flag_search(flag){ 2506 2507 var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 2508 var msgs_flag = this.get_selected_messages_search(); 2509 if (!msgs_flag){ 2510 write_msg(get_lang('No selected message.')); 2511 return; 2512 } 2513 var selected_param = ""; 2514 msgs_to_flag = msgs_flag.split(","); 2515 search = true; 2516 for (i = 0; i < msgs_to_flag.length; i++){ 2517 var tr = Element(msgs_to_flag[i]+'_s'+id_border); 2518 var msg_to_flag = (tr.getAttribute('name') == null?get_current_folder():tr.getAttribute('name')); 2519 selected_param += ','+msg_to_flag+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 2520 } 2521 2522 var handler_set_messages_flag = function(data){ 2523 var errors = false; 2524 var notErrors = false; 2525 for (var i = 0; i < data.length; i++){ 2526 var notArray = true; 2527 if(data[i].msgs_to_set != ''){ 2528 var msgs = []; 2529 if(data[i].msgs_to_set.indexOf(',') > 0){ 2530 msgs = data[i].msgs_to_set.split(',') 2531 notArray = false; 2532 }else 2533 msgs[0] = data[i].msgs_to_set; 2534 2535 for (var j = 0; j < msgs.length; j++){ 2536 switch(data[i].flag){ 2537 case "unseen": 2538 set_msg_as_unread(msgs[j]+'_s'+id_border, true); 2539 Element("search_"+id_border+"_check_box_message_"+msgs[j]).checked = false; 2540 break; 2541 case "seen": 2542 set_msg_as_read(msgs[j]+'_s'+id_border, true); 2543 Element("search_"+id_border+"_check_box_message_"+msgs[j]).checked = false; 2544 break; 2545 case "flagged": 2546 set_msg_as_flagged(msgs[j]+'_s'+id_border, true); 2547 document.getElementById("search_"+id_border+"_check_box_message_"+msgs[j]).checked = false; 2548 break; 2549 case "unflagged": 2550 set_msg_as_unflagged(msgs[j]+'_s'+id_border, true); 2551 Element("search_"+id_border+"_check_box_message_"+msgs[j]).checked = false; 2552 break; 2553 } 2554 notErrors = true; 2555 } 2556 }else{ 2557 errors = true; 2558 } 2559 } 2560 2561 2562 draw_tree_folders(); 2563 Element('chk_box_select_all_messages_search').checked = false; 2564 refresh(); 2565 2566 if(errors && notErrors) 2567 write_msg(get_lang('Some messages were not marked with success!')); 2568 else if(notErrors) 2569 write_msg(get_lang('The messages were marked with success!')); 2570 else 2571 write_msg(get_lang('Error marking messages.')); 2572 } 2573 cExecute ("$this.imap_functions.set_messages_flag_from_search&msg_to_flag="+selected_param+"&flag="+flag, handler_set_messages_flag); 2574 } 2488 2575 2489 2576 // Get checked messages 2490 function set_messages_flag(flag, msgs_to_set){ 2577 function set_messages_flag(flag, msgs_to_set){ 2578 if(currentTab != 0 && currentTab.indexOf("search_local") >= 0){ 2579 return set_messages_flag_search_local(flag); 2580 } 2581 if (currentTab != 0 && currentTab.indexOf("search_") >= 0){ 2582 return set_messages_flag_search(flag); 2583 } 2584 2491 2585 var handler_set_messages_flag = function (data){ 2492 2586 if(!verify_session(data)) -
trunk/expressoMail1_2/js/search.js
r5235 r5264 781 781 td_element0 = createTDElement(1,0); 782 782 chk_box_element = document.createElement("INPUT"); 783 chk_box_element.id = "chk_box_select_all_messages"; 783 if(border_id.indexOf('local') > 0) 784 chk_box_element.id = "chk_box_select_all_messages_search_local"; 785 else 786 chk_box_element.id = "chk_box_select_all_messages_search"; 784 787 chk_box_element.setAttribute("type", "checkbox"); 785 788 chk_box_element.className = "checkbox"; -
trunk/expressoMail1_2/setup/phpgw_pt-br.lang
r5261 r5264 736 736 Unable to remove the message (s) of shared folders which you do not have permission. expressoMail1_2 pt-br Não foi possível remover as mensagens da(s) pastas compartilhadas as quais você não possui permissão. 737 737 Error processing some messages. expressoMail1_2 pt-br Erro ao processar algumas mensagens. 738 Some messages were not marked with success! expressoMail1_2 pt-br Algumas mensagens não foram marcadas com sucesso! 739 The messages were marked with success! expressoMail1_2 pt-br As mensagens foram marcadas com sucesso! 740 Error marking messages. expressoMail1_2 pt-br Erro ao marcar as mensagens.
Note: See TracChangeset
for help on using the changeset viewer.