Changeset 3035 for branches/2.2/expressoMail1_2/js/main.js
- Timestamp:
- 07/12/10 15:37:02 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2/expressoMail1_2/js/main.js
r3032 r3035 8 8 if (!is_ie) 9 9 Element('tableDivAppbox').width = '100%'; 10 10 11 11 var save_contacts = function(data){ 12 12 contacts = data; 13 if (preferences.use_local_messages == 1 && window.google && google.gears) 14 if (expresso_local_messages.is_offline_installed()) 13 if (preferences.use_local_messages == 1 && window.google && google.gears) 14 if (expresso_local_messages.is_offline_installed()) 15 15 expresso_local_messages.capt_url('controller.php?action=$this.db_functions.get_dropdown_contacts_to_cache'); 16 16 17 17 } 18 18 var save_preferences = function(data){ 19 19 20 20 preferences = data; 21 21 if(preferences.hide_folders == "1") 22 22 Element('divAppboxHeader').innerHTML = title_app_menu; 23 23 24 24 if (preferences.delete_trash_messages_after_n_days != 0) 25 25 cExecute ("$this.imap_functions.automatic_trash_cleanness&before_date="+preferences.delete_trash_messages_after_n_days+"&cyrus_delimiter="+cyrus_delimiter, handler_automatic_trash_cleanness); 26 26 27 27 if(preferences.outoffice == "1") 28 28 write_msg(get_lang("Attention, you are in out of office mode."), true); … … 38 38 } 39 39 } 40 40 41 41 ConstructMenuTools(); 42 42 … … 51 51 } 52 52 53 54 55 56 57 53 // Insere a applet de criptografia 54 if (preferences.use_signature_digital_cripto == '1'){ 55 loadApplet(); 56 } 57 // Fim da inserção da applet 58 58 59 59 cExecute ("$this.db_functions.get_dropdown_contacts", save_contacts); //Save contacts needs preferences. 60 60 cExecute ("$this.imap_functions.get_folders_list&onload=true", update_menu); 61 61 cExecute ("$this.imap_functions.get_range_msgs2&folder=INBOX&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type=SORTARRIVAL&search_box_type=ALL&sort_box_reverse=1", handler_draw_box); 62 62 63 63 } 64 64 var handler_automatic_trash_cleanness = function(data){ … … 67 67 } 68 68 } 69 69 70 70 // Versão 71 71 Element('divAppboxHeader').innerHTML = title_app; 72 72 73 73 // Get cyrus delimiter 74 74 cyrus_delimiter = Element('cyrus_delimiter').value; … … 81 81 function init_offline(){ 82 82 if (account_id != null) { 83 if (!is_ie) 83 if (!is_ie) 84 84 Element('tableDivAppbox').width = '100%'; 85 85 else … … 92 92 '<td width=33% id="div_menu_c3" align=right></td>' + 93 93 '</tr></table>'; 94 94 95 95 ConstructMenuTools(); 96 96 97 97 draw_tree_folders(); 98 98 99 99 proxy_mensagens.messages_list('local_Inbox', 1, preferences.max_email_per_page, 'SORTARRIVAL', null, 1,1,1, function handler(data){ 100 100 draw_box(data, 'local_Inbox'); 101 101 }) 102 102 103 103 // Get cyrus delimiter 104 104 cyrus_delimiter = Element('cyrus_delimiter').value; 105 105 106 106 cExecute ("$this.db_functions.get_dropdown_contacts_to_cache", function(data) {contacts = data;}); 107 107 //cExecute ("$this.functions.get_preferences", save_preferences); … … 115 115 function loadApplet(){ 116 116 117 var search_div = Element('search_div'); 118 var applet = null; 119 if (navigator.userAgent.match('MSIE')){ 120 applet = document.createElement('<object style="display:yes;width:0;height:0;vertical-align:bottom;" id="cert_applet" ' + 121 'classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"></object>'); 122 123 //applet = document.createElement('object'); 124 //var attributes = { 125 // style:'display:yes;width:0;height:0;vertical-align:bottom;', 126 // id:'cert_applet', 127 // classid:'clsid:8AD9C840-044E-11D1-B3E9-00805F499D93' 128 //} 129 130 var parameters = { 131 type:'application/x-java-applet;version=1.5', 132 code:'ExpressoSmimeApplet', 133 codebase:'/security/', 134 mayscript:'true', 135 token: token_param, 136 locale: locale, 137 archive:'ExpressoCertMail.jar,' + 138 'ExpressoCert.jar,' + 139 'bcmail-jdk15-142.jar,' + 140 'mail.jar,' + 141 'activation.jar,' + 142 'bcprov-jdk15-142.jar,' + 143 'commons-codec-1.3.jar,' + 144 'commons-httpclient-3.1.jar,' + 145 'commons-logging-1.1.1.jar' 146 //debug:'true' 147 } 148 149 //for (var attribute in attributes){ 150 // applet.setAttribute(attribute, attributes[attribute]); 151 //} 152 153 if (parameters != 'undefined' && parameters != null){ 154 for (var parameter in parameters) { 155 var param = document.createElement("PARAM"); 156 param.setAttribute("name",parameter); 157 param.setAttribute("value",parameters[parameter]); 158 applet.appendChild(param); 159 } 160 } 161 search_div.appendChild(applet); 162 //alert(search_div.innerHTML); 163 //alert(window.); 164 } 165 else { 166 applet = document.createElement('embed'); 167 applet.innerHTML = '<embed style="display:yes;width:0;height:0;vertical-align:bottom;" id="cert_applet" code="ExpressoSmimeApplet.class" ' + 168 'codebase="/security/" locale="'+locale+'"'+ 169 'archive="ExpressoCertMail.jar,ExpressoCert.jar,bcmail-jdk15-142.jar,mail.jar,activation.jar,bcprov-jdk15-142.jar,commons-codec-1.3.jar,commons-httpclient-3.1.jar,commons-logging-1.1.1.jar" ' + 170 'token="' + token_param + '" ' + 171 'type="application/x-java-applet;version=1.5" mayscript > ' + 172 //'type="application/x-java-applet;version=1.5" debug="true" mayscript > ' + 173 '<noembed> ' + 174 'No Java Support. ' + 175 '</noembed> ' + 176 '</embed> '; 177 search_div.appendChild(applet); 178 } 117 var search_div = Element('search_div'); 118 var applet = null; 119 if (navigator.userAgent.match('MSIE')){ 120 applet = document.createElement('<object style="display:yes;width:0;height:0;vertical-align:bottom;" id="cert_applet" ' + 121 'classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"></object>'); 122 123 var parameters = { 124 type:'application/x-java-applet;version=1.5', 125 code:'ExpressoSmimeApplet', 126 codebase:'/security/', 127 mayscript:'true', 128 token: token_param, 129 locale: locale, 130 archive:'ExpressoCertMail.jar,' + 131 'ExpressoCert.jar,' + 132 'bcmail-jdk15-142.jar,' + 133 'mail.jar,' + 134 'activation.jar,' + 135 'bcprov-jdk15-142.jar,' + 136 'commons-codec-1.3.jar,' + 137 'commons-httpclient-3.1.jar,' + 138 'commons-logging-1.1.1.jar' 139 //debug:'true' 140 } 141 142 //for (var attribute in attributes){ 143 // applet.setAttribute(attribute, attributes[attribute]); 144 //} 145 146 if (parameters != 'undefined' && parameters != null){ 147 for (var parameter in parameters) { 148 var param = document.createElement("PARAM"); 149 param.setAttribute("name",parameter); 150 param.setAttribute("value",parameters[parameter]); 151 applet.appendChild(param); 152 } 153 } 154 search_div.appendChild(applet); 155 //alert(search_div.innerHTML); 156 //alert(window.); 157 } 158 else { 159 applet = document.createElement('embed'); 160 applet.innerHTML = '<embed style="display:yes;width:0;height:0;vertical-align:bottom;" id="cert_applet" code="ExpressoSmimeApplet.class" ' + 161 'codebase="/security/" locale="'+locale+'"'+ 162 'archive="ExpressoCertMail.jar,ExpressoCert.jar,bcmail-jdk15-142.jar,mail.jar,activation.jar,bcprov-jdk15-142.jar,commons-codec-1.3.jar,commons-httpclient-3.1.jar,commons-logging-1.1.1.jar" ' + 163 'token="' + token_param + '" ' + 164 'type="application/x-java-applet;version=1.5" mayscript > ' + 165 //'type="application/x-java-applet;version=1.5" debug="true" mayscript > ' + 166 '<noembed> ' + 167 'No Java Support. ' + 168 '</noembed> ' + 169 '</embed> '; 170 search_div.appendChild(applet); 171 } 179 172 } 180 173 … … 207 200 { 208 201 if (document.getElementById('border_id_'+border_id)) 209 { 202 { 210 203 function keypress_handler () 211 204 { … … 215 208 save_link.className = 'message_options'; 216 209 }; 217 210 218 211 var obj = document.getElementById('body_'+border_id).contentWindow.document; 219 212 if ( obj.addEventListener ) … … 221 214 else if ( obj.attachEvent ) 222 215 obj.attachEvent('onkeypress', keypress_handler); 223 216 224 217 var subject_obj = document.getElementById('subject_'+border_id); 225 218 if ( subject_obj.addEventListener ) … … 227 220 else if ( subject_obj.attachEvent ) 228 221 subject_obj.attachEvent('onkeypress', keypress_handler); 229 222 230 223 var to_obj = document.getElementById('to_'+border_id); 231 224 if ( to_obj.addEventListener ) … … 233 226 else if ( to_obj.attachEvent ) 234 227 to_obj.attachEvent('onkeypress', keypress_handler); 235 228 236 229 } 237 230 } 238 231 239 232 function show_msg_img(msg_number,folder){ 240 241 242 243 244 245 246 247 248 249 250 233 var call_back = function(data){ 234 data.showImg = true; 235 if (!Element(data.msg_number)){ 236 trElement = document.createElement('DIV'); 237 trElement.id = data.msg_number; 238 Element("tbody_box").appendChild(trElement); 239 } 240 show_msg(data); 241 } 242 243 proxy_mensagens.msg_img(msg_number,folder,call_back); 251 244 252 245 } … … 257 250 if (typeof(msg_info) != 'object') 258 251 alert(get_lang("Error in show_msg param is not object")); 259 252 260 253 if (msg_info.status_get_msg_info == 'false') 261 254 { … … 263 256 return; 264 257 } 265 258 266 259 var handler_sendNotification = function(data){ 267 260 if (data) … … 270 263 write_msg(get_lang("Error in SMTP sending read confirmation.")); 271 264 } 272 265 273 266 if(msg_info.source) 274 267 { 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 //cExecute ("$this.imap_functions.send_notification¬ificationto="+msg_info.DispositionNotificationTo+"&subject="+url_encode(msg_info.subject), handler_sendNotification);290 291 292 293 294 295 296 268 // Abrindo um e-mail criptografado 269 // Verifica se existe o objeto applet 270 if (!Element('cert_applet')){ 271 // se não existir, mostra mensagem de erro. 272 write_msg(get_lang('The preference "%1" isn\'t enabled.', get_lang('Enable digitally sign/cipher the message?'))); 273 } else { 274 // se existir prepara os dados para serem enviados e chama a 275 // operação na applet 276 277 connector.showProgressBar(); 278 279 // if ((msg_info.DispositionNotificationTo) && ((msg_info.Unseen == 'U') || (msg_info.Recent == 'N'))){ 280 /* var confNotification = confirm(get_lang("The sender waits your notification of reading. Do you want to confirm this?"), ""); 281 if (confNotification)*/ 282 // cExecute ("$this.imap_functions.send_notification¬ificationto="+msg_info.DispositionNotificationTo+"&subject="+url_encode(msg_info.subject), handler_sendNotification); 283 // } 284 285 Element('cert_applet').doButtonClickAction('decript', 286 msg_info.msg_number, 287 msg_info.source, 288 msg_info.msg_folder); // Passa os dados para a applet 289 } 297 290 return; 298 291 … … 310 303 } 311 304 else{ 312 313 305 var ID = msg_info.original_ID ? msg_info.original_ID : msg_info.msg_number; 306 var id_msg_read = ID+"_r"; 314 307 315 308 if (preferences.use_shortcuts == '1') … … 320 313 delete_border(currentTab,'false'); 321 314 322 315 323 316 if(Element("border_id_" + id_msg_read)) { 324 alternate_border(id_msg_read); 325 resizeWindow(); 317 alternate_border(id_msg_read); 318 resizeWindow(); 326 319 } 327 320 else { … … 346 339 var domains = ""; 347 340 if ((msg_info.DispositionNotificationTo) && (!msg_is_read(ID) || (msg_info.Recent == 'N'))) 348 { 341 { 349 342 if (preferences.notification_domains != undefined && preferences.notification_domains != "") 350 343 { 351 344 domains = preferences.notification_domains.split(','); 352 345 } 353 346 else 354 { 347 { 355 348 var confNotification = true; 356 349 } … … 370 363 if (!msg_is_read(ID)) 371 364 { 372 365 set_msg_as_read(ID, true); 373 366 if (msg_info.cacheHit || (!proxy_mensagens.is_local_folder(get_current_folder()) && msg_info.original_ID)) 374 367 { 375 368 set_message_flag(ID, "seen"); // avoid caducous (lazy) data 376 377 369 } 370 } 378 371 } 379 372 } … … 396 389 if (box.childNodes.length == 0) 397 390 { 398 var tr_info = document.createElement("TR");399 var td_info = document.createElement("TD"); 400 td_info.setAttribute("colspan", "10"); 391 var tr_info = document.createElement("TR"); 392 var td_info = document.createElement("TD"); 393 td_info.setAttribute("colspan", "10"); 401 394 td_info.setAttribute("background", "#FFF"); 402 395 tr_info.setAttribute("id", "msg_info"); 403 396 td_info.align = "center"; 404 td_info.style.padding = "25px";405 td_info.style.fontWeight = "bold"; 406 td_info.style.fontSize = "11pt"; 397 td_info.style.padding = "25px"; 398 td_info.style.fontWeight = "bold"; 399 td_info.style.fontSize = "11pt"; 407 400 td_info.innerHTML = get_lang("This mail box is empty");i 408 tr_info.appendChild(td_info); 401 tr_info.appendChild(td_info); 409 402 box.appendChild(td_info); 410 403 } … … 418 411 var box = Element("tbody_box"); 419 412 table_element.appendChild(box); 420 if (data[0].msg_folder != current_folder) // Bad request 421 413 if (data[0].msg_folder != current_folder) // Bad request 414 return false; 422 415 423 416 for (var i=0; i<data.length; i++){ 424 var existent = document.getElementById(data[i].msg_number); 425 if (!existent) 426 { 427 var new_msg = this.make_tr_message(data[i], current_folder); 428 _dragArea.makeDragged(new_msg, data[i].msg_number, data[i].subject, true); 429 eval(data[i].command); 430 } 417 var existent = document.getElementById(data[i].msg_number); 418 if (!existent) 419 { 420 var new_msg = this.make_tr_message(data[i], current_folder); 421 _dragArea.makeDragged(new_msg, data[i].msg_number, data[i].subject, true); 422 eval(data[i].command); 423 } 431 424 } 432 425 if (! typeof(data.msgs_to_delete) == 'undefined') … … 442 435 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + parseInt(data.new_msgs); //refresh tab title 443 436 update_quota(get_current_folder()); 444 } 437 } 445 438 //if(data.new_msgs > 0 || data.msgs_to_delete.length > 0) 446 // purgeCache(); 439 // purgeCache(); 447 440 } 448 441 // Update Box BgColor … … 457 450 msg_range_end = (current_page*preferences.max_email_per_page); 458 451 msg_range_begin = (msg_range_end-(preferences.max_email_per_page)+1); 459 460 452 453 461 454 //Get element tBody. 462 455 main = Element("tbody_box"); 463 456 if(!main) 464 return; 457 return; 465 458 466 459 // Get all TR (messages) in tBody. … … 469 462 var string_msgs_in_main = ''; 470 463 471 var len = main_list.length; 464 var len = main_list.length; 472 465 for (var j=0; j < len; j++) 473 466 tmp += main_list[j].id + ','; 474 467 475 468 string_msgs_in_main = tmp.substring(0,(tmp.length-1)); 476 469 if(!expresso_offline) … … 498 491 return; 499 492 } 500 493 501 494 var handler_delete_msgs = function(data){ 502 495 503 496 Element('chk_box_select_all_messages').checked = false; 504 497 if (currentTab) … … 506 499 else 507 500 mail_msg = Element("tbody_box"); 508 501 509 502 if ( preferences.use_shortcuts == '1') { 510 503 //Last msg is selected … … 518 511 } 519 512 } 520 513 521 514 if (show_success_msg) { 522 515 if (data.msgs_number.length == 1) … … 529 522 if (parseInt(preferences.delete_and_show_previous_message) && msg_to_delete) { 530 523 if (msg_to_delete.previousSibling){ 531 532 533 }524 var previous_msg = msg_to_delete.previousSibling.id; 525 cExecute("$this.imap_functions.get_info_msg&msg_number="+previous_msg+"&msg_folder=" + url_encode(current_folder), show_msg); 526 } 534 527 else 535 528 delete_border(currentTab,'false'); … … 538 531 delete_border(currentTab,'false'); 539 532 } 540 541 542 543 544 545 533 for (var i=0; i<data.msgs_number.length; i++){ 534 var msg_to_delete = Element(data.msgs_number[i]); 535 if (msg_to_delete){ 536 removeAll(msg_to_delete.id); 537 } 538 } 546 539 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) - data.msgs_number.length; 547 refresh(); 540 refresh(); 548 541 } 549 542 … … 553 546 cExecute ("$this.imap_functions.delete_msgs&folder="+folder+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&search_box_type="+search_box_type+"&sort_box_reverse="+sort_box_reverse, handler_delete_msgs); 554 547 else 555 write_msg(get_lang('No selected message.')); 548 write_msg(get_lang('No selected message.')); 556 549 } 557 550 … … 562 555 var main_list = Element("tbody_box_"+currentTab.substr(7)).childNodes; 563 556 for (j = 0; j < main_list.length; j++) { 564 var check_box = main_list[j].firstChild.firstChild; 557 var check_box = main_list[j].firstChild.firstChild; 565 558 if(check_box && check_box.checked) { 566 559 if (proxy_mensagens.is_local_folder(main_list[j].getAttribute('name'))) { … … 575 568 if(!data || !data.msgs_number) 576 569 return; 577 else if(data.deleted) { 570 else if(data.deleted) { 578 571 if (data.msgs_number.length == 1) 579 572 write_msg(get_lang("The message was deleted.")); 580 573 else 581 write_msg(get_lang("The messages were deleted.")); 574 write_msg(get_lang("The messages were deleted.")); 582 575 } 583 576 else{ … … 613 606 } 614 607 trfolder = (tr.getAttribute('name') == null?get_current_folder():tr.getAttribute('name')); 615 608 selected_param += ','+trfolder+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 616 609 } 617 610 } … … 628 621 } 629 622 var params = ""; 630 if (!new_folder && parseInt(preferences.save_deleted_msg)){ 623 if (!new_folder && parseInt(preferences.save_deleted_msg)){ 631 624 new_folder = 'INBOX'+cyrus_delimiter+trashfolder; 632 625 new_folder_name = trashfolder; … … 642 635 } 643 636 else 644 write_msg(get_lang('No selected message.')); 637 write_msg(get_lang('No selected message.')); 645 638 } 646 639 … … 711 704 else if( typeof(msgs_number) == 'number') 712 705 all_search_msg = msgs_number; 713 706 714 707 for (var i=0; i <= all_search_msg.length; i++) 715 708 { 716 msg_to_delete = Element(folder+';'+all_search_msg[i]); 709 msg_to_delete = Element(folder+';'+all_search_msg[i]); 717 710 if (msg_to_delete) 718 711 msg_to_delete.parentNode.removeChild(msg_to_delete); … … 737 730 if (msg_to_delete) 738 731 mail_msg.removeChild(msg_to_delete); 739 } 740 741 732 } 733 734 742 735 if (data.msgs_number.length == 1) 743 736 write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); … … 753 746 } 754 747 if(folder == get_current_folder()) 755 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) - data.msgs_number.length; 756 748 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) - data.msgs_number.length; 749 757 750 refresh(); 758 751 } … … 778 771 cExecute ("$this.imap_functions.move_messages&folder="+folder+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&search_box_type="+search_box_type+"&sort_box_reverse="+sort_box_reverse+"&reuse_border="+border_ID+"&new_folder="+new_folder+"&new_folder_name="+new_folder_name+"&get_previous_msg="+preferences.delete_and_show_previous_message, handler_move_msgs); 779 772 else 780 write_msg(get_lang('No selected message.')); 781 773 write_msg(get_lang('No selected message.')); 774 782 775 } 783 776 … … 794 787 if(!id_msgs) 795 788 id_msgs = get_selected_messages(); 796 789 797 790 if(folder_dest=='local_root' || folder_dest==null) //Caso seja o primeiro arquivamento... 798 791 folder_dest = 'local_Inbox'; 799 792 800 793 if (parseInt(id_msgs) > 0 || id_msgs.length > 0) 801 expresso_mail_sync.archive_msgs(folder,folder_dest,id_msgs); 794 expresso_mail_sync.archive_msgs(folder,folder_dest,id_msgs); 802 795 //cExecute("$this.imap_functions.get_info_msgs&folder=" + folder + "&msgs_number=" + id_msgs , handler_arquivar_mensagens); 803 else 796 else 804 797 write_msg(get_lang('No selected message.')); 805 /*var has_local_messages_before = expresso_local_messages.has_local_mails(); //vejo se já tinha mensagens locais 806 var handler_arquivar_mensagens = function(data) { 807 var sucess = true; 808 var temp; 809 var msgs_to_remove = new Array(); 810 var update_tree; 811 for (var i = 0; i < data.length; i++) { 812 msg_info = connector.unserialize(data[i]); 813 if ( folder == 'INBOX/Lixeira/tmpMoveToLocal' ){ 814 msg_info.msg_folder += (Date.parse(new Date)); 815 } 816 temp = expresso_local_messages.insert_mail(msg_info, msg_info['header'],msg_info['array_attach'],folder_dest ); 817 if ( Element("check_box_message_" + msg_info.msg_number) ) 818 Element("check_box_message_" + msg_info.msg_number).checked = false; 819 820 if(!temp) 821 sucess = false; 822 else 823 msgs_to_remove.push(msg_info.msg_number);//As mensagens arquivadas devem ser removidas, caso o usuario tenha isso configurado. 824 825 if ( Element(msg_info.msg_number) ) 826 remove_className(Element(msg_info.msg_number), 'selected_msg'); 827 if ( tree_folders._selected.id.indexOf( 'local_' ) == 0 || folder.indexOf( 'INBOX/Lixeira/tmpMoveToLocal' ) == 0 ) 828 { 829 openTab.imapBox[0] = ''; 830 tree_folders.getNodeById( 'local_Inbox' )._select( ); 831 change_folder('local_Inbox','Inbox') 832 } 833 834 } 835 836 if (preferences.keep_archived_messages == 0) { //Remove as mensagens 837 delete_msgs(folder,msgs_to_remove,'null',false,true); 838 } 839 update_tree=(!has_local_messages_before) && expresso_local_messages.has_local_mails(); 840 841 Element('chk_box_select_all_messages').checked = false; 842 if(update_tree) 843 ttreeBox.update_folder(); 844 else 845 update_menu(); 846 if(sucess) 847 write_msg(get_lang("selected messages have been archived")); 848 else 849 write_msg(get_lang("at least, one of selected mails is already archived, expresso tried to archive the others, check them later")); 850 851 } 852 if(!id_msgs) 853 id_msgs = get_selected_messages(); 854 if (parseInt(id_msgs) > 0 || id_msgs.length > 0) 855 cExecute("$this.imap_functions.get_info_msgs&folder=" + folder + "&msgs_number=" + id_msgs , handler_arquivar_mensagens); 856 else 857 write_msg(get_lang('No selected message.'));*/ 858 798 859 799 } 860 800 … … 875 815 if ( (check_box) && (check_box.checked) ) 876 816 selected_messages += main_list[j].id + ','; 877 817 878 818 if (preferences.use_shortcuts == '1') 879 819 { … … 885 825 } 886 826 selected_messages = selected_messages.substring(0,(selected_messages.length-1)); 887 827 888 828 if (preferences.use_shortcuts == '1') 889 829 { 890 830 selected_messages_by_shortcuts = selected_messages_by_shortcuts.substring(0,(selected_messages_by_shortcuts.length-1)); 891 831 892 832 var array_selected_messages_by_shortcuts = selected_messages_by_shortcuts.split(","); 893 833 var array_selected_messages = selected_messages.split(","); 894 834 895 835 if ((array_selected_messages.length <= 1) && (array_selected_messages_by_shortcuts.length > 1)) 896 836 { … … 898 838 } 899 839 } 900 840 901 841 if (selected_messages == '') 902 842 return false; … … 918 858 919 859 function new_message(type, border_ID){ 920 921 922 923 860 if (Element('show_img_link_'+border_ID)) 861 { 862 show_msg_img(border_ID.match(/^\d*/)[0], Element('input_folder_'+border_ID).value); 863 } 924 864 var new_border_ID = draw_new_message(parseInt(border_ID)); 925 865 if (new_border_ID == false) 926 return false; 927 866 return false; 867 openTab.type[new_border_ID] = tabTypes[type]; 928 868 929 869 // Salva a pasta da mensagem respondida ou encaminhada: 930 870 var folder_message = Element("input_folder_"+border_ID); 931 871 if(folder_message) { 932 var input_current_folder = document.createElement('input'); 872 var input_current_folder = document.createElement('input'); 933 873 input_current_folder.id = "new_input_folder_"+border_ID; 934 874 input_current_folder.name = "input_folder"; … … 952 892 data.to = data.to.replace(/>/gi,">"); 953 893 } 954 } 955 894 } 895 956 896 if (document.getElementById("to_values_" + border_ID)){ 957 897 data.to_all = document.getElementById("to_values_" + border_ID).value; 958 data.to_all = data.to_all.replace(/\n/gi," "); 898 data.to_all = data.to_all.replace(/\n/gi," "); 959 899 data.to_all = data.to_all.replace(/</gi,"<"); 960 900 data.to_all = data.to_all.replace(/>/gi,">"); 961 901 var _array_to_all = data.to_all.split(","); 962 } 963 } 964 902 } 903 } 904 965 905 if (document.getElementById("cc_" + border_ID)){ 966 906 data.cc = document.getElementById("cc_values_" + border_ID).value; … … 977 917 if (document.getElementById("body_" + border_ID)) 978 918 data.body = document.getElementById("body_" + border_ID).innerHTML; 979 919 980 920 if (Element('date_' + border_ID)){ 981 921 data.date = Element('date_' + border_ID).innerHTML; 982 922 } 983 923 984 924 if (Element('date_day_' + border_ID)){ 985 925 data.date_day = Element('date_day_' + border_ID).value; … … 992 932 var signature = preferences.type_signature == 'html' ? preferences.signature : preferences.signature.replace(/\n/g, "<br>"); 993 933 switch(type){ 994 case "reply_without_history": 934 case "reply_without_history": 995 935 Element("to_" + new_border_ID).value = data.to; 996 936 title = "Re: " + data.subject; 997 Element("subject_" + new_border_ID).value = "Re: " + data.subject; 937 Element("subject_" + new_border_ID).value = "Re: " + data.subject; 998 938 useOriginalAttachments(new_border_ID,border_ID); 999 939 var body = Element("body_" + new_border_ID); 1000 940 body.contentWindow.document.open(); 1001 941 // Insert the signature automaticaly at message body if use_signature preference is set 1002 if (preferences.use_signature == "1"){ 942 if (preferences.use_signature == "1"){ 1003 943 body.contentWindow.document.write("<html><body bgcolor='#FFFFFF'>" + "<br>" + signature + "</body></html>"); 1004 944 } 1005 else{ 945 else{ 1006 946 body.contentWindow.document.write("<html><body bgcolor='#FFFFFF'></body></html>"); 1007 947 } … … 1069 1009 data.to_all = new Array(); 1070 1010 var j = 0; 1071 for(i = 0; i < _array_to_all.length; i++) { 1011 for(i = 0; i < _array_to_all.length; i++) { 1072 1012 if(_array_to_all[i].lastIndexOf(Element("user_email").value) == "-1"){ 1073 1013 data.to_all[j++] = _array_to_all[i]; … … 1122 1062 data.to_all = new Array(); 1123 1063 var j = 0; 1124 for(i = 0; i < _array_to_all.length; i++) { 1064 for(i = 0; i < _array_to_all.length; i++) { 1125 1065 if(_array_to_all[i].lastIndexOf(Element("user_email").value) == "-1"){ 1126 1066 data.to_all[j++] = _array_to_all[i]; … … 1177 1117 msg_forward_from.type = "hidden"; 1178 1118 msg_forward_from.value = Element("msg_number_" + border_ID).value; 1179 Element("content_id_" + new_border_ID).appendChild(msg_forward_from); 1119 Element("content_id_" + new_border_ID).appendChild(msg_forward_from); 1180 1120 title = "Fw: " + data.subject; 1181 1121 document.getElementById("subject_" + new_border_ID).value = "Fw: " + data.subject; … … 1187 1127 if((attachments[i].tagName=="SPAN") || (attachments[i].tagName=="IMG") || 1188 1128 ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1))) 1189 continue; 1129 continue; 1190 1130 var link_attachment = document.createElement("A"); 1191 1131 link_attachment.setAttribute("href", attachments[i].href); … … 1204 1144 else //To offline, you just set the url on value of a hidden input. 1205 1145 campo_arquivo.value = tmp; 1206 1146 1207 1147 } 1208 1148 else { … … 1245 1185 if(Element('msg_number').value) { 1246 1186 var _to = Element('msg_number').value; 1247 var reEmail = /^[A-Za-z\d_-]+(\.[A-Za-z\d_-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/; 1187 var reEmail = /^[A-Za-z\d_-]+(\.[A-Za-z\d_-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/; 1248 1188 if(!reEmail.test(_to)){ 1249 1189 var array_contacts = contacts.split(','); … … 1290 1230 data.to = data.to.replace(/>/gi,">"); 1291 1231 title = "Edição: "+data.subject; 1292 1232 1293 1233 Element("to_" + new_border_ID).value = data.to; 1294 1234 if (data.cc){ … … 1305 1245 } 1306 1246 Element("subject_" + new_border_ID).value = data.subject; 1307 1247 1308 1248 var divFiles = Element("divFiles_"+new_border_ID); 1309 1249 if (Element("attachments_" + border_ID)){ … … 1346 1286 1347 1287 // IM Module Enabled 1348 if( window.parent.loadscript && loadscript.autoStatusIM ) 1288 if( window.parent.loadscript && loadscript.autoStatusIM ) 1349 1289 { 1350 config_events( body.contentWindow.document, "onkeypress", loadscript.autoStatusIM ); 1290 config_events( body.contentWindow.document, "onkeypress", loadscript.autoStatusIM ); 1351 1291 } 1352 1292 … … 1356 1296 var save_link = document.getElementById("save_message_options"+new_border_ID); 1357 1297 1358 1298 function auto_sav() 1359 1299 { 1360 1300 if (openTab.autosave_timer[new_border_ID]) … … 1363 1303 openTab.autosave_timer[new_border_ID] = setTimeout("save_msg("+new_border_ID+")", autosave_time); 1364 1304 } 1365 1366 1305 config_events(body.contentWindow.document,'keypress', auto_sav); 1306 } 1367 1307 1368 1308 //BEGIN Tab event … … 1379 1319 } 1380 1320 // END Tab event 1381 1321 1382 1322 var offWidth = Element('border_blank').offsetWidth ? Element('border_blank').offsetWidth : Element('border_blank').clientWidth; 1383 1323 var resize = false; 1384 1324 1385 1325 if (offWidth < 200) { 1386 1326 resize = Element("border_id_" + new_border_ID).style.width; … … 1390 1330 title = title.substring(0,21) + "..."; 1391 1331 } 1392 1332 1393 1333 if(resize) 1394 1334 title = title.substring(0, parseInt(resize)*0.08); … … 1441 1381 1442 1382 function send_message_return(data, ID){ 1443 watch_changes_in_msg(ID); 1444 1445 1383 watch_changes_in_msg(ID); 1384 1385 var sign = false; 1446 1386 var crypt = false; 1447 1387 if ((preferences.use_assinar_criptografar != '0') && (preferences.use_signature_digital_cripto != '0')){ 1448 1388 var checkSign = document.getElementById('return_digital_'+ID) 1449 1389 if (checkSign.checked){ … … 1457 1397 } 1458 1398 1459 1399 if (typeof(data) == 'object' && !data.success) 1460 1400 { 1461 1462 1463 1464 1465 1401 connector = new cConnector(); 1402 connector.showProgressBar(); 1403 1404 if (sign || crypt){ 1405 var operation = ''; 1466 1406 if (sign){ 1467 1407 operation = 'sign'; 1468 1408 } 1469 1409 else { // crypt 1470 1410 //TODO: Colocar mensagem de erro, e finalizar o método. 1471 1411 operation = 'nop'; 1472 1412 } 1473 1474 1475 1476 1477 1478 1413 } 1414 1415 if (data.body){ 1416 Element('cert_applet').doButtonClickAction(operation, ID, data.body); 1417 } 1418 else { 1479 1419 alert(data.error); 1480 1420 } 1481 1421 1482 1422 return; 1483 1423 } 1484 1424 if(data && data.success == true ){ 1485 1425 // if send ok, set a flag as answered or forwarded … … 1541 1481 function appletReturn(smime, ID, operation, folder){ 1542 1482 1543 1544 1545 1546 1547 1483 if (!smime){ // Erro aconteceu ao assinar ou decifrar e-mail 1484 connector = new cConnector(); 1485 connector.hideProgressBar(); 1486 return; 1487 } 1548 1488 1549 1489 if(operation=='decript') … … 1553 1493 if(data.msg_day == '') 1554 1494 { 1555 1495 header=expresso_local_messages.get_msg_date(data.original_ID, proxy_mensagens.is_local_folder(get_current_folder())); 1556 1496 1557 1497 data.fulldate=header.fulldate; … … 1567 1507 }else 1568 1508 { 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1509 ID_tmp = ID; 1510 // Lê a variável e chama a nova função cExecuteForm 1511 // Processa e envia para o servidor web 1512 // Faz o request do connector novamente. Talvez implementar no connector 1513 // para manter coerência. 1514 1515 var handler_send_smime = function(data){ 1516 send_message_return(data, this.ID_tmp); // this is a hack to escape quotation form connector bug 1517 }; 1518 1519 var textArea = document.createElement("TEXTAREA"); 1520 textArea.style.display='none'; 1521 textArea.id = 'smime'; 1522 textArea.name = "smime"; 1523 textArea.value += smime; 1524 1525 // Lê a variável e chama a nova função cExecuteForm 1526 // Processa e envia para o servidor web 1527 // Faz o request do connector novamente. Talvez implementar no connector 1528 // para manter coerência. 1529 if (is_ie){ 1530 var i = 0; 1531 while (document.forms(i).name != "form_message_"+ID){i++} 1532 form = document.forms(i); 1533 } 1534 else 1535 form = document.forms["form_message_"+ID]; 1536 1537 form.appendChild(textArea); 1538 1539 cExecuteForm ("$this.imap_functions.send_mail", form, handler_send_smime, ID); 1540 } 1601 1541 } 1602 1542 1603 1543 function send_message(ID, folder, folder_name){ 1604 1544 1605 1545 //limpa autosave_timer[ID]; havia conflito quando uma mensagem ia ser enviada e nesse exato momento o autosave 1606 1607 1608 1546 //entrava em execucao (a aba de edicao da mensagem continuava aberta e a mensagem exibida era a de que a mensagem foi 1547 //salva na pasta Rascunhos e nao que tinha sido enviada, como deveria); 1548 if (preferences.auto_save_draft == 1) 1609 1549 { 1610 1550 if (openTab.autosave_timer[ID]) … … 1620 1560 save_link.onclick = ''; 1621 1561 save_link.className = 'message_options_inactive'; 1622 1562 1623 1563 ID_tmp = ID; 1624 1564 … … 1626 1566 send_message_return(data, this.ID_tmp); // this is a hack to escape quotation form connector bug 1627 1567 }; 1628 1568 1629 1569 var textArea = document.createElement("TEXTAREA"); 1630 1570 textArea.style.display='none'; … … 1642 1582 msg_id.name = "msg_id"; 1643 1583 msg_id.value = openTab.imapUid[ID]; 1644 1584 1645 1585 if (is_ie){ 1646 1586 var i = 0; … … 1651 1591 form = document.forms["form_message_"+ID]; 1652 1592 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1593 // Evita que e-mails assinados sejam enviados quando o usuário tenta enviar um e-mail 1594 // não assinado (desmarcou a opção) após tentar enviar um e-mail assinado que não passou 1595 // no teste de validação. 1596 var checkSign = document.getElementById('return_digital_'+ID); 1597 if (checkSign && !checkSign.checked){ 1598 var smime = Element('smime'); 1599 if (smime) 1600 { 1601 var parent = smime.parentNode; 1602 parent.removeChild(smime); 1603 } 1604 } 1665 1605 1666 1606 form.appendChild(textArea); … … 1673 1613 return; 1674 1614 } 1675 1676 if (expresso_offline) { 1615 1616 if (expresso_offline) { 1677 1617 stringEmail = Element("to_"+ID).value; 1678 1618 stringEmail += Element("cco_"+ID).value =='' ? "":", "+Element("cco_"+ID).value; 1679 1619 stringEmail += Element("cc_"+ID).value =='' ? "":", "+Element("cc_"+ID).value; 1680 var invalidEmail = validateEmail(stringEmail); 1620 var invalidEmail = validateEmail(stringEmail); 1681 1621 if(Element("to_"+ID).value=="" && Element("cco_"+ID).value=="" && Element("cc_"+ID).value=="") { 1682 1622 write_msg(get_lang("message without receiver.")); … … 1692 1632 handler_send_message(data_return,ID); 1693 1633 } 1694 else 1634 else 1695 1635 cExecuteForm("$this.imap_functions.send_mail", form, handler_send_message, ID); 1696 1636 } … … 1715 1655 function return_save(data,border_id,folder_name,folder_id,message_id) 1716 1656 { 1717 Element("send_button_"+border_id).style.visibility="visible"; 1657 Element("send_button_"+border_id).style.visibility="visible"; 1718 1658 var handler_delete_msg = function(data){ refresh(preferences.alert_new_msg); }; 1719 1659 … … 1743 1683 openTab.imapUid[border_id] = data.msg_no; 1744 1684 openTab.imapBox[border_id] = data.folder_id; 1745 1685 1746 1686 var newTitle = document.getElementById('subject_'+border_id).value; 1747 1687 if (newTitle.length > 18) … … 1750 1690 newTitle = get_lang("No subject"); 1751 1691 document.getElementById('font_border_id_'+border_id).innerHTML = newTitle; 1752 1692 1753 1693 // Replace the embedded images for new uids 1754 1694 var mainField = document.getElementById('body_'+border_id).contentWindow; … … 1764 1704 var j=-1; 1765 1705 for (var i in images_part){ 1766 1706 1767 1707 if (is_ie) 1768 1708 if (i == 0) … … 1772 1712 else 1773 1713 var image_number = parseInt(images_part[i].substr(9)); 1774 1714 1775 1715 if (! isNaN(image_number)) 1776 1716 { … … 1778 1718 { 1779 1719 allImgs[image_number] = true; 1780 j--; 1720 j--; 1781 1721 } 1782 1722 content_body = content_body.replace(images_part[i],'msg_part='+j); … … 1784 1724 } 1785 1725 content_body = content_body.replace(/msg_part=-/g,'msg_part='); 1786 1726 1787 1727 mainField.document.getElementsByTagName('body').item(0).innerHTML = content_body; 1788 } 1789 1728 } 1729 1790 1730 //Replace all files to new files 1791 1731 var divFiles = Element("divFiles_"+border_id); … … 1795 1735 if(elFiles[i].value !=""){ 1796 1736 if (elFiles[i].type == "checkbox") { 1797 countCheck++; 1737 countCheck++; 1798 1738 } 1799 1739 else { … … 1803 1743 i--; 1804 1744 } 1805 1806 } 1807 }; 1808 1745 1746 } 1747 }; 1748 1809 1749 var attach_files = connector.unserialize(data.files); 1810 1750 if (attach_files != null) { … … 1812 1752 att_index = countCheck; 1813 1753 for (att_index; att_index < attach_files.length; att_index++){ 1814 1754 1815 1755 var link_attachment = document.createElement("A"); 1816 1756 var fileName = attach_files[att_index].substr(0,attach_files[att_index].indexOf('_SIZE_')); … … 1825 1765 a_tmp[2] = fileName; 1826 1766 s_tmp = escape(connector.serialize(a_tmp)); 1827 1767 1828 1768 var check_attachment = document.createElement("INPUT"); 1829 1769 check_attachment.type = 'CHECKBOX'; … … 1831 1771 check_attachment.value = s_tmp; 1832 1772 1833 divFiles.insertBefore(document.createElement("BR"),divFiles.childNodes[0]); 1773 divFiles.insertBefore(document.createElement("BR"),divFiles.childNodes[0]); 1834 1774 divFiles.insertBefore(link_attachment,divFiles.childNodes[0]); 1835 1775 divFiles.insertBefore(check_attachment,divFiles.childNodes[0]); … … 1844 1784 { 1845 1785 //Update mailbox 1846 1786 var tr_msg = document.getElementById(message_id); 1847 1787 change_tr_properties(tr_msg, data.msg_no, data.subject); 1848 1788 } 1849 1789 1850 1790 } 1851 1791 var save_link = Element("save_message_options_"+border_id); … … 1854 1794 watch_changes_in_msg(border_id); 1855 1795 write_msg(get_lang('Your message was save as draft in folder %1.', lang_folder(folder_name))); 1856 } 1796 } 1857 1797 } 1858 1798 … … 1871 1811 sendButton.style.visibility="hidden"; 1872 1812 1873 if (openTab.imapBox[border_id] && openTab.type[border_id] != 6 && openTab.type[border_id] != 7) //Gets the imap folder 1813 if (openTab.imapBox[border_id] && openTab.type[border_id] != 6 && openTab.type[border_id] != 7) //Gets the imap folder 1874 1814 var folder_id = openTab.imapBox[border_id]; 1875 1815 else … … 1880 1820 else 1881 1821 var folder_name = folder_id.substr(6); 1882 1822 1883 1823 // hack to avoid form connector bug, escapes quotation. Please see #179 1884 1824 tmp_border_id=border_id; … … 1910 1850 input_insertImg.value = withImage; 1911 1851 1912 1852 1913 1853 if (is_ie){ 1914 1854 var i = 0; … … 1923 1863 form.appendChild(input_insertImg); 1924 1864 1925 cExecuteForm ("$this.imap_functions.save_msg", form, handler_save_msg,border_id); 1865 cExecuteForm ("$this.imap_functions.save_msg", form, handler_save_msg,border_id); 1926 1866 } 1927 1867 … … 1936 1876 } 1937 1877 else 1938 write_msg('ERROR saving your message.'); 1878 write_msg('ERROR saving your message.'); 1939 1879 } 1940 1880 … … 1944 1884 tmp_border_id=border_id; 1945 1885 tmp_folder_name=folder_name; 1946 var handler_save_msg = function(data){ return_saveas(data,this.tmp_border_id,this.tmp_folder_name); } 1886 var handler_save_msg = function(data){ return_saveas(data,this.tmp_border_id,this.tmp_folder_name); } 1947 1887 var textArea = document.createElement("TEXTAREA"); 1948 1888 textArea.style.display='none'; … … 1952 1892 textArea.value += body.contentWindow.document.body.innerHTML; 1953 1893 textArea.value += '\r\n</body>'; 1954 1894 1955 1895 var input_folder = document.createElement("INPUT"); 1956 1896 input_folder.style.display='none'; 1957 1897 input_folder.name = "folder"; 1958 1898 input_folder.value = folder_id; 1959 1899 1960 1900 if (is_ie){ 1961 1901 var i = 0; … … 1967 1907 form.appendChild(textArea); 1968 1908 form.appendChild(input_folder); 1969 1909 1970 1910 cExecuteForm ("$this.imap_functions.save_msg", form, handler_save_msg,border_id); 1971 1911 } … … 2040 1980 Element('chk_box_select_all_messages').checked = false; 2041 1981 } 2042 1982 2043 1983 var folder = get_current_folder(); 2044 1984 if (msgs_to_set == 'get_selected_messages') … … 2046 1986 else 2047 1987 folder = Element("input_folder_"+msgs_to_set+"_r").value; 2048 1988 2049 1989 if (msgs_to_set) 2050 1990 cExecute ("$this.imap_functions.set_messages_flag&folder="+folder+"&msgs_to_set="+msgs_to_set+"&flag="+flag, handler_set_messages_flag); 2051 1991 else 2052 write_msg(get_lang('No selected message.')); 1992 write_msg(get_lang('No selected message.')); 2053 1993 } 2054 1994 … … 2059 1999 if(!verify_session(data)) 2060 2000 return; 2061 if (data.status && Element("td_message_answered_"+msg_number)) { 2001 if (data.status && Element("td_message_answered_"+msg_number)) { 2062 2002 if(flag == 'answered') 2063 2003 Element("td_message_answered_"+msg_number).innerHTML = '<img src=templates/'+template+'/images/answered.gif title=Respondida>'; … … 2083 2023 seekDot = /\<input /gi; 2084 2024 body = body.replace(seekDot, "<input style='display:none' "); 2085 2025 2086 2026 while (1){ 2087 2027 try{ … … 2089 2029 html += "<h4>ExpressoLivre - ExpressoMail</h4>"; 2090 2030 html += folder+"<hr>"; 2091 2031 2092 2032 window_print.document.body.innerHTML = html + '<blockquote><font size="2">' + 2093 2033 '<table style="font-size:12" width="'+(is_ie ? "85%" : "99%" )+'"><TR><TD align="center" width="5%"> </TD><TD width="30%" align="center">'+get_lang("Who")+'</TD><TD align="center" width="45%">'+get_lang("Subject")+'</TD><TD align="center" width="10%">'+get_lang("Date")+'</TD><TD width="10%">'+get_lang("Size")+'</TD></TR></table>' … … 2105 2045 2106 2046 function print_msg(msg_folder, msg_number, border_ID){ 2107 var div_toaddress_full = Element("div_toaddress_full_"+border_ID); 2047 var div_toaddress_full = Element("div_toaddress_full_"+border_ID); 2108 2048 var div_ccaddress_full = Element("div_ccaddress_full_"+border_ID); 2109 var printListTO = (div_toaddress_full && div_toaddress_full.style.display != 'none') || toaddress_array[border_ID].length == 1 ? true : false; 2110 var printListCC = (div_ccaddress_full && div_ccaddress_full.style.display != 'none') || !div_ccaddress_full ? true : false; 2049 var printListTO = (div_toaddress_full && div_toaddress_full.style.display != 'none') || toaddress_array[border_ID].length == 1 ? true : false; 2050 var printListCC = (div_ccaddress_full && div_ccaddress_full.style.display != 'none') || !div_ccaddress_full ? true : false; 2111 2051 var sender = Element('sender_values_'+border_ID) ? Element('sender_values_'+border_ID).value : null; 2112 2052 var from = Element('from_values_'+border_ID) ? Element('from_values_'+border_ID).value : null; 2113 2053 var to = Element('to_values_'+border_ID) ? Element('to_values_'+border_ID).value :null; 2114 var cc = Element('cc_values_'+border_ID) ? Element('cc_values_'+border_ID).value : null; 2115 var date = Element('date_'+border_ID); 2054 var cc = Element('cc_values_'+border_ID) ? Element('cc_values_'+border_ID).value : null; 2055 var date = Element('date_'+border_ID); 2116 2056 var subject = Element('subject_'+border_ID); 2117 2057 var attachments = Element('attachments_'+border_ID); … … 2144 2084 show_attachs = ""; 2145 2085 } 2146 2086 2147 2087 while (1){ 2148 2088 try{ … … 2159 2099 to = 'Os destinatários não estão sendo exibidos para esta impressão'; 2160 2100 html += "<tr><td width=7%><font size='2'>" + get_lang('To') + ": </font></td><td><font size='2'>"+to+"</font></td></tr>"; 2161 } 2101 } 2162 2102 if (cc) { 2163 2103 if(!printListCC) … … 2166 2106 } 2167 2107 if(date) 2168 html += "<tr><td width=7%><font size='2'>" + get_lang('Date') + ": </font></td><td><font size='2'>"+date.innerHTML+"</font></td></tr>"; 2108 html += "<tr><td width=7%><font size='2'>" + get_lang('Date') + ": </font></td><td><font size='2'>"+date.innerHTML+"</font></td></tr>"; 2169 2109 html += "<tr><td width=7%><font size='2'>" + get_lang('Subject')+ ": </font></td><td><font size='2'>"+subject.innerHTML+"</font></td></tr>"; 2170 2110 html += show_attachs; //to show the names of the attachments … … 2172 2112 window_print.document.body.innerHTML = html + '<blockquote><font size="2">' + body.innerHTML + '</font></blockquote>'; 2173 2113 if(!is_ie){ 2174 var tab_tags = window_print.document.getElementsByTagName("IMG"); 2114 var tab_tags = window_print.document.getElementsByTagName("IMG"); 2175 2115 for(var i = 0; i < tab_tags.length;i++){ 2176 2116 var _img = document.createElement("IMG"); … … 2243 2183 } 2244 2184 var msgs_to_export = this.get_selected_messages(); 2245 2185 2246 2186 var handler_export_all_selected_msgs = function(data){ 2247 2187 2248 2188 if(!data){ 2249 2189 write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.')); … … 2252 2192 download_attachments(null, null, data, null,null,'mensagens.zip'); 2253 2193 } 2254 2194 2255 2195 if (msgs_to_export) { 2256 2196 cExecute ("$this.exporteml.makeAll", handler_export_all_selected_msgs, "folder="+get_current_folder()+"&msgs_to_export="+msgs_to_export); … … 2283 2223 // Hold sesion for edit message. 2284 2224 //if(!hold_session) 2285 // location.href="../login.php?cd=10&phpgw_forward=%2FexpressoMail1_2%2Findex.php"; 2225 // location.href="../login.php?cd=10&phpgw_forward=%2FexpressoMail1_2%2Findex.php"; 2286 2226 return false; 2287 2227 } … … 2298 2238 var _button = is_ie ? window.event.button : e.which; 2299 2239 var _target = is_ie ? event.srcElement : e.target; 2300 2240 2301 2241 if(_button == 2 || _button == 3) { 2302 2242 var _params = _target.id.split(";;"); … … 2311 2251 var new_folder_name = get_lang('INBOX'); 2312 2252 var handler_move_msgs = function(data){ 2313 if (msgs_number == 'selected') 2253 if (msgs_number == 'selected') 2314 2254 set_messages_flag("unseen", "get_selected_messages"); 2315 2255 else 2316 2256 proxy_mensagens.proxy_set_message_flag(msgs_number, "unseen"); 2317 2318 } 2319 2320 2257 proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name); 2258 } 2259 2260 if (msgs_number == 'selected') 2321 2261 msgs_number = get_selected_messages(); 2322 2262 2323 2263 if (parseInt(msgs_number) > 0 || msgs_number.length > 0) 2324 2264 cExecute ("$this.imap_functions.spam&folder="+folder+"&spam=false"+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&sort_box_reverse="+sort_box_reverse+"&reuse_border="+border_ID+"&new_folder="+new_folder+"&new_folder_name="+new_folder_name+"&get_previous_msg="+preferences.delete_and_show_previous_message+"&cyrus_delimiter="+cyrus_delimiter, handler_move_msgs); … … 2330 2270 if (folder == 'null') 2331 2271 folder = get_current_folder(); 2332 2272 var new_folder = 'INBOX'+cyrus_delimiter+'Spam'; 2333 2273 var new_folder_name = 'Spam'; 2334 2274 var handler_move_msgs = function(data){ … … 2337 2277 proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name); 2338 2278 } 2339 2279 if(msgs_number == 'selected') 2340 2280 msgs_number = get_selected_messages(); 2341 2281 if(parseInt(msgs_number) > 0 || msgs_number.length > 0) 2342 2282 cExecute ("$this.imap_functions.spam&folder="+folder+"&spam=true"+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&sort_box_reverse="+sort_box_reverse+"&reuse_border="+border_ID+"&new_folder="+new_folder+"&new_folder_name="+new_folder_name+"&get_previous_msg="+preferences.delete_and_show_previous_message+"&cyrus_delimiter="+cyrus_delimiter, handler_move_msgs); 2343 2283 else 2344 2284 write_msg(get_lang('No selected message.')); 2345 2285 } 2346 2286 … … 2355 2295 form.style.background = "#eeeeee"; 2356 2296 form.style.left = "0px"; 2357 form.style.top = "0px"; 2297 form.style.top = "0px"; 2358 2298 form.style.width = "0px"; 2359 2299 form.style.height = "0px"; … … 2367 2307 form_upload.style.width = "450px"; 2368 2308 form_upload.style.height = "75px"; 2369 form.appendChild(form_upload); 2309 form.appendChild(form_upload); 2370 2310 form.style.width = form.firstChild.style.width; 2371 2311 form.style.height = form.firstChild.style.height; 2372 form.style.zIndex = "10000"; 2312 form.style.zIndex = "10000"; 2373 2313 var title = form.firstChild.name; 2374 2314 var wHeight = form.offsetHeight + "px"; … … 2385 2325 title_text_color: 'white', 2386 2326 button_x_img: '../phpgwapi/images/winclose.gif', 2387 border: true }); 2327 border: true }); 2388 2328 win.draw(); 2389 2329 } … … 2392 2332 '<input title="'+get_lang('Select a folder')+'" value="' + get_lang('Select a folder') + '"' + 'type="button" onclick="javascript:select_import_folder()"> ' + 2393 2333 '<input title="' + get_lang('Close') + '" value="' + get_lang('Close') + '"' + 2394 ' type="button" onclick="arrayJSWin[\'import_window\'].close()"></form>'; 2334 ' type="button" onclick="arrayJSWin[\'import_window\'].close()"></form>'; 2395 2335 win.open(); 2396 2336 } 2397 2337 2398 2338 function import_msgs(wfolders_tree){ 2399 function handler(data){ 2339 function handler(data){ 2400 2340 // Its necessary to encapsulate the data returned (IE bugfix) 2401 return_import_msgs(data,wfolders_tree); 2341 return_import_msgs(data,wfolders_tree); 2402 2342 } 2403 2343 var countFiles = document.form_import.countFiles; … … 2415 2355 document.form_import.appendChild(folder); 2416 2356 write_msg(get_lang('You must wait while the messages will be imported...')); 2417 2357 2418 2358 cExecuteForm('$this.imap_functions.import_msgs', document.form_import, handler); 2419 2359 } … … 2437 2377 cExecute('$this.imap_functions.delete_mailbox',function(){},'del_past=INBOX/Lixeira/tmpMoveToLocal'); 2438 2378 } 2439 2379 else{ 2440 2380 write_msg(data); 2441 2381 arrayJSWin["import_window"].close(); … … 2449 2389 } 2450 2390 } 2451 2391 } 2452 2392 2453 2393 } … … 2456 2396 //Begin: Verify if the file extension is allowed. 2457 2397 var imgExtensions = new Array("eml","zip"); 2458 var inputFile = document.form_import.file_1; 2398 var inputFile = document.form_import.file_1; 2459 2399 if(!inputFile.value){ 2460 2400 alert(get_lang('File extension forbidden or invalid file') + '.'); … … 2512 2452 return; 2513 2453 } 2514 document.getElementById('text_send_queue').innerHTML = get_lang('Number of messages to send:')+' '+num_msgs; 2454 document.getElementById('text_send_queue').innerHTML = get_lang('Number of messages to send:')+' '+num_msgs; 2515 2455 var handler_send_queue_message = function(data,rowid_message) { 2516 2456 hack_sent_queue(data,this.ID_tmp); … … 2553 2493 function validateEmail(emailString){ 2554 2494 var arrayInvalidEmails = new Array(); 2555 arrayInvalidEmails[1] = ''; 2495 arrayInvalidEmails[1] = ''; 2556 2496 var email; 2557 2497 var arrayEmailsFull = new Array(); 2558 2498 arrayEmailsFull = emailString.split(','); 2559 var er_Email = new RegExp("<(.*?)>"); 2499 var er_Email = new RegExp("<(.*?)>"); 2560 2500 var er_ValidaEmail = new RegExp("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"); 2561 2501 … … 2566 2506 if (tempEmail != '') { 2567 2507 singleEmail = er_ValidaEmail.exec(tempEmail); 2568 2508 2569 2509 if (singleEmail == null) { 2570 2510 arrayInvalidEmails[0] = true; 2571 2511 arrayInvalidEmails[1] += (email == null ? arrayEmailsFull[i] : email[1]) + "; "; 2572 2512 } 2573 } 2574 } 2575 2513 } 2514 } 2515 2576 2516 return arrayInvalidEmails; 2577 2517 }
Note: See TracChangeset
for help on using the changeset viewer.