Changeset 5172 for trunk/expressoMail1_2/js/main.js
- Timestamp:
- 11/11/11 16:42:49 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/js/main.js
r5158 r5172 603 603 604 604 605 function move_search_msgs(border_id, new_folder, new_folder_name){606 605 607 if( preferences.use_local_messages == 1 && expresso_local_messages.isArchiving( msgs_number, folder ) ){ 606 function move_search_msgs(border_id, new_folder, new_folder_name, action){ 607 608 var msg_to_delete = ""; 609 var msg_to_move = ""; 610 var selected_messages = ''; 611 var temp_msg; 612 var remove_currente_folder = ""; 613 var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 614 615 var delete_msg = false; 616 617 if(new_folder_name == special_folders['Trash']){ 618 delete_msg = true; 619 } 620 selected_messages = get_selected_messages_search(); 621 622 if( preferences.use_local_messages == 1 && expresso_local_messages.isArchiving( selected_messages, folder ) ){ 608 623 alert( "Impossivel mover mensagens que estão ainda estão sendo arquivadas." ); 609 624 return; 610 625 } 611 612 var selected_messages = '';613 var temp_msg;614 var main_list = Element("tbody_box_"+getNumBoxFromTabId(currentTab)).childNodes;615 for (j = 0; j < main_list.length; j++) {616 var check_box = main_list[j].firstChild.firstChild;617 if(check_box && check_box.checked) {618 if (proxy_mensagens.is_local_folder(main_list[j].getAttribute('name'))) {619 alert(get_lang("You cant manipulate local messages on search"));620 return;621 }622 selected_messages += main_list[j].id + ',';623 }624 }625 selected_messages = selected_messages.substring(0,(selected_messages.length-1));626 626 var handler_move_search_msgs = function(data){ 627 627 if(!data || !data.msgs_number) 628 628 return; 629 629 else if(data.deleted) { 630 if (data.msgs_number.length == 1) 630 if(data.no_move && data.move) 631 alert(get_lang("Unable to remove the message (s) of shared folders which you do not have permission.")); 632 else if (data.msgs_number.length == 1) 631 633 write_msg(get_lang("The message was deleted.")); 632 634 else 633 635 write_msg(get_lang("The messages were deleted.")); 634 } 635 else{ 636 }else if(data.status == false && data.move ){ 637 alert(get_lang("Unable to remove the message (s) of shared folders which you do not have permission.")); 638 }else if(data.status == false){ 639 alert(get_lang("You don't have permission for this operation in this shared folder!")); 640 return false; 641 }else{ 636 642 if (data.msgs_number.length == 1) 637 643 write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); … … 640 646 } 641 647 648 if(data.no_move){ 649 var no_remove = data.no_move.split(','); 650 var continua = true; 651 642 652 selected_messages = selected_messages.split(","); 643 653 for (i = 0; i < selected_messages.length; i++){ 644 removeAll(selected_messages[i]); 645 } 654 for(j = 0; j < no_remove.length; j++) 655 if(selected_messages[i] == no_remove[j]) 656 continua = false; 657 if(continua) 658 removeAll(selected_messages[i]+'_s'+id_border); 659 continua = true; 660 } 661 }else{ 662 selected_messages = selected_messages.split(","); 663 for (i = 0; i < selected_messages.length; i++){ 664 removeAll(selected_messages[i]+'_s'+id_border); 665 666 } 667 } 668 646 669 // Update Box BgColor 647 670 var box = Element("tbody_box_"+getNumBoxFromTabId(currentTab)).childNodes; 648 if( main_list.length > 1){671 if(box.length > 1){ 649 672 updateBoxBgColor(box); 650 673 } 651 674 connector.purgeCache(); 652 675 676 677 if(remove_currente_folder != ""){ 678 var mail_msg = Element('tbody_box').childNodes; 679 remove_currente_folder = remove_currente_folder.substring(0,(remove_currente_folder.length-1)); 680 remove_currente_folder = remove_currente_folder.split(","); 681 for(i = 0; i < remove_currente_folder.length; i++) 682 removeAll(remove_currente_folder[i]); 683 684 // Update Box BgColor 685 var box = Element("tbody_box"); 686 if(box.childNodes.length > 0){ 687 updateBoxBgColor(box.childNodes); 688 } 689 if(folder == get_current_folder()){ 690 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) - remove_currente_folder.length; 691 } 692 } 693 694 draw_tree_folders(); 653 695 EsearchE.refresh(); 654 696 } … … 660 702 selected_msg_array = selected_messages.split(","); 661 703 for (i = 0; i < selected_msg_array.length; i++){ 662 var tr = Element(selected_msg_array[i]); 663 if (tr.getAttribute('name') == new_folder) 704 var tr = Element(selected_msg_array[i]+'_s'+id_border); 705 if(tr.getAttribute('name') == current_folder) 706 remove_currente_folder += tr.id.replace(/_[a-zA-Z0-9]+/,"")+','; 707 if ((action == 'delete' && tr.getAttribute('name') == 'INBOX'+cyrus_delimiter+special_folders['Trash']) || !(parseInt(preferences.save_deleted_msg))) 664 708 { 709 msg_to_delete += ','+special_folders['Trash']+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 710 } 711 else if (!(tr.getAttribute('name') == new_folder && action != 'delete')) 712 { 713 msg_to_move = (tr.getAttribute('name') == null?get_current_folder():tr.getAttribute('name')); 714 selected_param += ','+msg_to_move+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 715 }else{ 665 716 write_msg(get_lang('At least one message have the same origin')); 666 717 return false; 667 718 } 668 trfolder = (tr.getAttribute('name') == null?get_current_folder():tr.getAttribute('name'));669 selected_param += ','+trfolder+';'+tr.id.replace(/_[a-zA-Z0-9]+/,"");670 719 } 671 720 } 672 721 else 673 722 { 674 var tr=Element(selected_messages); 675 if (tr.getAttribute('name') == new_folder) 676 { 723 var tr=Element(selected_messages+'_s'+id_border); 724 if(tr.getAttribute('name') == current_folder) 725 remove_currente_folder += tr.id.replace(/_[a-zA-Z0-9]+/,"")+','; 726 if((action == 'delete' && tr.getAttribute('name') == 'INBOX'+cyrus_delimiter+special_folders['Trash']) || !(parseInt(preferences.save_deleted_msg))){ 727 msg_to_delete = special_folders['Trash']+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 728 }else if (!(tr.getAttribute('name') == new_folder && action != 'delete')){ 729 trfolder = (tr.getAttribute('name') == null?get_current_folder():tr.getAttribute('name')); 730 selected_param=trfolder+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 731 }else{ 677 732 write_msg(get_lang('The origin folder and the destination folder are the same.')); 678 733 return false; 679 734 } 680 trfolder = (tr.getAttribute('name') == null?get_current_folder():tr.getAttribute('name'));681 selected_param=trfolder+';'+tr.id.replace(/_[a-zA-Z0-9]+/,"");682 735 } 683 736 var params = ""; 684 if (!new_folder && parseInt(preferences.save_deleted_msg)){ 737 if(msg_to_delete != "" && msg_to_move != ""){ 738 params += "&selected_messages_move="+url_encode(selected_param); 739 params += "&new_folder_move="+url_encode(new_folder); 740 params += "&new_folder_name_move="+url_encode(new_folder_name); 741 685 742 new_folder = 'INBOX'+cyrus_delimiter+trashfolder; 686 743 new_folder_name = trashfolder; 687 params = "&delete=true"; 688 } 689 690 params += "&selected_messages="+url_encode(selected_param); 691 if(new_folder && parseInt(preferences.save_deleted_msg)) { 744 params += "&selected_messages_delete="+url_encode(msg_to_delete); 745 params += "&new_folder_delete="+url_encode(new_folder); 746 cExecute ("$this.imap_functions.move_delete_search_messages", handler_move_search_msgs, params); 747 }else if(msg_to_delete != ""){ 748 new_folder = 'INBOX'+cyrus_delimiter+trashfolder; 749 new_folder_name = trashfolder; 750 params += "&delete=true"; 751 params += "&selected_messages="+url_encode(msg_to_delete); 752 params += "&new_folder="+url_encode(new_folder); 753 cExecute ("$this.imap_functions.move_search_messages", handler_move_search_msgs, params); 754 }else{ 755 params = "&selected_messages="+url_encode(selected_param); 756 params += "&delete=false"; 692 757 params += "&new_folder="+url_encode(new_folder); 693 758 params += "&new_folder_name="+url_encode(new_folder_name); 694 }695 759 cExecute ("$this.imap_functions.move_search_messages", handler_move_search_msgs, params); 760 } 696 761 } 697 762 else … … 902 967 } 903 968 969 function archive_search_msgs(folder_dest) { 970 971 var id_msgs = ""; 972 id_msgs = get_selected_messages_search(); 973 var msg_to_arquive = ""; 974 var messages = ""; 975 var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 976 977 if ( parseInt(id_msgs) <= 0 || id_msgs.length <= 0 ) 978 return write_msg(get_lang('No selected message.')); 979 980 if(folder_dest=='local_root' || folder_dest==null) //Caso seja o primeiro arquivamento... 981 folder_dest = 'local_Inbox'; 982 983 id_msgs = expresso_local_messages.checkArchived( id_msgs, folder_dest ); 984 985 if( !id_msgs ){ 986 write_msg( "Todas as mensagens já foram arquivadas anteriormente." ); 987 return; 988 } 989 990 document.getElementById("overlay").style.visibility = "visible"; 991 992 var handler_arquivar_mensagens = function(data) { 993 994 var msgs_info = []; 995 996 for( var i = 0; i < data.length; i++ ) 997 msgs_info[i] = connector.unserialize( data[i] ); 998 999 //vejo se já tinha mensagens locais 1000 var h = expresso_local_messages.has_local_mails(); 1001 1002 expresso_local_messages.insert_mails( msgs_info, folder_dest, function( s, f ){complete_archiving( s, f, h )} ); 1003 1004 document.getElementById("overlay").style.visibility = "hidden"; 1005 } 1006 1007 id_msgs = id_msgs.split(','); 1008 for (i = 0; i < id_msgs.length; i++){ 1009 var tr = Element(id_msgs[i]+'_s'+id_border); 1010 msg_to_arquive = (tr.getAttribute('name') == null?get_current_folder():tr.getAttribute('name')); 1011 messages += ','+msg_to_arquive+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 1012 } 1013 1014 cExecute( "$this.imap_functions.get_info_msgs&messages=" + messages+"&folder="+folder_dest , handler_arquivar_mensagens ); 1015 } 1016 1017 904 1018 function archive_msgs(folder,folder_dest,id_msgs) { 905 1019 if(proxy_mensagens.is_local_folder(folder)) { … … 912 1026 } 913 1027 914 if(!id_msgs) 1028 if(!id_msgs){ 1029 if (currentTab != 0 && currentTab.indexOf("search_") >= 0){ 1030 archive_search_msgs(folder_dest); 1031 return; 1032 }else 915 1033 id_msgs = get_selected_messages(); 1034 } 916 1035 917 1036 if ( parseInt(id_msgs) <= 0 || id_msgs.length <= 0 ) … … 1002 1121 update_menu(); 1003 1122 } 1123 1124 function action_msg_selected_from_search(aba, evento){ 1125 if(evento == "delete") 1126 move_search_msgs(aba,'INBOX/Trash', 'Trash', 'delete'); 1127 } 1128 1129 function get_all_messages_search(){ 1130 var aba = document.getElementById('content_id_'+currentTab); 1131 var messages = ""; 1132 jQuery(function() { 1133 jQuery("#"+aba.id+" tr").each(function(i, main_list) { 1134 messages += main_list.id.replace(/_[a-zA-Z0-9]+/,"") + ',' ; 1135 }); 1136 1137 }); 1138 if(messages.indexOf(',') == 0) 1139 messages = messages.substring(1,(messages.length)); 1140 return messages.substring(0,(messages.length-1)); 1141 } 1142 1143 function get_selected_messages_search(){ 1144 var aba = document.getElementById('content_id_'+currentTab); 1145 var selected_messages = ""; 1146 jQuery(function() { 1147 jQuery("#"+aba.id+" tr").each(function(i, main_list) { 1148 var check_box = main_list.firstChild.firstChild; 1149 if(check_box && check_box.checked) { 1150 selected_messages += main_list.id.replace(/_[a-zA-Z0-9]+/,"") + ',' ; 1151 }; 1152 }); 1153 1154 }); 1155 if (selected_messages != ""){ 1156 if(selected_messages.indexOf(',') == 0) 1157 selected_messages = selected_messages.substring(1,(selected_messages.length)); 1158 selected_messages = selected_messages.substring(0,(selected_messages.length-1)); 1159 return selected_messages; 1160 }else{ 1161 return false; 1162 } 1163 } 1164 1004 1165 1005 1166 function get_selected_messages(){ … … 1517 1678 } 1518 1679 } 1519 RichTextEditor.setInitData(new_border_ID,'<div><br type="_moz"></div>' + data.body); 1680 RichTextEditor.setInitData(new_border_ID, data.body, 'edit'); 1681 1520 1682 break; 1521 1683 default: … … 2404 2566 } 2405 2567 2568 function print_search_msg(){ 2569 var folder = "<h2> Resultado da Pesquisa <font color=\"#505050\" face=\"Verdana\" size=\"1\"></h2>"; 2570 msgs_number = get_selected_messages_search(); 2571 var tbody = Element('divScrollMain_'+numBox).firstChild.firstChild.innerHTML; 2572 var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 2573 2574 if(msgs_number){ 2575 msgs_number = msgs_number.split(","); 2576 var tbody = ""; 2577 for(var i = 0; i < msgs_number.length; i++){ 2578 tbody += "<tr id=\""+msgs_number[i]+"_s"+id_border+"\" class=\"tr_msg_unread tr_msg_read2\">"+ Element(msgs_number[i]+'_s'+id_border).innerHTML+"</tr>"; 2579 } 2580 }else{ 2581 msgs_number = get_all_messages_search(); 2582 msgs_number = msgs_number.split(","); 2583 var tbody = ""; 2584 for(var i = 0; i < msgs_number.length; i++){ 2585 tbody += "<tr id=\""+msgs_number[i]+"_s"+id_border+"\" class=\"tr_msg_unread tr_msg_read2\">"+ Element(msgs_number[i]+'_s'+id_border).innerHTML+"</tr>"; 2586 } 2587 } 2588 2589 2590 var print_width = screen.width - 200; 2591 var x = ((screen.width - print_width) / 2); 2592 var y = ((screen.height - 400) / 2) - 35; 2593 var window_print = window.open('','ExpressoMail','width='+print_width+',height=400,resizable=yes,scrollbars=yes,left='+x+',top='+y); 2594 seekDot = (is_ie ? /width=24/gi : /width="24"/gi); 2595 2596 var thead = "<tr class=\"message_header\"><td id=\"message_header_FOLDER_0\" class=\"th_resizable\" align=\"left\" width=\"20%\">Pasta</td><td id=\"message_header_SORTFROM_0\" class=\"th_resizable\" align=\"left\" width=\"20%\">De</td><td id=\"message_header_SORTSUBJECT_0\" class=\"th_resizable\" align=\"left\" width=\"*\">Assunto</td><td id=\"message_header_SORTARRIVAL_0\" class=\"th_resizable\" align=\"center\" width=\"11%\"><b>Data</b><img src=\"templates/default/images/arrow_descendant.gif\"></td><td id=\"message_header_SORTSIZE_0\" class=\"th_resizable\" align=\"left\" width=\"11%\">Tamanho</td></tr>"; 2597 tbody = tbody.replace(seekDot, "style='display:none'"); 2598 seekDot = (is_ie ? /width=16/gi : /width="16"/gi); 2599 2600 tbody = tbody.replace(seekDot, "style='display:none'"); 2601 seekDot = (is_ie ? /width=12/gi : /width="12"/gi); 2602 2603 tbody = tbody.replace(seekDot, "style='display:none'"); 2604 while (1){ 2605 try{ 2606 window_print.document.open(); 2607 var html = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html>' 2608 + '<head><link rel="stylesheet" type="text/css" href="templates/'+template+'/print.css"></head>' 2609 + cabecalho + '</h4><hr>' 2610 + '<h2>'+folder+'</h2><hr/><blockquote><font size="2">' 2611 + '<table width="100%" cellpadding="0" cellspacing="0">' 2612 + '<thead>' + thead + '</thead><tbody>' + tbody + '</tbody>' 2613 + '</table></font></blockquote></body></html>'; 2614 window_print.document.write(html); 2615 window_print.document.close(); 2616 break; 2617 } 2618 catch(e){ 2619 //alert(e.message); 2620 } 2621 } 2622 window_print.document.close(); 2623 window_print.print(); 2624 } 2625 2406 2626 function print_all(){ 2407 2627 if (openTab.type[currentTab] == 2) 2408 2628 return print_msg(current_folder,currentTab.substr(0,currentTab.indexOf("_r")),currentTab); 2409 2629 2630 if (currentTab != 0 && currentTab.indexOf("search_") >= 0){ 2631 return print_search_msg(); 2632 } 2633 2410 2634 var folder= Element('border_id_0').innerHTML; 2411 2635 //var thead = Element('divScrollHead_'+numBox).firstChild.firstChild.innerHTML; … … 2631 2855 return; 2632 2856 } 2633 var msgs_to_export = this.get_selected_messages(); 2634 2857 var search = false; 2858 var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 2859 2860 if(currentTab != 0 && currentTab.indexOf("search_") >= 0){ 2861 var msgs_to_export = this.get_selected_messages_search(); 2862 if (!msgs_to_export){ 2863 write_msg(get_lang('No selected message.')); 2864 return; 2865 } 2866 var selected_param = ""; 2867 msgs_to_export = msgs_to_export.split(","); 2868 search = true; 2869 for (i = 0; i < msgs_to_export.length; i++){ 2870 var tr = Element(msgs_to_export[i]+'_s'+id_border); 2871 msg_to_move = (tr.getAttribute('name') == null?get_current_folder():tr.getAttribute('name')); 2872 selected_param += ','+msg_to_move+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 2873 } 2874 }else{ 2875 var msgs_to_export = this.get_selected_messages(); 2876 } 2635 2877 var handler_export_all_selected_msgs = function(data){ 2636 2878 … … 2647 2889 } 2648 2890 2649 if (msgs_to_export) { 2891 if(search){ 2892 cExecute ("$this.exporteml.makeAll", handler_export_all_selected_msgs, "folder=false&msgs_to_export="+selected_param); 2893 }else if (msgs_to_export) { 2650 2894 cExecute ("$this.exporteml.makeAll", handler_export_all_selected_msgs, "folder="+get_current_folder()+"&msgs_to_export="+msgs_to_export); 2651 2895 write_msg(get_lang('You must wait while the messages will be exported...')); … … 2770 3014 if(currentTab.toString().indexOf("_r") != -1) 2771 3015 msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 2772 else if(msgs_number == 'selected') 3016 else if(currentTab != 0 && currentTab.indexOf("search_") >= 0){ 3017 var content_search = document.getElementById('content_id_'+currentTab); 'INBOX/Trash', 'Trash', 3018 move_search_msgs('content_id_'+currentTab, 'INBOX'+cyrus_delimiter+special_folders['Spam'], special_folders['Spam']); 3019 refresh(); 3020 return; 3021 }else if(msgs_number == 'selected') 2773 3022 msgs_number = get_selected_messages(); 2774 3023
Note: See TracChangeset
for help on using the changeset viewer.