Changeset 7292 for branches


Ignore:
Timestamp:
09/25/12 08:47:16 (7 years ago)
Author:
eduardow
Message:

Ticket #3126 - Mensagens encaminhadas ficando em branco.

Location:
branches/2.4/expressoMail1_2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2.4/expressoMail1_2/inc/class.imap_functions.inc.php

    r7284 r7292  
    26842684            } 
    26852685 
     2686            if (substr($params['input_to'], -1) == ',')  
     2687                $params['input_to'] = substr($params['input_to'], 0, -1);  
     2688  
     2689            if (substr($params['input_cc'], -1) == ',')  
     2690                $params['input_cc'] = substr($params['input_cc'], 0, -1);  
     2691  
     2692            if (substr($params['input_cco'], -1) == ',')  
     2693                $params['input_cco'] = substr($params['input_cco'], 0, -1);  
     2694 
    26862695            /*Wraps the text dividing the emails as from ">,"*/ 
    26872696            $toaddress = $db->getAddrs(preg_split('/>,/',preg_replace('/>,/', '>>,', $params['input_to']))); 
     
    27202729            $message_attachments = $params['message_attachments']; 
    27212730 
    2722             if (substr($params['input_to'], -1) == ',') 
    2723                 $params['input_to'] = substr($params['input_to'], 0, -1); 
    2724  
    2725             if (substr($params['input_cc'], -1) == ',') 
    2726                 $params['input_cc'] = substr($params['input_cc'], 0, -1); 
    2727  
    2728             if (substr($params['input_cco'], -1) == ',') 
    2729                 $params['input_cco'] = substr($params['input_cco'], 0, -1); 
    27302731 
    27312732            // Valida numero Maximo de Destinatarios  
     
    28442845            } else { 
    28452846                //Compatibilização com Outlook, ao encaminhar a mensagem 
    2846                 $body = mb_ereg_replace('<!--\[', '<!-- [', $params['body']);                             
     2847                $body = mb_ereg_replace('<!--\[', '<!-- [', base64_decode($params['body']));                             
    28472848                $body = str_replace("&lt;","&yzwkx;",$body); //Alterar as Entities padrão das tags < > para compatibilizar com o Expresso  
    28482849                $body = str_replace("&gt;","&xzwky;",$body); 
     
    30263027 
    30273028            $attachment = json_decode($params['attachments'],TRUE); 
    3028  
    3029             foreach ($attachment as &$value)  
     3029            $message_size_total = 0; 
     3030            foreach ($attachment as &$value) 
    30303031            { 
    30313032                if((int)$value > 0) //BD attachment 
  • branches/2.4/expressoMail1_2/js/main.js

    r7288 r7292  
    28642864        save_link.button({disabled: true}); 
    28652865 
    2866         ID_tmp = ID; 
    2867  
    2868         var handler_send_message = function(data){ 
    2869                 send_message_return(data, this.ID_tmp); // this is a hack to escape quotation form connector bug 
    2870         }; 
    2871  
    2872         var mail_as_plain = document.getElementById( 'textplain_rt_checkbox_' + ID ); 
    2873         mail_as_plain = ( mail_as_plain ) ? mail_as_plain.checked : false; 
    2874  
    2875        var content_body  = RichTextEditor.getData('body_'+ID);         
    2876         var textArea = document.createElement("TEXTAREA"); 
    2877         textArea.style.display='none'; 
    2878         textArea.name = "body"; 
    2879         textArea.value = content_body; 
    2880     
    2881         var input_folder = document.createElement("INPUT"); 
    2882         input_folder.style.display='none'; 
    2883         input_folder.name = "folder"; 
    2884         input_folder.value = folder;       
    2885          
    2886         var input_type = document.createElement("INPUT");  
    2887         input_type.style.display='none';  
    2888         input_type.name = "type";  
    2889         input_type.value = RichTextEditor.plain[ID] ? 'plain' : 'html';  
    2890          
    2891         var uids = document.createElement("INPUT"); 
    2892         uids.style.display='none'; 
    2893         uids.name = "uids_save"; 
    2894         uids.value = uidsSave[ID].toString(); 
    2895          
    2896         var save_folder = document.createElement("INPUT"); 
    2897         save_folder.style.display='none'; 
    2898         save_folder.name = "save_folder"; 
    2899         save_folder.value = (openTab.imapBox[ID] && openTab.type[ID] < 6) ? openTab.imapBox[ID]: "INBOX" + cyrus_delimiter + draftsfolder; 
    2900          
    2901         var msg_attachments = document.createElement("INPUT"); 
    2902         msg_attachments.style.display='none'; 
    2903         msg_attachments.name = "attachments"; 
    2904         msg_attachments.value = listAttachment(ID); 
    2905  
    2906         if (is_ie){ 
    2907                 var i = 0; 
    2908                 while (document.forms(i).name != "form_message_"+ID){i++} 
    2909                 form = document.forms(i); 
    2910         } 
    2911         else 
    2912                 form = document.forms["form_message_"+ID]; 
    2913  
    2914                 // Evita que e-mails assinados sejam enviados quando o usuário tenta enviar um e-mail 
    2915                 // não assinado (desmarcou a opção) após tentar enviar um e-mail assinado que não passou 
    2916                 // no teste de validação. 
    2917                 var checkSign = document.getElementById('return_digital_'+ID); 
    2918                 if (checkSign && !checkSign.checked){ 
    2919                         var smime = Element('smime'); 
    2920                         if (smime) 
    2921                         { 
    2922                                 var parent = smime.parentNode; 
    2923                                 parent.removeChild(smime); 
    2924                         } 
    2925                  } 
    2926  
    2927         form.appendChild(textArea); 
    2928         form.appendChild(input_folder); 
    2929     form.appendChild(input_type); 
    2930         // Implementação do In_Reply_To e References 
    2931         var msgId = document.createElement("INPUT"); 
    2932         msgId.style.display = 'none'; 
    2933         msgId.name = 'messageNum'; 
    2934         msgId.value = currentTab; 
    2935  
    2936         form.appendChild(msgId); 
    2937     form.appendChild(save_folder); 
    2938     form.appendChild(uids); 
    2939         form.appendChild(msg_attachments); 
    2940  
    2941         var mail_type = document.createElement('input'); 
    2942         mail_type.setAttribute('type', 'hidden'); 
    2943         mail_type.name = 'type'; 
    2944         mail_type.value = ( mail_as_plain ) ? 'plain' : 'html'; 
    2945         form.parentNode.appendChild(mail_type); 
    2946  
    2947         var _subject = trim(content.find(".subject").val()); 
    2948         if((_subject.length == 0) && !confirm(get_lang("Send this message without a subject?"))) { 
    2949                 save_link.click(onClick); 
    2950                 content.find(".subject").focus(); 
    2951                 return; 
    2952         } 
    2953         //stringEmail = content.find('[name="input_to"]').val(); 
     2866        var _subject = trim(content.find(".subject").val());  
     2867    if((_subject.length == 0) && !confirm(get_lang("Send this message without a subject?"))) {  
     2868        save_link.click(onClick);  
     2869        content.find(".subject").focus();  
     2870        return;  
     2871    } 
    29542872 
    29552873    var stringReply = ""; 
     
    29602878        stringReply += $(value).find("input").val() + ","; 
    29612879    }); 
    2962     content.find('[name="input_reply_to"]').val(stringReply); 
    2963  
    2964         var stringEmail = ""; 
    2965         var stringToEmail = ""; 
    2966         draw_email_box(content.find(".to-tr").find("textarea:first").val() || content.find(".to-tr").find("input:visible").val(), content.find(".to-tr").find("textarea:first")); 
    2967         content.find(".to-tr").find("textarea:first").val(""); 
    2968         content.find(".to-tr").find("input:visible").val(""); 
    2969         var array = content.find(".to-tr").find(".box"); 
    2970         $.each(array, function(index, value){ 
    2971                 //stringEmail += $(value).find("input").val() + ","; 
    2972                 stringToEmail += $(value).find("input").val() + ","; 
    2973         }); 
    2974         content.find('[name="input_to"]').val(stringToEmail); 
    2975         stringEmail = stringToEmail; 
    2976         var stringCCoEmail = ""; 
    2977         if ( content.find('[name="input_cco"]').length){ 
    2978                 if(content.find(".cco-tr").css("display") != "none"){ 
    2979                         draw_email_box(content.find(".cco-tr").find("textarea:first").val() || content.find(".cco-tr").find("input:visible").val(), content.find(".cco-tr").find("textarea:first")); 
    2980                         content.find(".cco-tr").find("textarea:first").val(""); 
    2981                         content.find(".cco-tr").find("input:visible").val(""); 
    2982                         var array = content.find(".cco-tr").find(".box"); 
    2983                         $.each(array, function(index, value){ 
    2984                                 //stringEmail += $(value).find("input").val() + ","; 
    2985                                 stringCCoEmail += $(value).find("input").val() + ","; 
    2986                         }); 
    2987                         content.find('[name="input_cco"]').val(stringCCoEmail); 
    2988                 } 
    2989         } 
    2990         stringEmail += stringCCoEmail; 
    2991         var stringCCEmail = "";          
    2992         if(content.find(".cc-tr").css("display") != "none") 
    2993         { 
    2994                 draw_email_box(content.find(".cc-tr").find("textarea:first").val() || content.find(".cc-tr").find("input:visible").val(), content.find(".cc-tr").find("textarea:first")); 
    2995                 content.find(".cc-tr").find("textarea:first").val(""); 
    2996                 content.find(".cc-tr").find("input:visible").val(""); 
    2997                 var array = content.find(".cc-tr").find(".box"); 
    2998                 $.each(array, function(index, value){ 
    2999                         //stringEmail += $(value).find("input").val() + ","; 
    3000                         stringCCEmail += $(value).find("input").val() + ","; 
     2880    var stringToEmail = "";  
     2881    draw_email_box(content.find(".to-tr").find("textarea:first").val() || content.find(".to-tr").find("input:visible").val(), content.find(".to-tr").find("textarea:first"));  
     2882    content.find(".to-tr").find("textarea:first").val("");  
     2883    content.find(".to-tr").find("input:visible").val("");  
     2884    var array = content.find(".to-tr").find(".box");  
     2885    $.each(array, function(index, value){  
     2886        stringToEmail += $(value).find("input").val() + ",";  
     2887    });  
     2888    var stringEmail = "";  
     2889    stringEmail = stringToEmail;  
     2890    var stringCCoEmail = "";  
     2891    if ( content.find('[name="input_cco"]').length){  
     2892        if(content.find(".cco-tr").css("display") != "none"){  
     2893            draw_email_box(content.find(".cco-tr").find("textarea:first").val() || content.find(".cco-tr").find("input:visible").val(), content.find(".cco-tr").find("textarea:first"));  
     2894            content.find(".cco-tr").find("textarea:first").val("");  
     2895            content.find(".cco-tr").find("input:visible").val("");  
     2896            var array = content.find(".cco-tr").find(".box");  
     2897            $.each(array, function(index, value){  
     2898                stringCCoEmail += $(value).find("input").val() + ",";  
     2899            });  
     2900        }  
     2901    }  
     2902    stringEmail += stringCCoEmail;  
     2903    var stringCCEmail = "";  
     2904    if(content.find(".cc-tr").css("display") != "none")  
     2905    {  
     2906        draw_email_box(content.find(".cc-tr").find("textarea:first").val() || content.find(".cc-tr").find("input:visible").val(), content.find(".cc-tr").find("textarea:first"));  
     2907        content.find(".cc-tr").find("textarea:first").val("");  
     2908        content.find(".cc-tr").find("input:visible").val("");  
     2909        var array = content.find(".cc-tr").find(".box");  
     2910        $.each(array, function(index, value){  
     2911            stringCCEmail += $(value).find("input").val() + ",";  
     2912        });  
     2913    }  
     2914    stringEmail +=      stringCCEmail;  
     2915  
     2916    var mailData = new Object();  
     2917    mailData.body = Base64.encode(RichTextEditor.getData('body_'+ID));  
     2918    mailData.folder = folder;  
     2919    mailData.type = RichTextEditor.plain[ID] ? 'plain' : 'html';  
     2920    mailData.uids_save = uidsSave[ID].toString();  
     2921    mailData.save_folder = (openTab.imapBox[ID] && openTab.type[ID] < 6) ? openTab.imapBox[ID]: "INBOX" + cyrus_delimiter + draftsfolder;  
     2922    mailData.attachments = listAttachment(ID);  
     2923    mailData.messageNum = currentTab;  
     2924    mailData.input_subject = trim(content.find(".subject").val());  
     2925    mailData.input_reply_to = stringReply;  
     2926    mailData.input_to = stringToEmail;  
     2927    mailData.input_cco = stringCCoEmail;  
     2928    mailData.input_cc = stringCCEmail;  
     2929    mailData.input_cc = stringCCEmail;  
     2930    mailData.abaID = $(content).find('[name="abaID"]').val();  
     2931    mailData.input_important_message = $(content).find('input:checkbox:checked[name="input_important_message"]').val();  
     2932    mailData.input_return_receipt = $(content).find('input:checkbox:checked[name="input_return_receipt"]').val();  
     2933    mailData.msg_forward_from = $(content).find('[name="msg_forward_from"]').val();  
     2934    mailData.msg_reply_from = $(content).find('[name="msg_reply_from"]').val();  
     2935  
     2936  
     2937        if(stringEmail != ""){  
     2938                $.ajax({  
     2939                        url: "controller.php?action=$this.imap_functions.send_mail",  
     2940            data:  mailData,  
     2941            type: 'POST',  
     2942                success: function(data){  
     2943                send_message_return(connector.unserialize(data),ID);  
     2944                        },  
     2945                        error: function(){  
     2946                                write_msg("Erro ao tentar enviar a mensagem. Nova tentativa em alguns segundos...");  
     2947                                var interval = setInterval(function(){  
     2948                                                send_valided_message(ID,folder,folder_name);  
     2949                                                clearInterval(interval);  
     2950                                },15000);  
     2951                                return;  
     2952                        } 
    30012953                }); 
    3002                 content.find('[name="input_cc"]').val(stringCCEmail); 
    3003         } 
    3004         stringEmail +=  stringCCEmail; 
    3005         if (expresso_offline) { 
    3006                  
    3007                 var invalidEmail = searchEmail(stringEmail); 
    3008                 if(content.find('[name="input_to"]').val()=="" && content.find('[name="input_cco"]').val()=="" && content.find('[name="input_cc"]').val()=="") { 
    3009                         write_msg(get_lang("message without receiver")); 
    3010                         return; 
    3011                 }else if(invalidEmail[0] == true){ 
    3012                         write_msg("Os endereços de destinatário a seguir estão incorretos: "+invalidEmail[1]); 
    3013                         return; 
    3014                 } 
    3015  
    3016                 sucess = expresso_local_messages.send_to_queue(form); 
    3017                 var data_return = new Array(); 
    3018                 data_return.success = sucess; 
    3019                 handler_send_message(data_return,ID); 
    3020         } 
    3021         else{ 
    3022                 if(stringEmail != ""){ 
    3023                         $.ajax({                         
    3024                                 url: "controller.php?", 
    3025                                 success: function(data){ 
    3026                                         cExecuteForm("$this.imap_functions.send_mail", form, handler_send_message, ID); 
    3027                                 }, 
    3028                                 error: function(){ 
    3029                                         write_msg("Erro ao tentar enviar a mensagem. Nova tentativa em alguns segundos..."); 
    3030                                         var interval = setInterval(function(){ 
    3031                                                         send_valided_message(ID,folder,folder_name); 
    3032                                                         clearInterval(interval); 
    3033                                         },15000); 
    3034                                         return; 
    3035                                 } 
    3036                         });                      
    3037                 }else{ 
    3038                         write_msg(get_lang("message without receiver")); 
    3039                         return; 
    3040                 } 
    3041         } 
    3042  
    3043 } 
     2954                }else{  
     2955                write_msg(get_lang("message without receiver"));  
     2956                return;  
     2957        }  
     2958  
     2959  
     2960}  
    30442961 
    30452962 
Note: See TracChangeset for help on using the changeset viewer.