Changeset 7907 for trunk/expressoMail1_2
- Timestamp:
- 02/22/13 12:37:16 (11 years ago)
- Location:
- trunk/expressoMail1_2
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.imap_functions.inc.php
r7902 r7907 2174 2174 function delete_msgs($params) 2175 2175 { 2176 2177 2176 $folder = $params['folder']; 2178 2177 $folder = mb_convert_encoding($folder, "UTF7-IMAP","ISO-8859-1"); 2178 2179 2179 $msgs_number = explode(",",$params['msgs_number']); 2180 2180 2181 if(array_key_exists('border_ID' ,$params)) 2181 2182 $border_ID = $params['border_ID']; … … 2193 2194 $mbox_stream = @imap_open("{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$folder, $this->username, $this->password) or die(serialize(array('imap_error' => $this->parse_error(imap_last_error())))); 2194 2195 2195 foreach ($msgs_number as $msg_number) 2196 2197 2198 foreach ($msgs_number as $msg_number) 2196 2199 { 2197 2200 if (imap_delete($mbox_stream, $msg_number, FT_UID)); … … 2681 2684 return $return; 2682 2685 } 2683 2686 2687 function get_info_msg_archiver($params){ 2688 $folder = "INBOX/Trash"; 2689 $mbox_stream = $this->open_mbox($folder); 2690 2691 foreach($params['idMsgs'] as $i => $id){ 2692 $name = imap_headerinfo($mbox_stream, imap_msgno($mbox_stream ,$id)); 2693 $return[] = array( 2694 'uid' => $id, 2695 'folder' => "archiver", 2696 'type' => "imapMSG", 2697 'name' => base64_encode($name->subject.".eml") 2698 ); 2699 } 2700 2701 return json_encode($return); 2702 } 2703 2684 2704 function send_mail($params) { 2685 2705 require_once dirname(__FILE__) . '/../../services/class.servicelocator.php'; … … 2752 2772 $encrypt = $params['input_return_cripto']; 2753 2773 $signed = $params['input_return_digital']; 2774 2775 2776 //$params['attachments'] = $params['attachments']['imap']; 2754 2777 2755 2778 $params['attachments'] = mb_convert_encoding($params['attachments'], "UTF7-IMAP","UTF-8, ISO-8859-1, UTF7-IMAP"); … … 2904 2927 $arr_new_folder['base_path'] = $base_path; 2905 2928 2906 $this->create_mailbox($arr_new_folder); 2929 $this->create_mailbox($arr_new_folder); 2907 2930 $has_new_folder = true; 2908 2931 $folder = $newfolder; … … 2953 2976 2954 2977 $header = $this->get_header($msg_numb); 2978 2955 2979 $header_ = imap_fetchheader($this->mbox, $msg_numb, FT_UID); 2956 2980 $pattern = '/^[ \t]*Disposition-Notification-To:.*/mi'; … … 3055 3079 foreach ($attachment as &$value) 3056 3080 { 3081 /*Volta aqui*/ 3057 3082 if((int)$value > 0) //BD attachment 3058 3083 { 3084 ob_start(); 3059 3085 $att = Controller::read(array('id'=> $value , 'concept' => 'mailAttachment')); 3060 3086 … … 3072 3098 else //message attachment 3073 3099 { 3100 3074 3101 $value = json_decode($value, true); 3102 3103 if($value["folder"] == "archiver"){ 3104 $value['folder'] = "INBOX/Trash"; 3105 } 3075 3106 3076 3107 switch ($value['type']) { … … 3080 3111 if(strstr($body,'src="./inc/get_archive.php?msgFolder='.$value['folder'].'&msgNumber='.$value['uid'].'&indexPart='.$value['part'].'"') !== false)//Embeded IMG 3081 3112 { 3082 $body = str_ireplace('src="./inc/get_archive.php?msgFolder='.$value['folder']. '&msgNumber='.$value['uid'].'&indexPart='.$value['part'].'"' , 'src="'.$att['name'].'"', $body);3113 $body = str_ireplace('src="./inc/get_archive.php?msgFolder='.$value['folder']. '&msgNumber='.$value['uid'].'&indexPart='.$value['part'].'"' , 'src="'.$att['name'].'"', $body); 3083 3114 $mailService->addStringImage($att['source'], $att['type'],mb_convert_encoding($att['name'], 'ISO-8859-1' , 'UTF-8,ISO-8859-1') ); 3084 3115 } … … 3091 3122 case 'imapMSG': 3092 3123 $mbox_stream = $this->open_mbox(mb_convert_encoding($value['folder'] , 'ISO-8859-1' , 'UTF7-IMAP')); 3124 3093 3125 $rawmsg = $this->getRawHeader($value['uid']) . "\r\n\r\n" . $this->getRawBody($value['uid']); 3094 3126 3095 3127 $mailService->addStringAttachment($rawmsg, mb_convert_encoding(base64_decode($value['name']), 'ISO-8859-1' , 'UTF-8,ISO-8859-1'), 'message/rfc822', '7bit', 'attachment' ); 3128 /*envia o anexo para o email*/ 3129 3096 3130 $message_size_total += mb_strlen($rawmsg); //Adiciona o tamanho do anexo a variavel que controlao tamanho da msg. 3097 3131 unset($rawmsg); … … 3176 3210 { 3177 3211 $this->rfc2397ToEmbeddedAttachment($mailService , $body); 3212 3213 3178 3214 3179 3215 $defaultStyle = ''; … … 4863 4899 $error = array(); 4864 4900 4901 4902 4865 4903 foreach($sources as $index=>$src) 4866 4904 { 4867 4905 if($src!="") 4868 4906 { 4907 4908 4909 4869 4910 //If it is a MailArchiver incomming data 4870 4911 if($params['madata']) … … 4878 4919 $insert = $this->insert_email($source,$dest_folder,$timestamps[$index],$flags[$index]); 4879 4920 4921 //volta aqui 4922 $return['idsMsg'] = $insert['msg_no']; 4923 4880 4924 if($insert['error']) 4881 4925 { … … 4884 4928 else 4885 4929 { 4930 // volta aqui 4886 4931 $archived[] = $ids[$index]; 4887 4932 } -
trunk/expressoMail1_2/js/abas.js
r7889 r7907 708 708 function listAttachment(ID) 709 709 { 710 return (typeof(msgAttachments[ID]) == 'undefined') ? '' : JSON.stringify(msgAttachments[ID]); 711 } 712 710 var imap = new Array(); 711 var archiver = new Array(); 712 713 if(typeof msgAttachments[ID] == "undefined"){ 714 return ""; 715 } 716 717 $.each(msgAttachments[ID], function(i, each){ 718 719 if(typeof(each) == "undefined") return true; 720 721 if($.parseJSON(each).folder.indexOf("local_messages_") != -1){ 722 archiver.push($.parseJSON(each)); 723 } else { 724 imap.push(each); 725 } 726 }); 727 728 context = { 729 "imap" : imap, 730 "archiver" : archiver 731 }; 732 733 return (typeof(msgAttachments[ID]) == 'undefined') ? '' : context; 734 } 735 -
trunk/expressoMail1_2/js/draw_api.js
r7899 r7907 4765 4765 att.uid = message_number; 4766 4766 att.type = 'imapMSG'; 4767 att.name = Base64.encode(onceOpened HeadersMessages[folder_name][message_number].subject + '.eml');4767 att.name = Base64.encode(onceOpenedMessages[folder_name][message_number].subject + '.eml'); 4768 4768 var idATT = JSON.stringify(att); 4769 4769 addAttachment(ID, idATT); 4770 4770 var attach = {}; 4771 attach.fileName = onceOpened HeadersMessages[folder_name][message_number].subject + '.eml';4772 attach.fullFileName = onceOpened HeadersMessages[folder_name][message_number].subject + '.eml';4771 attach.fileName = onceOpenedMessages[folder_name][message_number].subject + '.eml'; 4772 attach.fullFileName = onceOpenedMessages[folder_name][message_number].subject + '.eml'; 4773 4773 if(attach.fileName.length > 20) 4774 4774 { … … 4778 4778 attach.error = false; 4779 4779 attach.OK = true; 4780 attach.fileSize = formatBytes(onceOpened HeadersMessages[folder_name][message_number].Size);4780 attach.fileSize = formatBytes(onceOpenedMessages[folder_name][message_number].size); 4781 4781 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", { 4782 4782 file: attach -
trunk/expressoMail1_2/js/mail_archiver.js
r7685 r7907 575 575 } 576 576 577 578 579 580 /** 581 *Unarchieve Message 582 * 583 *@author Cassiano Dal Pizzol [cassiano.dalpizzol@serpro.gov.br] 584 * 585 *@param folder Original Folder of the message 586 *@param new_folder The new folder of the message 587 *@param msgs_number id of the messages 588 */ 589 MailArchiver.prototype.unarchieve = function (folder, new_folder, msgs_number){ 590 try{ 591 write_msg(get_lang("Starting to unarchive messages")); 577 MailArchiver.prototype.unarchieveToAttach = function (folder, new_folder, msgs_number){ 578 try{ 579 580 if(typeof(expresso_mail_archive.idMsgsToAttach) == "undefined"){ 581 expresso_mail_archive.idMsgsToAttach = new Array(); 582 } 583 //write_msg(get_lang("Starting to unarchive messages")); 592 584 expresso_mail_archive.isArchiveOperation = true; 593 585 if(currentTab.toString().indexOf("_r") != -1){ … … 599 591 600 592 if (parseInt(msgs_number) > 0 || msgs_number.length > 0){ 601 expresso_mail_archive.message_list = new Array(); 602 expresso_mail_archive.CreateMessageList(msgs_number); 603 if((expresso_mail_archive.message_list.length > 0) && (expresso_mail_archive.message_list[0] != '')) { 593 594 expresso_mail_archive.messageToAttach = msgs_number; 595 if(expresso_mail_archive.messageToAttach) { 596 604 597 expresso_mail_archive.unarchivecounter = 0; 605 598 expresso_mail_archive.unarchive_error_counter=0; … … 608 601 (new_folder != null)?expresso_mail_archive.unarchievenewfolder = new_folder:expresso_mail_archive.unarchievenewfolder='INBOX'; 609 602 610 expresso_mail_archive.unarchieve Handler();603 expresso_mail_archive.unarchieveToAttachHandler(); 611 604 612 605 if(currentTab.toString().indexOf("_r") != -1){ … … 628 621 } 629 622 630 /** 631 * 632 *Unarchieve Message Handler 633 * 634 *@author Cassiano Dal Pizzol [cassiano.dalpizzol@serpro.gov.br] 635 * 636 **/ 637 MailArchiver.prototype.unarchieveHandler = function(){ 638 try{ 639 var email = mail_archive_protocol+'://'+mail_archive_host+':'+mail_archive_port+'/mail/' + expresso_mail_archive.session.id +'/'+ expresso_mail_archive.folder.path + '/'+ expresso_mail_archive.message_list[expresso_mail_archive.unarchivecounter] + '.eml'; 623 MailArchiver.prototype.unarchieveToAttachHandler = function(){ 624 try{ 625 var email = mail_archive_protocol+'://'+mail_archive_host+':'+mail_archive_port+'/mail/' + expresso_mail_archive.session.id +'/'+ expresso_mail_archive.folder.path + '/'+ expresso_mail_archive.messageToAttach + '.eml'; 640 626 641 627 //Creates a new object to unarchive messages. It's a CXF Add-on CORS component … … 647 633 for (var w=0; w < expresso_mail_archive.allcompletemessagesbyfolder.length; w++){ 648 634 649 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["msg_number"] == expresso_mail_archive.message _list[expresso_mail_archive.unarchivecounter]){635 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["msg_number"] == expresso_mail_archive.messageToAttach){ 650 636 var timestamp = expresso_mail_archive.allcompletemessagesbyfolder[w]["timestamp"]; 651 637 … … 702 688 } 703 689 } 690 var id = expresso_mail_archive.messageToAttach; 691 var source = encodeURIComponent(UnarchiveReqHandler.handler.responseText) + "#@#@#@"; 692 var params = 693 "&folder=" + escape(expresso_mail_archive.unarchievenewfolder) + 694 "&source=" + source + 695 "×tamp=" + timestamp + 696 "&madata=true" + 697 "&flags=" + flags + 698 "&id=" + id; 699 700 701 var handler_unarchive = function(data){ 702 expresso_mail_archive.unarchieveToAttachController(data); 703 } 704 write_msg(get_lang("Please, Wait the messages from archieve be ready.")); 705 706 $.ajax({ 707 url: "controller.php?action=$this.imap_functions.unarchive_mail", 708 success: function(data){ 709 data = connector.unserialize(data); 710 expresso_mail_archive.idMsgsToAttach.push(data.idsMsg); 711 handler_unarchive(data); 712 }, 713 async: false, 714 data: params, 715 type: 'POST', 716 717 }); 718 719 } 720 721 722 UnarchiveReqHandler.handler.open("GET", email, true); 723 if(UnarchiveReqHandler.handler.overrideMimeType){ 724 UnarchiveReqHandler.handler.overrideMimeType("message/rfc822; charset=windows-1252"); 725 } 726 UnarchiveReqHandler.handler.send(); 727 } 728 catch(e){ 729 write_msg(get_lang('Unarchive error: ' + e)); 730 } 731 } 732 733 MailArchiver.prototype.unarchieveToAttachController = function(data){ 734 735 if (data){ 736 if (data.error != "") { 737 expresso_mail_archive.unarchive_error_counter++; 738 } 739 740 } 741 } 742 743 744 /** 745 *Unarchieve Message 746 * 747 *@author Cassiano Dal Pizzol [cassiano.dalpizzol@serpro.gov.br] 748 * 749 *@param folder Original Folder of the message 750 *@param new_folder The new folder of the message 751 *@param msgs_number id of the messages 752 */ 753 MailArchiver.prototype.unarchieve = function (folder, new_folder, msgs_number){ 754 try{ 755 write_msg(get_lang("Starting to unarchive messages")); 756 expresso_mail_archive.isArchiveOperation = true; 757 if(currentTab.toString().indexOf("_r") != -1){ 758 msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 759 } 760 761 if(!msgs_number) 762 msgs_number = get_selected_messages(); 763 764 if (parseInt(msgs_number) > 0 || msgs_number.length > 0){ 765 expresso_mail_archive.message_list = new Array(); 766 expresso_mail_archive.CreateMessageList(msgs_number); 767 if((expresso_mail_archive.message_list.length > 0) && (expresso_mail_archive.message_list[0] != '')) { 768 expresso_mail_archive.unarchivecounter = 0; 769 expresso_mail_archive.unarchive_error_counter=0; 770 expresso_mail_archive.getFolderInfo(folder.replace("local_messages_","")); 771 expresso_mail_archive.unarchievefolder = expresso_mail_archive.folder.name; 772 (new_folder != null)?expresso_mail_archive.unarchievenewfolder = new_folder:expresso_mail_archive.unarchievenewfolder='INBOX'; 773 774 expresso_mail_archive.unarchieveHandler(); 775 776 if(currentTab.toString().indexOf("_r") != -1){ 777 delete_border(currentTab,'false'); 778 } 779 } 780 else{ 781 write_msg(get_lang('No selected message.')); 782 } 783 } 784 else 785 write_msg(get_lang('No selected message.')); 786 787 clear_selected_messages(); 788 } 789 catch (e){ 790 write_msg(get_lang('Unarchive error: ' + e)); 791 } 792 } 793 794 /** 795 * 796 *Unarchieve Message Handler 797 * 798 *@author Cassiano Dal Pizzol [cassiano.dalpizzol@serpro.gov.br] 799 * 800 **/ 801 MailArchiver.prototype.unarchieveHandler = function(){ 802 try{ 803 var email = mail_archive_protocol+'://'+mail_archive_host+':'+mail_archive_port+'/mail/' + expresso_mail_archive.session.id +'/'+ expresso_mail_archive.folder.path + '/'+ expresso_mail_archive.message_list[expresso_mail_archive.unarchivecounter] + '.eml'; 804 805 //Creates a new object to unarchive messages. It's a CXF Add-on CORS component 806 var UnarchiveReqHandler = new cxf_cors_request_object(); 807 UnarchiveReqHandler.init(); 808 809 //Both XDomainRequest and XMLHttpRequest L2 supports onload event 810 UnarchiveReqHandler.handler.onload = function(){ 811 for (var w=0; w < expresso_mail_archive.allcompletemessagesbyfolder.length; w++){ 812 813 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["msg_number"] == expresso_mail_archive.message_list[expresso_mail_archive.unarchivecounter]){ 814 var timestamp = expresso_mail_archive.allcompletemessagesbyfolder[w]["timestamp"]; 815 816 //Get local tagged message data 817 var flags = new String(""); 818 819 //Forwarded is special one: marks as "answered" and "draft" 820 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Forwarded"]){ 821 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Forwarded"] == 'F') 822 flags += 'A:X'+':'; 823 } 824 else{ 825 //Answered tag 826 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Answered"]) 827 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Answered"] == 'A') 828 flags += 'A'+':'; 829 else 830 flags += ':'; 831 else 832 flags += ':'; 833 834 //Draft tag 835 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Draft"]) 836 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Draft"] == 'X') 837 flags += 'D'+':'; 838 else 839 flags += ':'; 840 else 841 flags += ':'; 842 } 843 844 //Flagged tag 845 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Flagged"]) 846 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Flagged"] == 'F') 847 flags += 'F'+':'; 848 else 849 flags += ':'; 850 else 851 flags += ':'; 852 853 //Unseen tag 854 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Unseen"]) 855 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Unseen"] == 'U') 856 flags += 'U'; 857 else 858 flags += ''; 859 else 860 flags += ''; 861 862 //Imap tag hash id 863 flags += "#@#@#@"; 864 865 break; 866 } 867 } 704 868 var id = expresso_mail_archive.message_list[expresso_mail_archive.unarchivecounter]; 705 869 var source = encodeURIComponent(UnarchiveReqHandler.handler.responseText) + "#@#@#@"; … … 717 881 write_msg(get_lang('Unarchiving message %1 of %2', (expresso_mail_archive.unarchivecounter + 1), expresso_mail_archive.message_list.length)); 718 882 719 cExecute ("$this.imap_functions.unarchive_mail&", handler_unarchive, params); 883 //cExecute ("$this.imap_functions.unarchive_mail&", handler_unarchive, params); 884 885 $.ajax({ 886 url: "controller.php?action=$this.imap_functions.unarchive_mail", 887 data: params, 888 type: 'POST', 889 async: false, 890 success: function(data){ 891 handler_unarchive(connector.unserialize(data)); 892 }, 893 }); 894 895 896 720 897 } 721 898 … … 1398 1575 } 1399 1576 1577 1578 MailArchiver.prototype.getMessagesByFolder = function(folderid, searchType){ 1579 try{ 1580 if(searchType == "ALL") 1581 var query_messages = '{"query":{"folder":[{"@id":"'+folderid+'"}], "order":[{"@asc":"date"}]}}'; 1582 else 1583 var query_messages = '{"query":{"folder":[{"@id":"'+folderid+'"}], "tags":[{"@contains":"'+searchType+'"}], "order":[{"@asc":"date"}]}}'; 1584 ArchiveServices.listMessages(expresso_mail_archive.getMessagesByFolderOperationOK, expresso_mail_archive.getMessagesByFolderOperationFailure, expresso_mail_archive.session.id, query_messages); 1585 } 1586 catch (e){ 1587 expresso_mail_archive.getFaultInfo(); 1588 } 1589 } 1590 1591 MailArchiver.prototype.getMessagesByFolderOperationOK = function(returnService){ 1592 var msglist = new Array(); 1593 var msglistcomplete = new Array(); 1594 var msgAll = new Array(); 1595 for(var i=0; i< returnService.getReturn().length; i++){ 1596 //Array montado apenas com ids para tratamento de seleção de mensagens independente de paginação 1597 msglist.push(returnService.getReturn()[i]._id); 1598 1599 msgAll.push(returnService.getReturn()[i]); 1600 1601 //Incremento de contadores para atualização da aba de listagem 1602 if(returnService.getReturn()[i]._tags.indexOf("unseen") != -1){ 1603 expresso_mail_archive.tot_unseen_msgs_tab++; 1604 } 1605 expresso_mail_archive.tot_msgs_tab++; 1606 //Array montado para operação de desarquivamento 1607 var ExpSerialized = expresso_mail_archive.pattern.toExpressoHeader(returnService.getReturn()[i]); 1608 msglistcomplete.push(connector.unserialize(ExpSerialized)); 1609 } 1610 expresso_mail_archive.allmessagesbyfolder = msglist; 1611 expresso_mail_archive.allcompletemessagesbyfolder = msglistcomplete; 1612 expresso_mail_archive.msgAll = msgAll; 1613 } 1614 1615 MailArchiver.prototype.getMessagesByFolderOperationFailure = function(ServiceFault){ 1616 window.alert('listAllmessagesByFolder FALHOU!\n' + ServiceFault.getReturn()); 1617 } 1618 1619 1400 1620 //List all messages by folder given and set a array with all messages ids 1401 1621 MailArchiver.prototype.listAllMessagesByFolder = function(folderid, searchType){ … … 1515 1735 if(msgfound){ 1516 1736 expresso_mail_archive.currentheaders = headerMsg; 1737 expresso_mail_archive.subjectPreview = headerMsg.subject; 1517 1738 return(headerMsg); 1518 1739 } … … 1537 1758 bodies.push(temp); 1538 1759 } 1760 expresso_mail_archive.bodyPreview = temp.getReturn(); 1539 1761 return bodies; 1540 1762 } … … 1542 1764 expresso_mail_archive.getFaultInfo(); 1543 1765 } 1766 } 1767 1768 1769 MailArchiver.prototype.getPreviewToAttach = function(id){ 1770 expresso_mail_archive.getMessageInfo(id); 1771 expresso_mail_archive.getMessageBodies([id]); 1544 1772 } 1545 1773 … … 1618 1846 return; 1619 1847 } 1848 expresso_mail_archive.te = returnService.getReturn(); 1620 1849 var msgBody = returnService.getReturn(); 1621 1850 //var msgHeaders = expresso_mail_archive.getMessageHeaders(expresso_mail_archive.currentmessage); … … 2092 2321 expresso_mail_archive.messageslisted.push(msgitem2); 2093 2322 expresso_mail_archive.getMessageHeaders(serviceReturn.getReturn().getId()); 2323 2094 2324 } 2095 2325 else{ -
trunk/expressoMail1_2/js/main.js
r7899 r7907 1027 1027 1028 1028 var userTrashFolder = ''; 1029 1030 if (arguments.length <= 6 ) show_success_msg = true;1029 1030 if (arguments.length <= 6 && typeof(show_success_msg) == "undefined") show_success_msg = true; 1031 1031 if (folder == 'null') folder = current_folder; 1032 1032 … … 1164 1164 params_to_delete += "&search_box_type="+search_box_type; 1165 1165 params_to_delete += "&sort_box_reverse="+sort_box_reverse; 1166 1166 1167 cExecute ("$this.imap_functions.delete_msgs", handler_delete_msgs, params_to_delete); 1167 1168 } … … 3533 3534 mailData.input_from = $(content).find('select[name="input_from"]').val(); 3534 3535 3535 3536 if(stringEmail != ""){ 3537 $.ajax({ 3538 url: "controller.php?action=$this.imap_functions.send_mail", 3539 data: mailData, 3540 type: 'POST', 3541 3542 beforeSend: function(jqXHR, settings){ 3543 3544 write_msg( get_lang( 'Sending the message...' ) ); 3545 $(content).find('button.send').button('option', 'disabled', true); 3546 3547 3548 }, 3549 success: function(data){ 3550 send_message_return(connector.unserialize(data),ID); 3551 }, 3552 error: function(){ 3553 write_msg(get_lang( 'Error trying to send the message. Retry in a few seconds...' ) ); 3554 $(content).find('button.send').button('option', 'disabled', false); 3555 var interval = setInterval(function(){ 3556 send_valided_message(ID,folder,folder_name); 3557 clearInterval(interval); 3558 },15000); 3559 return; 3560 } 3561 }); 3562 }else{ 3563 write_msg(get_lang("message without receiver")); 3564 return; 3565 } 3566 3536 // VERIFY IF EXISTS MESSAGE TO ATTACH 3537 if(typeof mailData.attachments == "object"){ 3538 3539 // VERIFY IF EXISTS MESSAGE OF ARCHIVE 3540 if(mailData.attachments.archiver.length){ 3541 3542 // CREATE ONE VARIABLE TO STORE ALL THE MESSAGES INFORMATION 3543 var archiver = new Array(); 3544 3545 // UNARCHIEVE ALL THE MESSAGES TO IMAP TRASH 3546 $.each(mailData.attachments.archiver, function(i, each){ 3547 expresso_mail_archive.unarchieveToAttach(each.folder,"INBOX/Trash",each.uid); 3548 }); 3549 3550 // FIX THE PROBLEM WITH ASYNC 3551 // noReady is calling always that the variable is not complete with all the messages ids 3552 notReady = function(){ 3553 setTimeout(function(){ 3554 if(mailData.attachments.archiver.length == expresso_mail_archive.idMsgsToAttach.length){ 3555 // THIS FUNCTION IS FOR TO GET THE INFORMATION OF THE MESSAGE NEWLY UNARCHIVED 3556 readyToFetch(); 3557 // THIS FUNCTION IS FOR TO SEND THE MESSAGE WITH ATTACHMENT 3558 readyToSend(); 3559 } else { 3560 // IF THE ARRAY DON'T HAVE ALL THE MESSAGES IDS, OKAY, NO PROBLEM... CALL THIS FUNCTION AGAIN! 3561 noReady(); 3562 } 3563 },30); 3564 }; 3565 notReady(); 3566 3567 // THIS FUNCTION IS FOR TO GET THE INFORMATION OF THE MESSAGE NEWLY UNARCHIVED 3568 readyToFetch = function(){ 3569 $.ajax({ 3570 url: "controller.php?action=$this.imap_functions.get_info_msg_archiver", 3571 data: {"idMsgs":expresso_mail_archive.idMsgsToAttach}, 3572 type: 'POST', 3573 async: false, 3574 success: function(data){ 3575 data = connector.unserialize(data); 3576 archiver.push(data); 3577 }, 3578 }); 3579 3580 // HERE, THE MESSAGES IMAP ARE READY FOR TO SEND... 3581 mailData.attachments = mailData.attachments.imap; 3582 3583 // BUT, I NEED TO PREPARE THE MESSAGE ARCHIVE FOR TO SEND. 3584 archiver = $.parseJSON(archiver[0]); 3585 if(archiver.length){ 3586 $.each(archiver, function(i, each){ 3587 mailData.attachments.push(JSON.stringify(archiver[i])); 3588 }); 3589 } 3590 3591 // GOOD, NOW THE ATTACHMENTS ARE READY TO SEND! 3592 mailData.attachments = JSON.stringify(mailData.attachments); 3593 }; 3594 } else { 3595 // IF THIS MESSAGE JUST HAVE IMAP MESSAGES 3596 mailData.attachments = JSON.stringify(mailData.attachments.imap); 3597 setTimeout(function(){ readyToSend() }, 30); 3598 } 3599 } else { 3600 // IF THIS MESSAGE DON'T HAVE ATTACHMENT, CALL READYTOSEND. 3601 setTimeout(function(){ readyToSend() }, 30); 3602 mailData.attachments = []; 3603 } 3604 3605 // THIS FUNCTION IS FOR TO SEND THE MESSAGE WITH ATTACHMENT OR NOT. 3606 readyToSend = function(){ 3607 3608 if(stringEmail != ""){ 3609 $.ajax({ 3610 url: "controller.php?action=$this.imap_functions.send_mail", 3611 data: mailData, 3612 type: 'POST', 3613 async: false, 3614 beforeSend: function(jqXHR, settings){ 3615 write_msg( get_lang( 'Sending the message...' ) ); 3616 $(content).find('button.send').button('option', 'disabled', true); 3617 }, 3618 success: function(data){ 3619 send_message_return(connector.unserialize(data),ID); 3620 // HERE, I NEED TO DELETE THE MESSAGES THAT WERE UNARCHIVE FROM ARCHIVE. 3621 delete_msgs("INBOX/Trash",expresso_mail_archive.idMsgsToAttach, false, false); 3622 }, 3623 error: function(){ 3624 write_msg(get_lang( 'Error trying to send the message. Retry in a few seconds...' ) ); 3625 $(content).find('button.send').button('option', 'disabled', false); 3626 var interval = setInterval(function(){ 3627 send_valided_message(ID,folder,folder_name); 3628 clearInterval(interval); 3629 },15000); 3630 return; 3631 } 3632 }); 3633 }else{ 3634 write_msg(get_lang("message without receiver")); 3635 return; 3636 } 3637 delete(expresso_mail_archive.idMsgsToAttach); 3638 }; 3567 3639 3568 3640 } -
trunk/expressoMail1_2/setup/phpgw_pt-br.lang
r7892 r7907 972 972 MailArchiver user logged out expressoMail1_2 pt-br Usuário desconectado do MailArchiver 973 973 Error trying to send the message. Retry in a few seconds... expressoMail1_2 pt-br Erro ao tentar enviar a mensagem. Nova tentativa em alguns segundos... 974 Create filter from message expressoMail1_2 pt-br Criar filtro a partir da mensagem 974 975 Sending the message... expressoMail1_2 pt-br Enviando a mensagem... 975 Create filter from message expressoMail1_2 pt-br Criar filtro a partir da mensagem 976 Please, Wait the messages from archieve be ready. expressoMail1_2 pt-br Por favor, Aguarde as mensagens arquivadas ficarem prontas.
Note: See TracChangeset
for help on using the changeset viewer.