Changeset 3035 for branches/2.2
- Timestamp:
- 07/12/10 15:37:02 (14 years ago)
- Location:
- branches/2.2/expressoMail1_2/js
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2/expressoMail1_2/js/draw_api.js
r3028 r3035 23 23 function Map() 24 24 { 25 26 25 this.keys = new Array(); 26 this.values = new Array(); 27 27 } 28 28 29 29 Map.prototype.add = function(key, value) 30 30 { 31 32 31 this.keys.push(key); 32 this.values.push(value); 33 33 } 34 34 35 35 Map.prototype.get = function(key) 36 36 { 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 37 result = new Array(); 38 for (i = 0; i < this.keys.length; i++) 39 { 40 if (this.keys[i] == key) 41 { 42 result.push(this.values[i]); 43 } 44 } 45 46 if (result.length == 0) 47 { 48 return null; 49 } 50 51 return result; 52 52 } 53 53 … … 56 56 function draw_tree_folders(folders){ 57 57 // Check if the tree folders alredy exist. 58 58 translatedFolders = new Map(); 59 59 if (Element('dftree_tree_folders')){ 60 60 if (!expresso_offline) { … … 70 70 unseen_in_shared_folders = parseInt( unseen_in_shared_folders + data[ i ].folder_unseen ); 71 71 } 72 72 73 73 var folder_unseen = Element('dftree_'+data[i].folder_id+'_unseen'); 74 74 75 75 if ((folder_unseen) && (data[i].folder_unseen > 0)) 76 76 { … … 88 88 } 89 89 90 if(data[i].folder_id == current_folder){ 90 if(data[i].folder_id == current_folder){ 91 91 var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 92 // if(!isNaN(old_new_m) && old_new_m < data[i].folder_unseen){93 // Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(data[i].folder_unseen)-old_new_m);94 // }95 92 Element('new_m').innerHTML = data[i].folder_unseen ? '<font color="RED">'+data[i].folder_unseen+'</font>' : 0; 96 93 draw_paging(Element('tot_m').innerHTML); … … 99 96 100 97 var display_unseen_in_mailbox = tree_folders.getNodeById( 'root' ); 101 //if ( unseen_in_mailbox ) 102 // display_unseen_in_mailbox.alter({caption:'<font style=color:red>[</font><span id="dftree_root_unseen" style="color:red">' + unseen_in_mailbox +'</span><font style=color:red>]</font> ' + get_lang("My Folders")}); 103 //else 104 display_unseen_in_mailbox.alter({caption:get_lang("My Folders")}); 98 display_unseen_in_mailbox.alter({caption:get_lang("My Folders")}); 105 99 display_unseen_in_mailbox._refresh(); 106 100 107 101 var display_unseen_in_shared_folders = tree_folders.getNodeById( 'user' ); 108 102 if ( display_unseen_in_shared_folders ) … … 117 111 cExecute ("$this.imap_functions.get_folders_list&folder="+current_folder, update_tree_folders); 118 112 } 119 113 120 114 return; 121 115 } … … 123 117 if (!expresso_offline) { 124 118 tree_folders = new dFTree({name: 'tree_folders'}); 125 119 126 120 var n_root = new dNode({id:'root', caption: get_lang("My Folders")}); 127 121 tree_folders.add(n_root,'anything'); //Places the root; second argument can be anything. 128 122 129 123 var unseen_in_mailbox = 0; 130 124 var unseen_in_shared_folders = 0; … … 136 130 unseen_in_shared_folders = parseInt( unseen_in_shared_folders + folders[ i ].folder_unseen ); 137 131 138 var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name) + '<font style=color:red> (</font><span id="dftree_'+folders[i].folder_id+'_unseen" style=color:red>'+folders[i].folder_unseen+'</span><font style=color:red>)</font>', onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); 139 132 var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name) + '<font style=color:red> (</font><span id="dftree_'+folders[i].folder_id+'_unseen" style=color:red>'+folders[i].folder_unseen+'</span><font style=color:red>)</font>', onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); 133 140 134 if( folders[i].folder_name.toLowerCase() == 'inbox' ) 141 135 Element('new_m').innerHTML = '<font style="color:red">' + folders[i].folder_unseen + '</font>'; 142 136 } 143 137 else 144 var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name), onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); 145 138 var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name), onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); 139 146 140 if (folders[i].folder_parent == '') 147 141 folders[i].folder_parent = 'root'; 148 else if (folders[i].folder_parent == 'user'){ 149 142 else if (folders[i].folder_parent == 'user'){ 143 150 144 if (!tree_folders.getNodeById('user')){ 151 152 153 154 155 156 var n_root_shared_folders = new dNode({id:'user', caption:get_lang("Shared folders"), plusSign:true}); 145 tmpFolderId = folders[i].folder_id.split(cyrus_delimiter).pop(); 146 if (tmpFolderId != folders[i].folder_name) 147 { 148 translatedFolders.add(tmpFolderId, folders[i].folder_name); 149 } 150 var n_root_shared_folders = new dNode({id:'user', caption:get_lang("Shared folders"), plusSign:true}); 157 151 tree_folders.add(n_root_shared_folders,'root'); 158 152 } … … 161 155 } 162 156 } 163 //tree_local_folders = new dFTree({name: 'tree_local_folders'});164 157 /** 165 158 * Pastas locais … … 183 176 } 184 177 else{ 185 if (expresso_offline) 178 if (expresso_offline) 186 179 tree_folders = new dFTree({ 187 180 name: 'tree_folders' … … 201 194 new_caption = local_folders[i][0].substr(final_pos + 1); 202 195 } 203 if (local_folders[i][1] > 0) 196 if (local_folders[i][1] > 0) 204 197 var nodeLocal = new dNode({ 205 198 id: "local_" + local_folders[i][0], … … 208 201 plusSign: local_folders[i][2] 209 202 }); 210 else 203 else 211 204 var nodeLocal = new dNode({ 212 205 id: "local_" + local_folders[i][0], … … 218 211 } 219 212 } 220 } 213 } 221 214 } 222 215 … … 265 258 if(document.getElementById("nINBOX/"+spamfolder+"tree_folders")) 266 259 { 267 var spam = document.createElement("SPAN"); 268 spam.id = 'empty_spam'; 269 spam.className = 'clean_folder'; 270 spam.style.cursor = 'pointer'; 271 spam.style.padding = '0 0 0 6px'; 272 spam.onclick = function () {empty_spam_imap();}; 273 spam.innerHTML = "["+get_lang("Clean")+"]"; 274 spam.title=get_lang("Empty Spam Folder"); 275 spam.onmouseover = function() {spam.style.color="red";}; 276 spam.onmouseout= function() {spam.style.color="#666666";}; 277 document.getElementById("nINBOX/"+spamfolder+"tree_folders").appendChild(spam); 278 } 279 280 // Draw right menu folders. 281 /* 282 var treeroot = document.getElementById('chroottree_folders'); 283 for (var linkBox = treeroot.firstChild; linkBox != null; linkBox = linkBox.nextSibling) 284 _dragArea.makeMenuBox(linkBox); 285 */ 260 var spam = document.createElement("SPAN"); 261 spam.id = 'empty_spam'; 262 spam.className = 'clean_folder'; 263 spam.style.cursor = 'pointer'; 264 spam.style.padding = '0 0 0 6px'; 265 spam.onclick = function () {empty_spam_imap();}; 266 spam.innerHTML = "["+get_lang("Clean")+"]"; 267 spam.title=get_lang("Empty Spam Folder"); 268 spam.onmouseover = function() {spam.style.color="red";}; 269 spam.onmouseout= function() {spam.style.color="#666666";}; 270 document.getElementById("nINBOX/"+spamfolder+"tree_folders").appendChild(spam); 271 } 272 286 273 287 274 if(!expresso_offline) … … 289 276 else 290 277 var display_unseen_in_mailbox = tree_folders.getNodeById( 'local_root' ); 291 //if ( unseen_in_mailbox ) 292 // display_unseen_in_mailbox.alter({caption:'<font style=color:red>[</font><span id="dftree_root_unseen" style="color:red">' + unseen_in_mailbox +'</span><font style=color:red>]</font> ' + get_lang("My Folders")}); 293 //else 294 display_unseen_in_mailbox.alter({caption:get_lang("My Folders")}); 278 display_unseen_in_mailbox.alter({caption:get_lang("My Folders")}); 295 279 display_unseen_in_mailbox._refresh(); 296 280 … … 347 331 var has_changes = false; 348 332 for (var i in local_folders) { //Coloca as pastas locais. 349 333 350 334 var new_caption = local_folders[i][0]; 351 335 if(local_folders[i][0].indexOf("/")!="-1") { … … 353 337 new_caption = local_folders[i][0].substr(final_pos+1); 354 338 } 355 339 356 340 var folder_unseen = Element('dftree_local_'+local_folders[i][0]+'_unseen'); 357 341 358 342 if ((folder_unseen) && (local_folders[i][1] > 0)) 359 343 { … … 374 358 } 375 359 376 if("local_"+local_folders[i][0] == get_current_folder()){ 360 if("local_"+local_folders[i][0] == get_current_folder()){ 377 361 var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 378 362 if(!isNaN(old_new_m) && old_new_m < local_folders[i][1]){ … … 387 371 tree_folders.getNodeById("local_root").open(); 388 372 389 } 373 } 390 374 } 391 375 … … 426 410 draw_tree_folders(data); 427 411 if(data) { 428 build_quota(data); 412 build_quota(data); 429 413 var f_unseen = Element('dftree_'+current_folder+'_unseen'); 430 414 if(f_unseen && f_unseen.innerHTML) … … 433 417 { 434 418 if( parseInt(Element('new_m').innerHTML) == 0 ) 435 Element('new_m').innerHTML = 0; 419 Element('new_m').innerHTML = 0; 436 420 } 437 421 folders = data; … … 462 446 } 463 447 proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort_box_type,search_box_type,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); 464 // cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box);465 448 } 466 449 else … … 490 473 var numPages = 5; 491 474 var last_folder = 'INBOX'; 492 function draw_paging(num_msgs){ 475 function draw_paging(num_msgs){ 493 476 num_msgs = parseInt(num_msgs); 494 477 total_pages = 1; … … 500 483 } 501 484 502 if(num_msgs > parseInt(preferences.max_email_per_page)) { 485 if(num_msgs > parseInt(preferences.max_email_per_page)) { 503 486 total_pages = parseInt(num_msgs/preferences.max_email_per_page); 504 487 if((num_msgs/preferences.max_email_per_page) > total_pages) 505 total_pages++; 488 total_pages++; 506 489 } 507 490 … … 512 495 return; 513 496 } 514 515 497 span_paging = document.getElementById("span_paging"); 516 498 if(!span_paging){ … … 519 501 span_paging.className = "boxHeaderText"; 520 502 span_paging.align="right"; 521 document.getElementById("div_menu_c3").appendChild(span_paging); 522 } 523 span_paging.style.width="100%"; 503 document.getElementById("div_menu_c3").appendChild(span_paging); 504 } 505 span_paging.style.width="100%"; 524 506 span_paging.innerHTML=""; 525 507 msg_range_begin = 1; … … 537 519 lnk_page.title = get_lang("First"); 538 520 span_paging.innerHTML += " "; 539 521 540 522 if(current_page == lastPage + numPages) 541 lastPage = current_page - 1; 542 else if((lastPage != 1 && lastPage == current_page) || current_page == total_pages) 523 lastPage = current_page - 1; 524 else if((lastPage != 1 && lastPage == current_page) || current_page == total_pages) 543 525 lastPage = current_page - (numPages - 1); 544 526 else if(current_page == 1) … … 553 535 554 536 for(i = lastPage; i <= total_pages; i++) { 555 556 if(current_page == i || (i == total_pages && !hasMarked)) { 537 538 if(current_page == i || (i == total_pages && !hasMarked)) { 557 539 lnk_page = document.createElement("SPAN"); 558 540 span_paging.appendChild(lnk_page); … … 561 543 continue; 562 544 } 563 else{ 545 else{ 564 546 lnk_page = document.createElement("A"); 565 547 span_paging.appendChild(lnk_page); … … 568 550 lnk_page.setAttribute("href", "javascript:current_page="+i+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_box(data, get_current_folder());});"); 569 551 } 570 571 552 lnk_page.innerHTML = " ... "; 572 573 553 if(i == (lastPage + numPages)) 574 break; 575 else if(lastPage == 1 || i != lastPage) 554 break; 555 else if(lastPage == 1 || i != lastPage) 576 556 lnk_page.innerHTML = " "+i+" "; 577 578 span_paging.innerHTML += " "; 557 span_paging.innerHTML += " "; 579 558 } 580 559 581 560 if(current_page != total_pages) { 582 561 lnk_page = document.createElement("A"); 583 562 msg_range_begin = ((total_pages*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); 584 msg_range_end = (total_pages*preferences.max_email_per_page); 563 msg_range_end = (total_pages*preferences.max_email_per_page); 585 564 lnk_page.setAttribute("href", "javascript:current_page="+total_pages+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_box(data, get_current_folder());});"); 586 565 } … … 600 579 if (alternate) 601 580 kill_current_box(); 602 581 603 582 if(is_ie) 604 583 document.getElementById("border_table").width = "99.5%"; 605 584 606 openTab.content_id[numBox] = document.getElementById("content_id_"+numBox); 585 openTab.content_id[numBox] = document.getElementById("content_id_"+numBox); 607 586 openTab.imapBox[numBox] = msg_folder; 608 587 openTab.type[numBox] = 0; 609 588 610 589 table_message_header_box = document.getElementById("table_message_header_box_"+numBox); 611 590 if (table_message_header_box == null){ … … 614 593 table_element.setAttribute("id", "table_message_header_box_"+numBox); 615 594 table_element.className = "table_message_header_box"; 616 595 617 596 tr_element = document.createElement("TR"); 618 597 tr_element.className = "message_header"; … … 637 616 } 638 617 }; 639 618 640 619 td_element1.appendChild(chk_box_element); 641 620 642 621 td_element2 = document.createElement("TD"); 643 622 td_element2.setAttribute("width", "7%"); … … 648 627 td_element3.align = "left"; 649 628 td_element3.innerHTML = get_lang("Who"); 650 629 651 630 td_element4 = document.createElement("TD"); 652 631 td_element4.setAttribute("width", "38%"); … … 655 634 td_element4.align = "left"; 656 635 td_element4.innerHTML = get_lang("Subject"); 657 636 658 637 td_element5 = document.createElement("TD"); 659 638 td_element5.setAttribute("width", "14%"); … … 668 647 td_element6.align = "left"; 669 648 td_element6.innerHTML = get_lang("Size"); 670 649 671 650 tr_element.appendChild(td_element1); 672 tr_element.appendChild(td_element2); 651 tr_element.appendChild(td_element2); 673 652 var td_element21 = document.createElement("TD"); 674 653 td_element21.innerHTML = " "; … … 690 669 draw_header_box(); 691 670 var table_element = document.createElement("TABLE"); 692 var tbody_element = document.createElement("TBODY"); 671 var tbody_element = document.createElement("TBODY"); 693 672 table_element.id = "table_box"; 694 673 table_element.className = "table_box"; … … 698 677 table_element.cellPadding = "0"; 699 678 table_element.cellSpacing = "0"; 700 679 701 680 table_element.onkeydown = function (e){ 702 681 if (is_ie) … … 719 698 if (is_ie) 720 699 table_element.style.cursor = "hand"; 721 700 722 701 tbody_element.setAttribute("id", "tbody_box"); 723 702 table_element.appendChild(tbody_element); 724 703 725 704 var _divScroll = document.getElementById("divScrollMain_"+numBox); 726 705 727 706 728 if(!_divScroll){ 707 if(!_divScroll){ 729 708 _divScroll = document.createElement("DIV"); 730 709 _divScroll.id = "divScrollMain_"+numBox; 731 710 } 732 733 _divScroll.style.overflowY = "auto"; 711 712 _divScroll.style.overflowY = "auto"; 734 713 _divScroll.style.overflowX = "hidden"; 735 714 _divScroll.style.width ="100%"; 736 715 737 716 if (is_mozilla){ 738 717 _divScroll.style.overflow = "-moz-scrollbars-vertical"; … … 741 720 _divScroll.appendChild(table_element); 742 721 openTab.content_id[numBox].appendChild(_divScroll); 743 722 744 723 var f_unseen = 0; 745 724 746 725 if (headers_msgs.num_msgs == 0){ 747 var tr_info = document.createElement("TR");748 var td_info = document.createElement("TD"); 749 td_info.setAttribute("colspan", "10"); 726 var tr_info = document.createElement("TR"); 727 var td_info = document.createElement("TD"); 728 td_info.setAttribute("colspan", "10"); 750 729 td_info.setAttribute("background", "#FFF"); 751 730 tr_info.setAttribute("id", "msg_info"); 752 731 td_info.align = "center"; 753 td_info.style.padding = "25px"; 754 td_info.style.fontWeight = "bold"; 755 td_info.style.fontSize = "11pt"; 732 td_info.style.padding = "25px"; 733 td_info.style.fontWeight = "bold"; 734 td_info.style.fontSize = "11pt"; 756 735 td_info.innerHTML = get_lang("This mail box is empty"); 757 tr_info.appendChild(td_info); 736 tr_info.appendChild(td_info); 758 737 tbody_element.appendChild(td_info); 759 738 } 760 761 739 740 762 741 for (var i=0; i < headers_msgs.length; i++){ 763 742 if ((headers_msgs[i].Unseen == 'U') || (headers_msgs[i].Recent == 'N')) 764 f_unseen++; 743 f_unseen++; 765 744 tr_element = this.make_tr_message(headers_msgs[i], msg_folder); 766 745 if (tr_element){ 767 746 tbody_element.appendChild(tr_element); 768 add_className(tr_element, i%2 != 0 ? 'tr_msg_read2' : 'tr_msg_read'); 747 add_className(tr_element, i%2 != 0 ? 'tr_msg_read2' : 'tr_msg_read'); 769 748 } 770 749 _dragArea.makeDragged(tr_element, headers_msgs[i].msg_number, headers_msgs[i].subject, true); 771 750 } 772 751 773 752 if ((preferences.use_shortcuts == '1') && (headers_msgs[0])) 774 753 select_msg(headers_msgs[0].msg_number, 'null', true); … … 778 757 if ( !currentTab ) 779 758 alternate_border(numBox); 780 draw_footer_box(headers_msgs.num_msgs); 759 draw_footer_box(headers_msgs.num_msgs); 781 760 Element('main_table').style.display = ''; 782 if(is_ie6) // Stupid Fixing on IE6.783 setTimeout("resizeWindow()",1); 784 else 785 resizeWindow(); 761 if(is_ie6) // Stupid Fixing on IE6. 762 setTimeout("resizeWindow()",1); 763 else 764 resizeWindow(); 786 765 if(debug) { 787 766 var _eTime = new Date(); … … 790 769 } 791 770 var msg_folder = Element('msg_folder').value; 792 var msg_number = Element('msg_number').value; 771 var msg_number = Element('msg_number').value; 793 772 if(!msg_folder && msg_number) { 794 773 new_message('new','null'); … … 802 781 if(!is_ie) { 803 782 var scripts = new Array("ccQuickAdd", 804 805 806 807 808 809 810 811 812 813 814 815 816 783 "color_palette", 784 "filter", 785 "filters", 786 "html2xhtml", 787 "preferences", 788 "QuickCatalogSearch", 789 "QuickSearchUser", 790 "rich_text_editor", 791 "sharemailbox", 792 "search", 793 "TreeS", 794 "TreeShow"); 795 817 796 connector.loadAllScripts(scripts); 818 797 } … … 821 800 function make_tr_message(headers_msgs, msg_folder){ 822 801 var tr_element = document.createElement('tr'); 823 tr_element.style.height = preferences.line_height; 802 tr_element.style.height = preferences.line_height; 824 803 tr_element.id = headers_msgs.msg_number; 825 804 … … 849 828 if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')) 850 829 add_className(tr_element, 'tr_msg_unread'); 851 830 852 831 if (headers_msgs.Flagged == 'F') 853 832 add_className(tr_element,'flagged_msg'); … … 867 846 }; 868 847 td_element1.appendChild(chk_box_element); 869 848 870 849 td_element2 = document.createElement("TD"); 871 850 td_element2.className = "td_msg"; 872 851 td_element2.setAttribute("width", "2%"); 873 852 if (headers_msgs.attachment && headers_msgs.attachment.number_attachments > 0) 874 td_element2.innerHTML = "<img src ='templates/"+template+"/images/clip.gif' title='" + url_decode(headers_msgs.attachment.names) + "'>"; 875 853 td_element2.innerHTML = "<img src ='templates/"+template+"/images/clip.gif' title='" + url_decode(headers_msgs.attachment.names) + "'>"; 854 876 855 td_element21 = document.createElement("TD"); 877 856 td_element21.className = "td_msg"; … … 892 871 if ((headers_msgs.Forwarded == 'F') || (headers_msgs.Draft == 'X' && headers_msgs.Answered == 'A')){ 893 872 td_element21.innerHTML = "<img src ='templates/"+template+"/images/forwarded.gif' title='"+get_lang('Forwarded')+"'>"; 894 headers_msgs.Draft = '' 873 headers_msgs.Draft = '' 895 874 headers_msgs.Answered = ''; 896 875 headers_msgs.Forwarded = 'F'; … … 908 887 td_element22.id = "td_message_signed_"+headers_msgs.msg_number; 909 888 910 //td_element23 = document.createElement("TD"); 911 //td_element23.setAttribute("width", "1%"); 912 //td_element23.id = "td_message_signed_"+headers_msgs.msg_number; 913 switch(headers_msgs.ContentType) 914 { 915 case "signature": 889 switch(headers_msgs.ContentType) 890 { 891 case "signature": 916 892 { 917 893 td_element22.innerHTML = "<img src ='templates/"+template+"/images/signed_msg.gif' title='" + get_lang('Signed message') + "'>"; 918 894 break; 919 895 } 920 896 case "cipher": 921 897 { 922 898 td_element22.innerHTML = "<img src ='templates/"+template+"/images/lock.gif' title='" + get_lang('Crypted message') + "'>"; 923 899 break; 924 900 } 925 901 default: 926 902 { 927 903 break; … … 929 905 } 930 906 931 907 td_element23 = document.createElement("TD"); 932 908 td_element23.className = "td_msg" 933 909 td_element23.setAttribute("width", "1%"); … … 952 928 953 929 954 var td_element25 = document.createElement("TD"); 955 td_element25.className = "td_msg"; 956 td_element25.setAttribute("width", "1%"); 957 td_element25.id = "td_message_unseen_"+headers_msgs.msg_number; 958 if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')) 959 td_element25.innerHTML = "<img src ='templates/"+template+"/images/unseen.gif' title='"+get_lang('Unseen')+"'>"; 960 else 961 td_element25.innerHTML = "<img src ='templates/"+template+"/images/seen.gif' title='"+get_lang('Seen')+"'>"; 930 var td_element25 = document.createElement("TD"); 931 td_element25.className = "td_msg"; 932 td_element25.setAttribute("width", "1%"); 933 td_element25.id = "td_message_unseen_"+headers_msgs.msg_number; 934 if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')) 935 td_element25.innerHTML = "<img src ='templates/"+template+"/images/unseen.gif' title='"+get_lang('Unseen')+"'>"; 936 else 937 td_element25.innerHTML = "<img src ='templates/"+template+"/images/seen.gif' title='"+get_lang('Seen')+"'>"; 962 938 963 939 … … 969 945 td_element3.onclick = _onclick; 970 946 td_element3.innerHTML = ' '; 971 947 972 948 if (typeof(headers_msgs.from) == 'undefined') 973 949 return false; 974 950 if( headers_msgs.from.email && headers_msgs.from.email.toLowerCase() == Element("user_email").value ) 975 { 951 { 976 952 td_element3.onmouseover = function () {this.title=headers_msgs.to.email;}; 977 953 if (headers_msgs.Draft == 'X') 978 954 td_element3.innerHTML += "<span style=\"color:red\">("+get_lang("Draft")+") </span>"; 979 else{ 980 if(headers_msgs.to.email != null && headers_msgs.to.email.toLowerCase() != Element("user_email").value) 955 else{ 956 if(headers_msgs.to.email != null && headers_msgs.to.email.toLowerCase() != Element("user_email").value) 981 957 td_element24.innerHTML = "<img valign='center' src ='templates/"+template+"/images/sent.gif' title='"+get_lang('Sent')+"'>"; 982 958 983 959 if ((headers_msgs.to)&&(headers_msgs.to.name != null)) 984 960 td_element3.innerHTML += headers_msgs.to.name; … … 992 968 td_element3.innerHTML = "<span style=\"color:red\">("+get_lang("Draft")+") </span>"; 993 969 } 994 else{ 970 else{ 995 971 var spanSender = document.createElement("SPAN"); 996 972 spanSender.onmouseover = function (event) {this.style.textDecoration = "underline";try {InfoContact.begin(this,headers_msgs.from.email)} catch(e){};}; … … 1002 978 else if (spanSender.innerHTML.length > 40 ){ 1003 979 spanSender.innerHTML = spanSender.innerHTML.substring(0,40) + "..."; 1004 } 1005 td_element3.appendChild(spanSender); 1006 } 1007 } 980 } 981 td_element3.appendChild(spanSender); 982 } 983 } 1008 984 td_element4 = document.createElement("TD"); 1009 985 td_element4.className = "td_msg"; 1010 986 td_element4.setAttribute("width", "50%"); 1011 987 td_element4.onclick = _onclick; 1012 // td_element4.setAttribute("style","white-space:nowrap;");1013 988 td_element4.innerHTML = !is_ie ? "<a nowrap id='a_message_"+tr_element.id+"'> " : " "; 1014 989 1015 990 if ((headers_msgs.subject)&&(headers_msgs.subject.length > 50)) 1016 991 { 1017 // if( (headers_msgs.subject.length+tr_element.msg_sample.length)>1018 992 td_element4.innerHTML += headers_msgs.subject.substring(0,50) + "..." + "<span style=\"color:#b3b3b3;\"> " + tr_element.msg_sample +"</span>";//modificacao feita para exibir o trecho do body ao lado do assunto da mensagem; 1019 993 } … … 1022 996 td_element4.innerHTML += headers_msgs.subject + "<span style=\"color:#b3b3b3;\"> " + tr_element.msg_sample + "</span>";//modificacao feita para exibir o trecho do body ao lado do assunto da mensagem; 1023 997 } 1024 998 1025 999 td_element4.title=tr_element.tip; 1026 1000 if(!is_ie){ 1027 1001 td_element4.innerHTML += "</a>"; 1028 1002 } 1029 1003 1030 1004 1031 1005 td_element5 = document.createElement("TD"); … … 1051 1025 tr_element.appendChild(td_element22); 1052 1026 tr_element.appendChild(td_element23); 1053 1054 tr_element.appendChild(td_element25); 1027 tr_element.appendChild(td_element24); 1028 tr_element.appendChild(td_element25); 1055 1029 tr_element.appendChild(td_element3); 1056 1030 tr_element.appendChild(td_element4); … … 1066 1040 draw_paging(Element('tot_m').innerHTML); 1067 1041 //Mostrar as msgs nao lidas de acordo com o filtro de relevancia 1068 1069 1070 1071 1042 var msgs_unseen = 0; 1043 for(i in data){ 1044 if(data[i].Unseen == 'U') 1045 msgs_unseen++; 1072 1046 } 1073 1047 Element("new_m").innerHTML = '<font style="color:'+(msgs_unseen == 0 ? '': 'red')+'">' + msgs_unseen + '</font>'; … … 1083 1057 sort_box_reverse = 1; 1084 1058 } 1085 1059 1086 1060 // Global variable. 1087 1061 sort_box_type = sort; … … 1106 1080 case 'SORTSIZE': 1107 1081 type_name = get_lang("Size"); 1108 break; 1082 break; 1109 1083 default: 1110 1084 type_name = get_lang("Date"); … … 1114 1088 document.getElementById("message_header_SORTSUBJECT_"+numBox).innerHTML = get_lang("Subject"); 1115 1089 document.getElementById("message_header_SORTARRIVAL_"+numBox).innerHTML = get_lang("Date"); 1116 document.getElementById("message_header_SORTSIZE_"+numBox).innerHTML = get_lang("Size"); 1090 document.getElementById("message_header_SORTSIZE_"+numBox).innerHTML = get_lang("Size"); 1117 1091 document.getElementById("message_header_"+(sort_box_type.lastIndexOf("SORT") != "-1" ? sort_box_type : "SORTARRIVAL")+"_"+numBox ).innerHTML = "<B>"+type_name+"</B><img src ='templates/"+template+"/images/arrow_"+(sort_box_reverse == 1 ? 'desc' : 'asc')+"endant.gif'>"; 1118 1092 } 1119 1093 function draw_message(info_msg, ID){ 1120 1094 var content = document.getElementById('content_id_' + ID); 1121 1095 1122 1096 var menuHidden = Element("folderscol").style.display == 'none' ? true : false; 1123 1097 ////////////////////////////////////////////////////////////////////////////////////////////////////// … … 1134 1108 img_next_msg.style.cursor = 'pointer'; 1135 1109 1136 // Old 1137 //img_next_msg.onclick = function () {cExecute ("$this.imap_functions.get_info_next_msg&msg_number="+ info_msg.msg_number + "&msg_folder="+ info_msg.msg_folder + "&sort_box_type="+ sort_box_type + "&search_box_type="+ search_box_type +"&sort_box_reverse="+ sort_box_reverse +"&reuse_border="+ID, show_msg)}; 1138 var folder_id = 0; 1139 folder_id = info_msg.original_ID ? info_msg.original_ID: info_msg.msg_number; 1110 var folder_id = 0; 1111 folder_id = info_msg.original_ID ? info_msg.original_ID: info_msg.msg_number; 1140 1112 var folder = document.getElementById(folder_id); 1141 1113 if (!folder){ … … 1143 1115 return; 1144 1116 } 1145 if (folder){ // mensagem local criptografada nao tem ID da pasta local 1146 if (folder.nextSibling){ 1147 var nextMsgBox = folder.nextSibling.name?folder.nextSibling.name:info_msg.msg_folder; 1148 1149 if (nextMsgBox == "INBOX/decifradas")// teste para ver se a mensagem vem da pasta oculta decifradas 1150 nextMsgBox = get_current_folder(); 1151 1152 img_next_msg.onclick = function() 1153 { 1154 currentTab = ID; 1155 openTab.type[ID] = 2; 1156 proxy_mensagens.get_msg(folder.nextSibling.id,nextMsgBox,true,show_msg); 1157 //cExecute("$this.imap_functions.get_info_msg&msg_number="+folder.nextSibling.id+"&msg_folder="+nextMsgBox, show_msg); 1158 }; 1159 } 1160 else 1161 { 1162 img_next_msg.src = "./templates/"+template+"/images/down.gray.button.png"; 1163 img_next_msg.style.cursor = 'default'; 1164 1165 } 1166 } 1167 else 1168 { 1169 img_next_msg.src = "./templates/"+template+"/images/down.gray.button.png"; 1117 if (folder){ // mensagem local criptografada nao tem ID da pasta local 1118 if (folder.nextSibling){ 1119 var nextMsgBox = folder.nextSibling.name?folder.nextSibling.name:info_msg.msg_folder; 1120 1121 if (nextMsgBox == "INBOX/decifradas")// teste para ver se a mensagem vem da pasta oculta decifradas 1122 nextMsgBox = get_current_folder(); 1123 1124 img_next_msg.onclick = function() 1125 { 1126 currentTab = ID; 1127 openTab.type[ID] = 2; 1128 proxy_mensagens.get_msg(folder.nextSibling.id,nextMsgBox,true,show_msg); 1129 }; 1130 } 1131 else 1132 { 1133 img_next_msg.src = "./templates/"+template+"/images/down.gray.button.png"; 1134 img_next_msg.style.cursor = 'default'; 1135 1136 } 1137 } 1138 else 1139 { 1140 img_next_msg.src = "./templates/"+template+"/images/down.gray.button.png"; 1170 1141 img_next_msg.style.cursor = 'default'; 1171 1142 if (!proxy_mensagens.is_local_folder(get_current_folder()) && !(info_msg.msg_folder == "INBOX/decifradas")) // testa se a mensagem e local 1172 1143 { 1173 img_next_msg.onclick = function() 1174 { 1175 /*current_page++; 1176 msg_range_end = (current_page*preferences.max_email_per_page); 1177 msg_range_begin = (msg_range_end-(preferences.max_email_per_page)+1); 1178 kill_current_box(); 1179 cExecute ('$this.imap_functions.get_range_msgs2&folder='+current_folder+'&msg_range_begin='+msg_range_begin+'&msg_range_end='+msg_range_end+'&sort_box_reverse=1', function handler(data){draw_box(data, current_folder);}) */ 1180 delete_border(ID); 1181 }; 1182 } 1183 } 1144 img_next_msg.onclick = function() 1145 { 1146 delete_border(ID); 1147 }; 1148 } 1149 } 1184 1150 var img_space = document.createElement("SPAN"); 1185 1151 img_space.innerHTML = " "; … … 1190 1156 img_previous_msg.style.cursor = 'pointer'; 1191 1157 1192 //Old1193 //img_previous_msg.onclick = function () {cExecute ("$this.imap_functions.get_info_previous_msg&msgs_number="+ info_msg.msg_number + "&folder="+ info_msg.msg_folder + "&sort_box_type="+ sort_box_type+ "&search_box_type="+ search_box_type + "&sort_box_reverse="+ sort_box_reverse +"&reuse_border="+ID, show_msg)}1194 //folder = document.getElementById(ID.substr(0, ID.indexOf('_')));1195 1158 if (!folder){ 1196 1159 delete_border(ID); 1197 1160 return; 1198 1161 } 1199 if (folder){ // mensagem local criptografada nao tem ID da pasta local 1200 if (folder.previousSibling) 1201 { 1202 var previousMsgBox = folder.previousSibling.name?folder.previousSibling.name:info_msg.msg_folder; 1203 1204 if (previousMsgBox == "INBOX/decifradas") // teste para ver se a mensagem vem da pasta oculta decifradas 1205 previousMsgBox = get_current_folder(); 1206 1207 img_previous_msg.onclick = function() 1208 { 1209 currentTab = ID; 1210 openTab.type[ID] = 2; 1211 //cExecute("$this.imap_functions.get_info_msg&msg_number="+folder.previousSibling.id+"&msg_folder=" + previousMsgBox, show_msg); 1212 proxy_mensagens.get_msg(folder.previousSibling.id,previousMsgBox,true,show_msg); 1213 }; 1214 } 1215 else 1216 { 1217 img_previous_msg.src = "./templates/"+template+"/images/up.gray.button.png"; 1218 img_previous_msg.style.cursor = 'default'; 1219 } 1162 if (folder){ // mensagem local criptografada nao tem ID da pasta local 1163 if (folder.previousSibling) 1164 { 1165 var previousMsgBox = folder.previousSibling.name?folder.previousSibling.name:info_msg.msg_folder; 1166 1167 if (previousMsgBox == "INBOX/decifradas") // teste para ver se a mensagem vem da pasta oculta decifradas 1168 previousMsgBox = get_current_folder(); 1169 1170 img_previous_msg.onclick = function() 1171 { 1172 currentTab = ID; 1173 openTab.type[ID] = 2; 1174 proxy_mensagens.get_msg(folder.previousSibling.id,previousMsgBox,true,show_msg); 1175 }; 1176 } 1177 else 1178 { 1179 img_previous_msg.src = "./templates/"+template+"/images/up.gray.button.png"; 1180 img_previous_msg.style.cursor = 'default'; 1181 } 1220 1182 } 1221 1183 else … … 1224 1186 img_previous_msg.style.cursor = 'default'; 1225 1187 if (!proxy_mensagens.is_local_folder(get_current_folder()) && !(info_msg.msg_folder == "INBOX/decifradas")) // testa se a mensagem e local 1226 1227 1228 1229 1230 1231 1232 1188 { 1189 img_previous_msg.onclick = function() 1190 { 1191 delete_border(ID); 1192 }; 1193 } 1194 } 1233 1195 next_previous_msg_td.appendChild(img_previous_msg); 1234 1196 next_previous_msg_td.appendChild(img_space); … … 1240 1202 var tbody_message = document.createElement("TBODY"); 1241 1203 table_message.border = "0"; 1242 table_message.width = "100%"; 1204 table_message.width = "100%"; 1243 1205 1244 1206 ////////////////////////////////////////////////////////////////////////////////////////////////////// … … 1258 1220 var _name = ''; 1259 1221 var _maxChar = menuHidden ? 40 : 15; 1260 1222 1261 1223 if (info_msg.from.name) 1262 1224 { … … 1269 1231 1270 1232 td.innerHTML = _name.bold() + ', ' + info_msg.smalldate; 1271 if (info_msg.attachments && info_msg.attachments.length > 0) 1233 if (info_msg.attachments && info_msg.attachments.length > 0) 1272 1234 td.innerHTML += " <img style='cursor:pointer' onclick='javascript:Element(\"option_hide_more_"+ID+"\").onclick()' src ='templates/"+template+"/images/clip.gif' title='"+info_msg.attachments.names+"'>"; 1273 1235 1274 1236 if (typeof(info_msg.signature) == 'string') 1275 { 1237 { 1276 1238 if (info_msg.signature != "void") 1277 1239 td.innerHTML += ' <img style="cursor:pointer" onclick="alert(\''+ get_lang("This message is signed, and you can trust.") + info_msg.signature +'\');" src="templates/'+template+'/images/signed.gif">'; … … 1279 1241 td.innerHTML += " <img style='cursor:pointer' onclick='alert(\""+get_lang("This message is signed, but it is invalid. You should not trust on it.")+"\");' title='"+get_lang("Voided message")+"' src='templates/"+template+"/images/invalid.gif'>"; 1280 1242 } 1281 1243 1282 1244 if (info_msg.DispositionNotificationTo) 1283 1245 { 1284 1246 td.innerHTML += ' <img style="cursor:pointer" alt="'+ get_lang('Message with read notification') + '" title="'+ get_lang('Message with read notification') + '" src="templates/'+template+'/images/notification.gif">'; 1285 1247 } 1286 1248 1287 1249 // NORMAL MSG 1288 1250 if(info_msg.Draft != 'X') … … 1312 1274 option_mark.align = "left"; 1313 1275 option_mark.width = "50%"; 1314 1315 var option_mark_as_unseen = '<span class="message_options" onclick="changeLinkState(this,\'seen\'); set_messages_flag(\'unseen\','+folder_id+'); write_msg(\''+get_lang('Message marked as ')+get_lang("Unseen")+'.\');">'+get_lang("Unseen")+'</span>, '; 1316 1317 if (info_msg.Flagged == "F") 1318 var option_mark_important = '<span class="message_options" onclick="changeLinkState(this,\'important\'); set_messages_flag(\'unflagged\','+folder_id+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+'.\');">'+get_lang("Normal")+'</span>'; 1319 else 1320 var option_mark_important = '<span class="message_options" onclick="changeLinkState(this,\'normal\');set_messages_flag(\'flagged\','+folder_id+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+'.\');">'+get_lang("Important")+'</span>'; 1321 option_mark.innerHTML = option_mark_as+option_mark_as_unseen+option_mark_important; 1276 var option_mark_as = '<span>'+get_lang("Mark as")+'</span>: '; 1277 var option_mark_as_unseen = '<span class="message_options" onclick="changeLinkState(this,\'seen\'); set_messages_flag(\'unseen\','+folder_id+'); write_msg(\''+get_lang('Message marked as ')+get_lang("Unseen")+'.\');">'+get_lang("Unseen")+'</span>, '; 1278 1279 if (info_msg.Flagged == "F") 1280 var option_mark_important = '<span class="message_options" onclick="changeLinkState(this,\'important\'); set_messages_flag(\'unflagged\','+folder_id+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+'.\');">'+get_lang("Normal")+'</span>'; 1281 else 1282 var option_mark_important = '<span class="message_options" onclick="changeLinkState(this,\'normal\');set_messages_flag(\'flagged\','+folder_id+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+'.\');">'+get_lang("Important")+'</span>'; 1283 option_mark.innerHTML = option_mark_as+option_mark_as_unseen+option_mark_important; 1322 1284 option_hide_more.innerHTML = get_lang('Show details'); 1323 1285 options.appendChild(option_hide_more); … … 1381 1343 options.appendChild(option_reply_options); 1382 1344 options.appendChild(option_reply); 1383 1345 1384 1346 tr.appendChild(td); 1385 1347 tr.appendChild(option_mark); … … 1387 1349 tr.appendChild(next_previous_msg_td); 1388 1350 tbody_message_options.appendChild(tr); 1389 1351 1390 1352 ////////// OTHER OPTIONS //////////////////// 1391 1353 var tr_other_options = document.createElement("TR"); 1392 1354 tr_other_options.id = 'tr_other_options_' + ID; 1393 1355 tr_other_options.style.display = 'none'; 1394 1356 1395 1357 var td_other_options = document.createElement("TD"); 1396 1358 td_other_options.colSpan = '3'; 1397 //td_other_options.align = 'right';1398 //td_other_options.setAttribute("noWrap","true");1399 1359 var div_other_options = document.createElement("DIV"); 1400 1360 … … 1402 1362 var option_mark_as_important = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'flagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+'.\');">'+get_lang("Important")+'</span>, '; 1403 1363 var option_mark_as_normal = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'unflagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+'.\');">'+get_lang("Normal")+'</span> | '; 1404 1364 1405 1365 var option_move = '<span class="message_options" onclick=wfolders.makeWindow("'+ID+'","move_to");>'+get_lang("Move")+'</span> | '; 1406 1366 var option_reply_to_all = '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick=new_message("reply_to_all_with_history","'+ID+'");>'+get_lang("Reply to all")+'</span> | '; … … 1411 1371 if (use_spam_filter) { 1412 1372 if(info_msg.msg_folder == 'INBOX'+cyrus_delimiter+'Spam') 1413 div_other_options.innerHTML += ' | <span class="message_options" onclick="nospam('+info_msg.msg_number+',\'null\', \''+info_msg.msg_folder+'\')";>'+get_lang("Not Spam")+'</span>'; 1373 div_other_options.innerHTML += ' | <span class="message_options" onclick="nospam('+info_msg.msg_number+',\'null\', \''+info_msg.msg_folder+'\')";>'+get_lang("Not Spam")+'</span>'; 1414 1374 else 1415 div_other_options.innerHTML += ' | <span class="message_options" onclick="spam(\''+info_msg.msg_folder+'\', '+info_msg.msg_number+',\'null\')";>'+get_lang("Mark as Spam")+'</span>'; 1375 div_other_options.innerHTML += ' | <span class="message_options" onclick="spam(\''+info_msg.msg_folder+'\', '+info_msg.msg_number+',\'null\')";>'+get_lang("Mark as Spam")+'</span>'; 1416 1376 } 1417 1377 td_other_options.align = 'right'; … … 1424 1384 ////////// END OTHER OPTIONS //////////////// 1425 1385 1426 1386 ////////// BEGIN SIGNATURE ////////////////// 1427 1387 if (info_msg.signature && info_msg.signature.length > 0) 1428 1388 { … … 1470 1430 tr_signature.appendChild(td_signature); 1471 1431 tbody_message_options.appendChild(tr_signature); 1472 /******************************************* Old signature ***********************************************/1473 //if (info_msg.signature != "void")1474 // td.innerHTML += ' <img style="cursor:pointer" onclick="alert(\''+ get_lang("This message is signed, and you can trust.") + info_msg.signature +'\');" src="'+tpl_img_path+'/signed.gif">';1475 //else1476 // td.innerHTML += " <img style='cursor:pointer' onclick='alert(\""+get_lang("This message is signed, but it is invalid. You should not trust on it.")+"\");' title='"+get_lang("Voided message")+"' src='"+tpl_img_path+"/invalid.gif'>";1477 /***************************************** ********/1478 1432 } 1479 1433 //////////// END SIGNATURE //////////////// … … 1544 1498 td1.appendChild(deny_email(info_msg.from.email)); 1545 1499 td1.width = "7%"; 1546 1500 1547 1501 if (info_msg.sender){ 1548 1502 var tr111 = document.createElement("TR"); … … 1565 1519 tbody_message_others_options.appendChild(tr111); 1566 1520 } 1567 1521 1568 1522 var from = document.createElement("TD"); 1569 1523 from.id = "from_"+ID; … … 1600 1554 var reply_to = document.createElement("TD"); 1601 1555 reply_to.id = "reply_to_"+ID; 1602 1556 1603 1557 var reply_to_values = document.createElement("INPUT"); 1604 1558 reply_to_values.id = "reply_to_values_"+ID; … … 1623 1577 to_values.id = "to_values_"+ID; 1624 1578 to_values.type = "HIDDEN"; 1625 to_values.value = info_msg.toaddress2; //Veio do IMAP, sem images nem links. 1579 to_values.value = info_msg.toaddress2; //Veio do IMAP, sem images nem links. 1626 1580 1627 1581 // Salva a pasta da mensagem 1628 var input_current_folder = document.createElement('input'); 1582 var input_current_folder = document.createElement('input'); 1629 1583 input_current_folder.id = "input_folder_"+ID; 1630 1584 input_current_folder.name = "input_folder"; 1631 1585 input_current_folder.type = "hidden"; 1632 1586 input_current_folder.value = info_msg.msg_folder; 1633 td2.appendChild(input_current_folder); 1587 td2.appendChild(input_current_folder); 1634 1588 // fim 1635 1589 toaddress_array[ID] = info_msg.toaddress2.split(","); … … 1640 1594 div_toaddress.style.display=""; 1641 1595 div_toaddress.innerHTML += " (<a STYLE='color: RED;' onclick=javascript:show_div_address_full('"+ID+"','to');>"+get_lang('more')+"</a>)"; 1642 to.appendChild(div_toaddress); 1596 to.appendChild(div_toaddress); 1643 1597 } 1644 1598 else { 1645 toAdd = toaddress_array[ID].toString().replace("<","<"); 1646 toAdd = toAdd.replace(">",">"); 1647 to.innerHTML += draw_plugin_cc(ID,toAdd); 1599 toAdd = toaddress_array[ID].toString().replace("<","<"); 1600 toAdd = toAdd.replace(">",">"); 1601 to.innerHTML += draw_plugin_cc(ID,toAdd); 1648 1602 } 1649 1603 to.className = "header_message_field"; … … 1665 1619 cc_values.type = "HIDDEN"; 1666 1620 cc_values.value = info_msg.cc; 1667 1668 ccaddress_array[ID] = info_msg.cc.split(","); 1621 1622 ccaddress_array[ID] = info_msg.cc.split(","); 1669 1623 if (ccaddress_array[ID].length > 1){ 1670 1624 var div_ccaddress = document.createElement("SPAN"); 1671 1625 div_ccaddress.id = "div_ccaddress_"+ID; 1672 1626 var div_ccaddress_full = document.createElement("SPAN"); 1673 div_ccaddress_full.id = "div_ccaddress_full_"+ID; 1627 div_ccaddress_full.id = "div_ccaddress_full_"+ID; 1674 1628 div_ccaddress.style.display=""; 1675 1629 cc.innerHTML = draw_plugin_cc(ID, ccaddress_array[ID][0]); … … 1706 1660 cco_values.value = info_msg.bcc; 1707 1661 1708 ccoaddress_array[ID] = info_msg.bcc.split(","); 1662 ccoaddress_array[ID] = info_msg.bcc.split(","); 1709 1663 if (ccoaddress_array[ID].length > 1){ 1710 1664 var div_ccoaddress = document.createElement("SPAN"); 1711 1665 div_ccoaddress.id = "div_ccoaddress_"+ID; 1712 1666 var div_ccoaddress_full = document.createElement("SPAN"); 1713 div_ccoaddress_full.id = "div_ccoaddress_full_"+ID; 1667 div_ccoaddress_full.id = "div_ccoaddress_full_"+ID; 1714 1668 div_ccoaddress.style.display=""; 1715 1669 1716 /*1717 * The function below is ugly, doesn't possible use this.1718 * The problem is that the code's function was written1719 * on a hardcode concept.1720 */1721 1670 //cco.innerHTML = draw_plugin_cc(ID, ccoaddress_array[ID][0]); 1722 1671 cco.innerHTML = ccoaddress_array[ID][0]; … … 1725 1674 } 1726 1675 else{ 1727 /*1728 * The function below is ugly, it is not possible to use this.1729 * The problem is that the code's function was written1730 * on a hardcode concept.1731 */1732 1676 //cco.innerHTML = draw_plugin_cc(ID, info_msg.cco); 1733 1677 cco.innerHTML = info_msg.bcc; … … 1761 1705 tr4.appendChild(date_hour); 1762 1706 tbody_message_others_options.appendChild(tr4); 1763 1707 1764 1708 var tr5 = document.createElement("TR"); 1765 1709 tr5.className = "tr_message_header"; … … 1773 1717 tr5.appendChild(subject); 1774 1718 tbody_message_others_options.appendChild(tr5); 1775 if ( info_msg.attachments && info_msg.attachments.length > 0 ){ 1719 if ( info_msg.attachments && info_msg.attachments.length > 0 ){ 1776 1720 var tr6 = document.createElement("TR"); 1777 1721 tr6.className = "tr_message_header"; … … 1790 1734 var td = document.createElement("TD"); 1791 1735 if(info_msg.attachments.length > 1) { 1792 var link_attachment 1793 1794 1795 1796 1736 var link_attachment = document.createElement("A"); 1737 if(proxy_mensagens.is_local_folder(current_folder)) 1738 link_attachment.setAttribute("href", "javascript:expresso_local_messages.download_all_local_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); 1739 else 1740 link_attachment.setAttribute("href", "javascript:download_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); 1797 1741 link_attachment.innerHTML = " "+info_msg.attachments.length+' '+get_lang('files')+' :: '+get_lang('Download all atachments'); 1798 1742 link_attachment.innerHTML += '<BR>'; … … 1820 1764 // link_attachment.setAttribute("href", "javascript:download_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"',"+i+",'"+info_msg.attachments[i].pid+"','"+info_msg.attachments[i].encoding+"')"); 1821 1765 link_attachment.innerHTML = url_decode(info_msg.attachments[i].name); 1822 link_attachment.innerHTML = borkb(info_msg.attachments[i].fsize); 1766 link_attachment.innerHTML = borkb(info_msg.attachments[i].fsize); 1823 1767 if((url_decode(info_msg.attachments[i].name).indexOf(".ics")!=-1) || (url_decode(info_msg.attachments[i].name).indexOf(".vcard")!=-1)){ 1824 1768 //Link para importar calendário … … 1827 1771 link_import_attachment.setAttribute("onclick","javascript:import_calendar('"+info_msg.msg_folder+"&msg_number="+info_msg.msg_number+"&msg_part="+info_msg.attachments[i].pid+"&idx_file="+i+"&encoding="+info_msg.attachments[i].encoding+"');"); 1828 1772 link_import_attachment.title = get_lang("Import to calendar"); 1829 link_import_attachment.align = "top"; 1773 link_import_attachment.align = "top"; 1830 1774 link_import_attachment.style.cursor = "pointer"; 1831 1775 var space = document.createElement("span"); … … 1850 1794 div.style.background = 'WHITE'; 1851 1795 div.style.overflow = "auto"; 1852 div.style.width = "100%"; 1796 div.style.width = "100%"; 1853 1797 table_message_others_options.appendChild(tbody_message_others_options); 1854 1798 var tr = document.createElement("TR"); … … 1871 1815 for (var i = 0; i < domains.length; i++) 1872 1816 { 1873 if (imgTag[j].match(/cid:([\w\d]){5,}/) || imgTag[j].match(/src=\"\.\/inc\/show_embedded_attach\.php/g)) 1817 if (imgTag[j].match(/cid:([\w\d]){5,}/) || imgTag[j].match(/src=\"\.\/inc\/show_embedded_attach\.php/g)) 1874 1818 { 1875 1819 forbidden = false; … … 1902 1846 1903 1847 1904 ////////////////////////////////////////////////////////////////////////////////////////////////////// 1848 ////////////////////////////////////////////////////////////////////////////////////////////////////// 1905 1849 //Make the body message. 1906 1850 /////////////////////////////////////////////////////////////////////////////////////////////////////// … … 1911 1855 newBody = newBody.replace("<body","<span"); 1912 1856 newBody = newBody.replace("<BODY","<span"); 1913 while ( ( /<span[^>]*><span[^>]*>/ig ).test( newBody ) ) 1914 newBody = newBody.replace( /(<span[^>]*>)<span[^>]*>/ig, '$1' ); 1915 1916 var _body = document.createElement( 'div' ); 1917 _body.id = 'body_' + ID; 1918 _body.innerHTML = newBody; 1919 1920 var _elements = _body.getElementsByTagName( '*' ); 1921 for( var i = 0; i < _elements.length; i++ ) 1922 if ( _elements[ i ].attributes && _elements[ i ].attributes.getNamedItem( 'id' ) ) 1923 _elements[ i ].attributes.removeNamedItem( 'id' ); 1924 1925 div.appendChild( _body ); 1926 1927 function mailto( link ) 1928 { 1929 var mail = link.href.substr( 7 ); 1930 link.onclick = function( ) 1931 { 1932 new_message_to( mail ); 1933 return false; 1934 }; 1857 while ( ( /<span[^>]*><span[^>]*>/ig ).test( newBody ) ) 1858 newBody = newBody.replace( /(<span[^>]*>)<span[^>]*>/ig, '$1' ); 1859 1860 var _body = document.createElement( 'div' ); 1861 _body.id = 'body_' + ID; 1862 _body.innerHTML = newBody; 1863 1864 var _elements = _body.getElementsByTagName( '*' ); 1865 for( var i = 0; i < _elements.length; i++ ) 1866 if ( _elements[ i ].attributes && _elements[ i ].attributes.getNamedItem( 'id' ) ) 1867 _elements[ i ].attributes.removeNamedItem( 'id' ); 1868 1869 div.appendChild( _body ); 1870 1871 function mailto( link ) 1872 { 1873 var mail = link.href.substr( 7 ); 1874 link.onclick = function( ) 1875 { 1876 new_message_to( mail ); 1877 return false; 1878 }; 1879 } 1880 var links = div.getElementsByTagName( 'a' ); 1881 for ( var i = 0; i < links.length; i++ ){ 1882 try{ 1883 if ( links.item( i ).href.indexOf( 'mailto:' ) === 0 ){ 1884 mailto( links.item( i ) ); 1885 } 1886 else{ 1887 if ( links.item( i ).href.indexOf( 'javascript:' ) !== 0 ) 1888 links.item( i ).setAttribute( 'target', '_blank' ); 1889 } 1890 }catch(e){ 1891 } 1935 1892 } 1936 var links = div.getElementsByTagName( 'a' ); 1937 for ( var i = 0; i < links.length; i++ ){ 1938 try{ 1939 if ( links.item( i ).href.indexOf( 'mailto:' ) === 0 ){ 1940 mailto( links.item( i ) ); 1941 } 1942 else{ 1943 if ( links.item( i ).href.indexOf( 'javascript:' ) !== 0 ) 1944 links.item( i ).setAttribute( 'target', '_blank' ); 1945 } 1946 }catch(e){ 1947 } 1948 } 1949 ////////////////////////////////////////////////////////////////////////////////////////////////////// 1893 ////////////////////////////////////////////////////////////////////////////////////////////////////// 1950 1894 //Make the thumbs of the message. 1951 1895 ////////////////////////////////////////////////////////////////////////////////////////////////////// … … 1965 1909 _link_attachments = document.createElement("A"); 1966 1910 _link_attachments.className = "message_options"; 1967 1968 1969 1970 1911 if(proxy_mensagens.is_local_folder(current_folder)) 1912 _link_attachments.setAttribute("href", "javascript:expresso_local_messages.download_all_local_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); 1913 else 1914 _link_attachments.setAttribute("href", "javascript:download_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); 1971 1915 _link_attachments.innerHTML = get_lang('Download all atachments'); 1972 1916 } 1973 1917 1974 1918 if(_link_attachments){ 1975 1919 td.innerHTML += " :: "; 1976 1920 td.appendChild(_link_attachments); 1977 1921 } 1978 1922 1979 1923 td.innerHTML += "<BR><img src='templates/"+template+"/images/menu/ktip.png'>"+get_lang("<b>Tip:</b> For faster save, click over the image with <u>right button</u>."); 1980 1924 td.innerHTML += "<BR>"; … … 1994 1938 table_message.appendChild(tbody_message); 1995 1939 content.appendChild(table_message); 1996 resizeWindow(); 1940 resizeWindow(); 1997 1941 var msg_number = document.createElement('INPUT'); 1998 1942 msg_number.id = "msg_number_" + ID; … … 2002 1946 ////////////////////////////////////////////////////////////////////////////////////////////////////// 2003 1947 } 2004 function changeLinkState(el,state){ 2005 el.innerHTML = get_lang(state); 2006 switch (state){ 2007 case 'important': 2008 { 2009 el.onclick = function(){changeLinkState(el,'normal');set_messages_flag('unflagged',currentTab.substr(0,currentTab.indexOf("_r"))); write_msg(get_lang('Message marked as ')+get_lang("Normal"))} 2010 break; 2011 } 2012 case 'normal': 2013 { 2014 el.onclick = function(){ changeLinkState(el,'important');set_messages_flag('flagged',currentTab.substr(0,currentTab.indexOf("_r")));write_msg(get_lang('Message marked as ')+get_lang("Important"))} 2015 break; 2016 } 2017 case 'unseen': 2018 { 2019 el.onclick = function(){ changeLinkState(el,'seen');set_messages_flag('unseen',currentTab.substr(0,currentTab.indexOf("_r")));write_msg(get_lang('Message marked as ')+get_lang("unseen"))} 2020 break; 2021 2022 } 2023 case 'seen': 2024 { 2025 el.onclick = function(){ changeLinkState(el,'unseen');set_messages_flag('seen',currentTab.substr(0,currentTab.indexOf("_r")));write_msg(get_lang('Message marked as ')+get_lang("seen"))} 2026 break; 2027 2028 } 2029 default: 2030 { 2031 break; 2032 } 2033 } 2034 } 1948 function changeLinkState(el,state){ 1949 el.innerHTML = get_lang(state); 1950 switch (state){ 1951 case 'important': 1952 { 1953 el.onclick = function(){changeLinkState(el,'normal');set_messages_flag('unflagged',currentTab.substr(0,currentTab.indexOf("_r"))); write_msg(get_lang('Message marked as ')+get_lang("Normal"))} 1954 break; 1955 } 1956 case 'normal': 1957 { 1958 el.onclick = function(){ changeLinkState(el,'important');set_messages_flag('flagged',currentTab.substr(0,currentTab.indexOf("_r")));write_msg(get_lang('Message marked as ')+get_lang("Important"))} 1959 break; 1960 } 1961 case 'unseen': 1962 { 1963 el.onclick = function(){ changeLinkState(el,'seen');set_messages_flag('unseen',currentTab.substr(0,currentTab.indexOf("_r")));write_msg(get_lang('Message marked as ')+get_lang("unseen"))} 1964 break; 1965 1966 } 1967 case 'seen': 1968 { 1969 el.onclick = function(){ changeLinkState(el,'unseen');set_messages_flag('seen',currentTab.substr(0,currentTab.indexOf("_r")));write_msg(get_lang('Message marked as ')+get_lang("seen"))} 1970 break; 1971 1972 } 1973 default: 1974 { 1975 break; 1976 } 1977 } 1978 } 2035 1979 function draw_new_message(border_ID){ 2036 1980 var ID = create_border("",border_ID); … … 2038 1982 return false; 2039 1983 hold_session = true; 2040 2041 var footer_menu = Element("footer_menu"); 1984 1985 var footer_menu = Element("footer_menu"); 2042 1986 if (footer_menu) { 2043 1987 footer_menu.style.display = 'none'; … … 2054 1998 ///////////////////////////////////////////////////////////////////////////////////////////////////////// 2055 1999 //ConstructMenuNewMessage(ID); 2056 //////////////////////////////////////////////////////////////////////////////////////////////////////// 2000 //////////////////////////////////////////////////////////////////////////////////////////////////////// 2057 2001 var content = Element('content_id_' + ID); 2058 2002 var table_message = document.createElement("TABLE"); … … 2063 2007 var td0 = document.createElement("TD"); 2064 2008 td0.colSpan = '3'; 2065 2009 2066 2010 var table_menu_new_message = document.createElement("TABLE"); 2067 2011 table_menu_new_message.width = "100%"; … … 2072 2016 var td_menu_new_message = document.createElement("TD"); 2073 2017 td_menu_new_message.setAttribute("noWrap","true"); 2074 2018 2075 2019 if ((preferences.save_in_folder == '-1') || (preferences.save_in_folder == '')){ 2076 2020 //var option_send = '<span class="message_options" onclick=send_message("'+ID+'","null","null");>'+get_lang("Send")+'</span> | '; … … 2097 2041 } 2098 2042 td_menu_new_message.innerHTML = option_send + option_send_and_file + option_save + option_search; 2099 2043 2100 2044 tr_menu_new_message.appendChild(td_menu_new_message); 2101 2045 tbody_menu_new_message.appendChild(tr_menu_new_message); 2102 2046 table_menu_new_message.appendChild(tbody_menu_new_message); 2103 2047 2104 2048 content.appendChild(table_menu_new_message); 2105 2049 tr0.appendChild(td0); … … 2112 2056 td1_1.setAttribute("noWrap","true"); 2113 2057 td1_1.style.width = "1%"; 2114 2058 2115 2059 var td_from = document.createElement("TD"); 2116 2060 td_from.setAttribute("noWrap","true"); 2117 2061 td_from.style.width = "100%"; 2118 2119 var sel_from = document.createElement('SELECT'); 2062 2063 var sel_from = document.createElement('SELECT'); 2120 2064 sel_from.id = "from_"+ID; 2121 2065 sel_from.name = "input_from"; 2122 2066 sel_from.style.width = "70%"; 2123 2067 sel_from.setAttribute("wrap","soft"); 2124 td_from.appendChild(sel_from); 2068 td_from.appendChild(sel_from); 2125 2069 tr1_1.appendChild(td1_1); 2126 2070 tr1_1.appendChild(td_from); 2127 tbody_message.appendChild(tr1_1); 2071 tbody_message.appendChild(tr1_1); 2128 2072 //////////////////////////////////////////////////////////////////////////////////////////////////////// 2129 2073 var tr1 = document.createElement("TR"); … … 2132 2076 td1.setAttribute("noWrap","true"); 2133 2077 td1.style.width = "1%"; 2134 2078 2135 2079 var td_to = document.createElement("TD"); 2136 2080 td_to.setAttribute("noWrap","true"); 2137 2081 td_to.style.width = "100%"; 2138 2082 2139 2083 var input_to = document.createElement('TEXTAREA'); 2140 2084 input_to.id = "to_"+ID; 2141 2085 input_to.name = "input_to"; 2142 input_to.setAttribute("tabIndex","1"); 2086 input_to.setAttribute("tabIndex","1"); 2143 2087 input_to.style.width = "100%"; 2144 2088 input_to.setAttribute("wrap","soft"); … … 2149 2093 input_to.rows = 2; 2150 2094 input_to.onkeypress = function (e) 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2095 { 2096 if ((e.keyCode) == 120) //F9 2097 { 2098 emQuickSearch(input_to.value, 'to', ID); 2099 } 2100 else 2101 { 2102 if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden')) 2103 { 2104 e.preventDefault(); 2105 search_contacts(e.keyCode,this.id); 2106 } 2107 } 2108 } 2109 input_to.onkeyup = function (e) 2110 { 2111 if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40)) 2112 { 2113 search_contacts(e.keyCode,this.id); 2114 } 2115 } 2172 2116 } 2173 2117 else … … 2175 2119 input_to.rows = 3; 2176 2120 input_to.onkeyup = function (e) 2177 2178 2179 2180 2181 2182 else 2183 { 2184 2185 } 2186 2121 { 2122 if ((window.event.keyCode) == 120) //F9 2123 { 2124 emQuickSearch(input_to.value, 'to', ID); 2125 } 2126 else 2127 { 2128 search_contacts(window.event.keyCode,this.id); 2129 } 2130 } 2187 2131 } 2188 2132 td_to.appendChild(input_to); 2189 2133 2190 2134 var forwarded_local_message = document.createElement("INPUT"); //Hidden para indicar se é um forward de uma mensagem local 2191 2135 forwarded_local_message.id = "is_local_forward"+ID; … … 2194 2138 forwarded_local_message.value = "0"; 2195 2139 td_to.appendChild(forwarded_local_message); 2196 2140 2197 2141 if (!expresso_offline) { 2198 2142 var img_search = document.createElement("IMG"); … … 2204 2148 var img_search = document.createElement("SPAN"); 2205 2149 } 2206 2150 2207 2151 var span_search = document.createElement("SPAN"); 2208 2152 span_search.innerHTML = get_lang('Search'); 2209 2153 2210 2154 var td1_img_search = document.createElement("TD"); 2211 2155 td1_img_search.setAttribute("noWrap","true"); 2212 2156 var td1_span_search = document.createElement("TD"); 2213 td1_span_search.setAttribute("noWrap","true"); 2214 2157 td1_span_search.setAttribute("noWrap","true"); 2158 2215 2159 td1_img_search.appendChild(img_search); 2216 2160 td1_span_search.appendChild(span_search); 2217 2161 2218 2162 tr1.appendChild(td1); 2219 2163 tr1.appendChild(td_to); … … 2227 2171 var td2 = document.createElement("TD"); 2228 2172 td2.innerHTML = "Cc:"; 2229 td2.setAttribute("noWrap","true"); 2173 td2.setAttribute("noWrap","true"); 2230 2174 td2.style.width = "1%"; 2231 2175 2232 2176 var td_cc = document.createElement("TD"); 2233 2177 td_cc.setAttribute("noWrap","true"); 2234 2178 td_cc.style.width = "100%"; 2235 2179 2236 2180 var input_cc = document.createElement('TEXTAREA'); 2237 2181 input_cc.id = "cc_"+ID; … … 2241 2185 input_cc.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus',this.id);}; 2242 2186 input_cc.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);}; 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2187 if (!is_ie) 2188 { 2189 input_cc.rows = 2; 2190 input_cc.onkeypress = function (e) 2191 { 2192 if ((e.keyCode) == 120) //F9 2193 { 2194 emQuickSearch(input_cc.value, 'cc', ID); 2195 } 2196 else 2197 { 2198 if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden')) 2199 { 2200 e.preventDefault(); 2201 search_contacts(e.keyCode,this.id); 2202 } 2203 } 2204 } 2205 input_cc.onkeyup = function (e) 2206 { 2207 if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40)) 2208 { 2209 search_contacts(e.keyCode,this.id); 2210 } 2211 } 2212 } 2213 else if (is_ie) 2214 { 2215 input_cc.rows = 3; 2216 input_cc.onkeyup = function (e) 2217 { 2218 if ((window.event.keyCode) == 120) //F9 2219 { 2220 emQuickSearch(input_cc.value, 'cc', ID); 2221 } 2222 else 2223 { 2224 search_contacts(window.event.keyCode,this.id); 2225 } 2226 } 2227 } 2228 2285 2229 td_cc.appendChild(input_cc); 2286 2230 var img_search = document.createElement("IMG"); … … 2290 2234 var span_search = document.createElement("SPAN"); 2291 2235 span_search.innerHTML = get_lang('Search'); 2292 2236 2293 2237 var td2_img_search = document.createElement("TD"); 2294 2238 td2_img_search.setAttribute("noWrap","true"); 2295 2239 var td2_span_search = document.createElement("TD"); 2296 td2_span_search.setAttribute("noWrap","true"); 2297 2240 td2_span_search.setAttribute("noWrap","true"); 2241 2298 2242 td2_img_search.appendChild(img_search); 2299 2243 td2_span_search.appendChild(span_search); 2300 2244 2301 2245 tr2.appendChild(td2); 2302 2246 tr2.appendChild(td_cc); … … 2311 2255 td3.innerHTML = get_lang("CCo")+":"; 2312 2256 td3.style.width = "1%"; 2313 2257 2314 2258 var td_cco = document.createElement("TD"); 2315 2259 td_cco.setAttribute("noWrap","true"); 2316 2260 td_cco.style.width = "100%"; 2317 2261 2318 2262 var input_cco = document.createElement('TEXTAREA'); 2319 2263 input_cco.id = "cco_"+ID; … … 2323 2267 input_cco.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus',this.id);}; 2324 2268 input_cco.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);}; 2325 2269 2326 2270 if (!is_ie) 2327 2328 2329 2330 2331 2332 2333 2334 2335 else 2336 { 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 else 2362 { 2363 2364 } 2365 2366 2367 2271 { 2272 input_cco.rows = 2; 2273 input_cco.onkeypress = function (e) 2274 { 2275 if ((e.keyCode) == 120) //F9 2276 { 2277 emQuickSearch(input_cco.value, 'cco', ID); 2278 } 2279 else 2280 { 2281 if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden')) 2282 { 2283 e.preventDefault(); 2284 search_contacts(e.keyCode,this.id); 2285 } 2286 } 2287 } 2288 input_cco.onkeyup = function (e) 2289 { 2290 if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40)) 2291 { 2292 search_contacts(e.keyCode,this.id); 2293 } 2294 } 2295 } 2296 else if (is_ie) 2297 { 2298 input_cco.rows = 3; 2299 input_cco.onkeyup = function (e) 2300 { 2301 if ((window.event.keyCode) == 120) //F9 2302 { 2303 emQuickSearch(input_cco.value, 'cco', ID); 2304 } 2305 else 2306 { 2307 search_contacts(window.event.keyCode,this.id); 2308 } 2309 } 2310 } 2311 2368 2312 td_cco.appendChild(input_cco); 2369 2313 var img_search = document.createElement("IMG"); 2370 2314 img_search.src = "./templates/"+template+"/images/search.gif"; 2371 img_search.title = get_lang('Search') + " | " + get_lang('Use F9 Key as shortcut.'); 2315 img_search.title = get_lang('Search') + " | " + get_lang('Use F9 Key as shortcut.'); 2372 2316 img_search.onclick = function () {emQuickSearch(document.getElementById('cco_'+ID).value, 'cco', ID);}; 2373 2317 var span_search = document.createElement("SPAN"); … … 2377 2321 td3_img_search.setAttribute("noWrap","true"); 2378 2322 var td3_span_search = document.createElement("TD"); 2379 td3_span_search.setAttribute("noWrap","true"); 2380 2323 td3_span_search.setAttribute("noWrap","true"); 2324 2381 2325 td3_img_search.appendChild(img_search); 2382 2326 td3_span_search.appendChild(span_search); 2383 2327 2384 2328 tr3.appendChild(td3); 2385 2329 tr3.appendChild(td_cco); 2386 tr3.appendChild(td3_img_search); 2330 tr3.appendChild(td3_img_search); 2387 2331 tbody_message.appendChild(tr3); 2388 2332 ////////////////////////////////////////////////////////////////////////////////////////////////////// 2389 2333 var tr_link = document.createElement("TR"); 2390 tr_link.id = "tr_link_"+ID; 2334 tr_link.id = "tr_link_"+ID; 2391 2335 var td1_link = document.createElement("TD"); 2392 2336 var td2_link = document.createElement("TD"); … … 2398 2342 a_cc_link.setAttribute("tabIndex","-1"); 2399 2343 a_cc_link.onclick = function () {this.style.display='none';document.getElementById('tr_cc_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';input_cc.focus(); return false;} 2400 td2_link.appendChild(a_cc_link); 2344 td2_link.appendChild(a_cc_link); 2401 2345 var space = document.createElement("span"); 2402 2346 space.id ="space_link_"+ID; … … 2409 2353 a_cco_link.setAttribute("tabIndex","-1"); 2410 2354 a_cco_link.onclick = function () {this.style.display='none';document.getElementById('tr_cco_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';input_cco.focus(); return false;} 2411 td2_link.appendChild(a_cco_link); 2355 td2_link.appendChild(a_cco_link); 2412 2356 tr_link.appendChild(td1_link); 2413 2357 tr_link.appendChild(td2_link); … … 2416 2360 var tr4 = document.createElement("TR"); 2417 2361 var td4 = document.createElement("TD"); 2418 //td4.setAttribute("noWrap","true"); 2362 //td4.setAttribute("noWrap","true"); 2419 2363 td4.innerHTML = get_lang("Subject")+":"; 2420 2364 var td_subject = document.createElement("TD"); … … 2429 2373 tr4.appendChild(td_subject); 2430 2374 tbody_message.appendChild(tr4); 2431 ////////////////////////////////////////////////////////////////////////////////////////////////////// 2375 ////////////////////////////////////////////////////////////////////////////////////////////////////// 2432 2376 var tr5 = document.createElement("TR"); 2433 2377 var td5 = document.createElement("TD"); … … 2436 2380 td_return_receipt.setAttribute("noWrap","true"); 2437 2381 td_return_receipt.innerHTML = get_lang("Return receipt")+":"; 2438 2439 2440 2441 2442 2443 2444 2445 2446 2382 if (is_ie) 2383 { 2384 var input_return_receipt = document.createElement('input name=input_return_receipt'); 2385 } 2386 else 2387 { 2388 var input_return_receipt = document.createElement('input'); 2389 input_return_receipt.name = "input_return_receipt"; 2390 } 2447 2391 input_return_receipt.type = "checkbox"; 2448 2392 input_return_receipt.className = "checkbox"; … … 2451 2395 td_return_receipt.appendChild(input_return_receipt); 2452 2396 2453 2454 2397 // Workaround para resolver problema ao enviar e-mails 2398 if((preferences.use_assinar_criptografar != '0')) 2455 2399 { 2456 2400 if(parseInt(preferences.use_signature_digital_cripto)==1) 2457 2401 { 2458 2402 td_return_receipt.innerHTML += " " + get_lang("Digitally sign message?")+""; 2459 2403 2460 2461 2462 2463 2464 2465 2404 if (is_ie) 2405 { 2406 var input_return_digital = document.createElement('input name=input_return_digital'); 2407 } 2408 else 2409 { 2466 2410 var input_return_digital = document.createElement('input'); 2467 2468 2411 input_return_digital.name = "input_return_digital"; 2412 } 2469 2413 2470 2414 input_return_digital.type = "checkbox"; … … 2472 2416 input_return_digital.id = "return_digital_"+ID; 2473 2417 input_return_digital.setAttribute("tabIndex","-1"); 2474 2418 if(parseInt(preferences.use_signature_digital)==1) 2475 2419 { 2476 2420 input_return_digital.defaultChecked=true; … … 2479 2423 td_return_receipt.innerHTML += " " + get_lang("Digitally crypt message?")+""; 2480 2424 2481 2482 2483 2484 2485 2486 2425 if (is_ie) 2426 { 2427 var input_return_cripto = document.createElement('input name=input_return_cripto'); 2428 } 2429 else 2430 { 2487 2431 var input_return_cripto = document.createElement('input'); 2488 2489 2432 input_return_cripto.name = "input_return_cripto"; 2433 } 2490 2434 2491 2435 input_return_cripto.type = "checkbox"; … … 2495 2439 input_return_cripto.defaultChecked=false; 2496 2440 2497 2441 if(parseInt(preferences.use_signature_cripto)==1) 2498 2442 { 2499 2443 input_return_cripto.defaultChecked=true; … … 2502 2446 td_return_receipt.appendChild(input_return_cripto); 2503 2447 } 2504 2448 td_return_receipt.innerHTML += ""; 2505 2449 } 2506 2450 … … 2522 2466 input_important_message.name = "input_important_message"; 2523 2467 input_important_message.setAttribute("tabIndex","-1"); 2524 td_important_msg.appendChild(input_important_message); 2468 td_important_msg.appendChild(input_important_message); 2525 2469 trn.appendChild(tdn); 2526 2470 trn.appendChild(td_important_msg); … … 2537 2481 var tr5 = document.createElement("TR"); 2538 2482 var td5_link = document.createElement("TD"); 2539 var td5_input = document.createElement("TD"); 2483 var td5_input = document.createElement("TD"); 2540 2484 td5_input.innerHTML = " " 2541 2485 td5_link.setAttribute("valign","top"); … … 2550 2494 tr6.appendChild(td6_link); 2551 2495 td6_input.appendChild(divfiles); 2552 tr6.appendChild(td6_input); 2496 tr6.appendChild(td6_input); 2553 2497 tbody_message.appendChild(tr6); 2554 2498 ////////////////////////////////////////////////////////////////////////////////////////////////////// 2555 2499 var tr5 = document.createElement("TR"); 2556 var td5 = document.createElement("TD"); 2500 var td5 = document.createElement("TD"); 2557 2501 td5.innerHTML = " "; 2558 2502 var td_body = document.createElement("TD"); … … 2567 2511 _div.id = "div_message_scroll_"+ID; 2568 2512 _div.style.overflow = "auto"; 2569 _div.style.width = "100%"; 2513 _div.style.width = "100%"; 2570 2514 2571 2515 // Hide the contac tips and re-position the pallete color. … … 2586 2530 if(!expresso_offline) 2587 2531 draw_from_field(sel_from,tr1_1); 2588 resizeWindow(); 2532 resizeWindow(); 2589 2533 return ID; 2590 2534 } … … 2596 2540 var el_shared_users = Element("el_shared_users"); 2597 2541 // The element was loaded and populated...so return. 2598 if(el_shared_users){ 2542 if(el_shared_users){ 2599 2543 // Nothing to work...so return. 2600 2544 if(el_shared_users.options.length == 0) … … 2613 2557 for(var i = 0; i < folders.length; i++) { 2614 2558 var x = folders[i].folder_id; 2615 2616 2617 2618 2619 2620 2621 2559 if (folders[i].folder_parent == 'user'){ 2560 sharedFolders[sharedFolders.length] = x; 2561 } 2562 } 2563 2564 var matchUser = '#'; 2565 var sharedUsers = new Array(); 2622 2566 // Filter the shared folders (only root folders) ..... 2623 2567 for(var i = 0; i < sharedFolders.length; i++) { 2624 2568 if(!sharedFolders[i].match(matchUser)) { 2625 2569 matchUser = sharedFolders[i]; 2626 2570 sharedUsers[sharedUsers.length] = matchUser.substring(("user"+cyrus_delimiter).length,matchUser.length); 2627 2628 2571 } 2572 } 2629 2573 2630 2574 // Handler function for cExecute … … 2636 2580 _option.value = data.myname+";"+Element("user_email").value; 2637 2581 sel_from.options[sel_from.options.length] = _option; 2638 2582 2639 2583 var options = ''; 2640 2584 for (var x = 0; x < data.length; x++) { … … 2667 2611 // Set first TR Class 2668 2612 var _className = 'tr_msg_read2'; 2669 for(var i = 0; i < box.length;i++){ 2613 for(var i = 0; i < box.length;i++){ 2670 2614 if(exist_className(box[i],_className)) 2671 2615 remove_className(box[i], _className); … … 2686 2630 2687 2631 all_messages = actual_tr.parentNode.childNodes; 2688 2632 2689 2633 for (var i=0; i < all_messages.length; i++) 2690 2634 { … … 2694 2638 last_order = i; 2695 2639 } 2696 2640 2697 2641 if (parseInt(first_order) > parseInt(last_order)) 2698 2642 changeBgColorToON(all_messages, last_order, first_order); … … 2715 2659 var div = document.getElementById(id); 2716 2660 if(!q_limit){ 2717 2661 div.innerHTML = '<span><font size="2" style="color:red"><strong>'+get_lang("Without Quota")+'</strong></font></span>'; 2718 2662 } 2719 2663 else{ … … 2725 2669 if(table) 2726 2670 table.parentNode.removeChild(table); 2727 table = document.createElement("TABLE"); 2728 tbody = document.createElement("TBODY"); 2671 table = document.createElement("TABLE"); 2672 tbody = document.createElement("TBODY"); 2729 2673 table.appendChild(tbody); 2730 2674 table.id = "table_quota"; … … 2733 2677 table.cellSpacing = 0; 2734 2678 table.cellPadding = 0; 2735 2679 2736 2680 //tr1 = document.createElement("TR"); 2737 2681 td11 = document.createElement("TD"); … … 2740 2684 td11.innerHTML += ' <span class="boxHeaderText">' + value+"% ("+q_used+"M/"+q_limit+"M)</span>"; 2741 2685 //tr1.appendChild(td11); 2742 2686 2743 2687 tr2 = document.createElement("TR"); 2744 2688 td21 = document.createElement("TD"); 2745 2689 td21.setAttribute("noWrap","true"); 2746 2690 td21.height="15"; 2747 td22 = document.createElement("TD"); 2691 td22 = document.createElement("TD"); 2748 2692 td21.setAttribute("background","../phpgwapi/templates/"+template+"/images/dsunused.gif"); 2749 2693 table221 = document.createElement("TABLE"); 2750 2694 tbody221 = document.createElement("TBODY"); 2751 2695 table221.appendChild(tbody221); 2752 table221.style.width=value+"%"; 2696 table221.style.width=value+"%"; 2753 2697 td21.width="102"; 2754 2698 table221.border="0"; … … 2769 2713 else 2770 2714 td221.className = 'dsused'; 2771 2715 2772 2716 tr221.appendChild(td221); 2773 2717 tbody221.appendChild(tr221); 2774 td21.appendChild(table221); 2718 td21.appendChild(table221); 2775 2719 tr2.appendChild(td21); 2776 2720 tr2.appendChild(td11); … … 2840 2784 } 2841 2785 }; 2842 2786 2843 2787 td_element1.appendChild(chk_box_element); 2844 2788 td_element2 = document.createElement("TD"); … … 2853 2797 td_element4.id = "message_header_SORTSUBJECT"; 2854 2798 td_element4.align = "left"; 2855 td_element4.innerHTML = get_lang("Subject"); 2799 td_element4.innerHTML = get_lang("Subject"); 2856 2800 td_element5 = document.createElement("TD"); 2857 2801 td_element5.setAttribute("width", "10%"); 2858 2802 td_element5.id = "message_header_SORTARRIVAL"; 2859 2803 td_element5.align = "center"; 2860 td_element5.innerHTML = "<B>"+get_lang("Date")+"</B>"; 2804 td_element5.innerHTML = "<B>"+get_lang("Date")+"</B>"; 2861 2805 td_element5.innerHTML += "<img src ='templates/"+template+"/images/arrow_descendant.gif'>"; 2862 2806 td_element6 = document.createElement("TD"); … … 2871 2815 tr_element.appendChild(td_element5); 2872 2816 tr_element.appendChild(td_element6); 2873 2817 2874 2818 tbody_element.appendChild(tr_element); 2875 2819 table_element.appendChild(tbody_element); … … 2886 2830 var action_info_table = document.createElement("TABLE"); 2887 2831 var action_info_tbody = document.createElement("TBODY"); 2888 2832 2889 2833 action_info_table.className = "action_info_table"; 2890 2834 action_info_table.width = "100%"; 2891 2835 2892 2836 var action_info_tr = document.createElement("TR"); 2893 2837 2894 2838 var action_info_th1 = document.createElement("TH"); 2895 2839 action_info_th1.width = "40%"; … … 2897 2841 2898 2842 var action_info_th2 = document.createElement("TH"); 2899 2843 2900 2844 action_info_th2.innerHTML = msg; 2901 2845 action_info_th2.className = "action_info_th"; 2902 2846 action_info_th2.setAttribute("noWrap", "true"); 2903 2847 2904 2848 var action_info_th3 = document.createElement("TH"); 2905 2849 action_info_th3.width = "40%"; 2906 2850 action_info_th3.innerHTML = " "; 2907 2851 2908 2852 action_info_tr.appendChild(action_info_th1); 2909 2853 action_info_tr.appendChild(action_info_th2); … … 2949 2893 if (is_ie) 2950 2894 table.style.cursor = "hand"; 2951 2895 2952 2896 table.appendChild(tbody); 2953 2897 content_id_0.appendChild(table); … … 2959 2903 2960 2904 var array_addrs = ''; 2961 var array_name = ''; 2905 var array_name = ''; 2962 2906 var cc_data = new Array(); 2963 if(typeof(addrs.name) != 'undefined') { 2907 if(typeof(addrs.name) != 'undefined') { 2964 2908 array_name = LTrim(addrs.name).split(" "); 2965 array_addrs = new Array(addrs.email); 2909 array_addrs = new Array(addrs.email); 2966 2910 } 2967 2911 else { 2968 2912 array_addrs = (typeof addrs == 'object' ? addrs.toString().split("\" ") : addrs.split("\" ")); 2969 array_name = LTrim(array_addrs[0]).replace('"','').split(" "); 2913 array_name = LTrim(array_addrs[0]).replace('"','').split(" "); 2970 2914 } 2971 2915 … … 2976 2920 2977 2921 for (i=1; i < array_name.length; i++) 2978 cc_data[2] += array_name[i] + " "; 2979 2980 2981 if(array_addrs.length > 1) 2982 cc_data[3] = array_addrs[1] ? array_addrs[1].replace("<",'').replace(">",'') : ''; 2922 cc_data[2] += array_name[i] + " "; 2923 2924 2925 if(array_addrs.length > 1) 2926 cc_data[3] = array_addrs[1] ? array_addrs[1].replace("<",'').replace(">",'') : ''; 2983 2927 else 2984 2928 cc_data[3] = array_addrs[0]; 2985 2929 2986 2930 var sm_envelope_img1 = '<img style="cursor:'+ (is_ie ? 'hand' : 'pointer') +'" title="' + get_lang("Add Contact") + 2987 2931 '" onclick="ccQuickAddOne.showList(\''+cc_data+'\')" src="./templates/'+template+'/images/user_card.png">'; … … 3000 2944 dn_em.onclick = function(){filter_rules.new_rule(email);}; 3001 2945 dn_em.setAttribute("title",get_lang("Block Sender")); 3002 dn_em.style.cursor = "pointer"; 2946 dn_em.style.cursor = "pointer"; 3003 2947 dn_em.innerHTML = "<img align='top' onclick=filter.new_rule('"+email+"') src='./templates/"+template+"/images/deny.gif'>"; 3004 2948 return dn_em; 3005 2949 3006 2950 } 3007 2951 function show_div_address_full(id, type) { … … 3009 2953 if(!div_address_full) { 3010 2954 div_address_full = document.createElement("SPAN"); 3011 div_address_full.id = "div_"+type+"address_full_"+id; 3012 div_address_full.style.display="none"; 2955 div_address_full.id = "div_"+type+"address_full_"+id; 2956 div_address_full.style.display="none"; 3013 2957 var _address = eval(type+"address_array['"+id+"']"); 3014 2958 var isOverLimit = (_address.length > 100); 3015 2959 3016 2960 if(isOverLimit) { 3017 2961 alert("Esse campo possui muitos endereços ("+_address.length+" destinatários).\r\n"+ … … 3021 2965 for(var idx = 1 ; idx < _address.length;idx++) { 3022 2966 div_address_full.innerHTML += isOverLimit ? '<br>'+_address[idx] : ','+draw_plugin_cc(id,_address[idx]); 3023 } 2967 } 3024 2968 div_address_full.innerHTML += " (<a STYLE='color: RED;' onclick=document.getElementById('div_"+type+"address_full_"+id+"').style.display='none';document.getElementById('div_"+type+"address_"+id+"').style.display='';>"+get_lang('less')+"</a>)"; 3025 2969 Element(type+"_"+id).appendChild(div_address_full); … … 3030 2974 function draw_footer_box(num_msgs){ 3031 2975 folder = get_current_folder(); 3032 var span_R = Element("table_message"); 3033 var span_options = Element("span_options"); 2976 var span_R = Element("table_message"); 2977 var span_options = Element("span_options"); 3034 2978 if(!span_options) { 3035 span_options = document.createElement("TD"); 2979 span_options = document.createElement("TD"); 3036 2980 span_options.style.fontSize = "12"; 3037 2981 span_options.id = "span_options"; … … 3049 2993 ((expresso_offline)?" ":'<span class="message_options_print"><span ' + change_font_color + ' title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span></span>')+ 3050 2994 // '<span class="message_options_print"><span ' + change_font_color + ' title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span></span>'+ 3051 2995 ((expresso_offline)?" ":'<span class="message_options_export"><span ' + change_font_color + ' title="'+get_lang("Export")+'" class="message_options" onclick="proxy_mensagens.export_all_messages()">'+get_lang("Export")+'</span></span>') + 3052 2996 ((expresso_offline)?" ":'<span class="message_options_import"><span ' + change_font_color + ' title="'+get_lang("Import")+'" class="message_options" onclick="import_window()">'+get_lang("Import")+'</span></span>'); 3053 2997 if(preferences.use_local_messages==1 && !expresso_offline) 3054 2998 if(proxy_mensagens.is_local_folder(current_folder)) 3055 2999 span_options.innerHTML += ' <span title="'+get_lang("Unarchive")+'" class="message_options" onclick="expresso_local_messages.unarchive_msgs(\''+folder+'\',null)">'+get_lang("Unarchive")+'</span>'; … … 3064 3008 } 3065 3009 } 3066 var span_D = Element("span_D"); 3010 var span_D = Element("span_D"); 3067 3011 if(!span_D){ 3068 span_D = document.createElement("TD"); 3012 span_D = document.createElement("TD"); 3069 3013 span_D.align = "right"; 3070 3014 span_D.style.fontSize = "12"; … … 3072 3016 span_R.appendChild(span_D); 3073 3017 } 3074 span_D.innerHTML = 3018 span_D.innerHTML = 3075 3019 get_lang("List")+': '+ 3076 3020 '<span ' + change_font_color + ' id="span_flag_SORTARRIVAL" class="'+(search_box_type == 'ALL' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("All")+'" onclick="if(\'ALL\' == \''+search_box_type+'\') return false;sort_box(\'ALL\',\''+sort_box_type+'\')">'+get_lang("All")+'</span>, '+ … … 3080 3024 '<span ' + change_font_color + ' id="span_flag_FLAGGED" class="'+(search_box_type == 'FLAGGED' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("l_important")+'" onclick="if(\'FLAGGED\' == \''+search_box_type+'\') return false;sort_box(\'FLAGGED\',\''+sort_box_type+'\')">'+get_lang("l_important")+'</span> '; 3081 3025 draw_paging(num_msgs); 3082 Element("tot_m").innerHTML = num_msgs; 3083 } 3026 Element("tot_m").innerHTML = num_msgs; 3027 } -
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.