Changeset 7292 for branches/2.4/expressoMail1_2/js/main.js
- Timestamp:
- 09/25/12 08:47:16 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.4/expressoMail1_2/js/main.js
r7288 r7292 2864 2864 save_link.button({disabled: true}); 2865 2865 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 } 2954 2872 2955 2873 var stringReply = ""; … … 2960 2878 stringReply += $(value).find("input").val() + ","; 2961 2879 }); 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 } 3001 2953 }); 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 } 3044 2961 3045 2962
Note: See TracChangeset
for help on using the changeset viewer.