- Timestamp:
- 02/14/13 16:20:44 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/2.5.1-expresso1/expressoMail1_2/js/mail_archiver.js
r7831 r7885 578 578 579 579 580 /** 581 *Unarchieve Message 582 * 583 *@author Cassiano Dal Pizzol [cassiano.dalpizzol@serpro.gov.br] 584 * 585 *@param folder Original Folder of the message 586 *@param new_folder The new folder of the message 587 *@param msgs_number id of the messages 588 */ 589 MailArchiver.prototype.unarchieve = function (folder, new_folder, msgs_number){ 580 581 582 583 584 585 586 587 588 MailArchiver.prototype.unarchieveToAttach = function (folder, new_folder, msgs_number){ 590 589 try{ 591 write_msg(get_lang("Starting to unarchive messages"));590 //write_msg(get_lang("Starting to unarchive messages")); 592 591 expresso_mail_archive.isArchiveOperation = true; 593 592 if(currentTab.toString().indexOf("_r") != -1){ … … 599 598 600 599 if (parseInt(msgs_number) > 0 || msgs_number.length > 0){ 600 601 601 expresso_mail_archive.message_list = new Array(); 602 expresso_mail_archive. CreateMessageList(msgs_number);602 expresso_mail_archive.message_list.push(msgs_number); 603 603 if((expresso_mail_archive.message_list.length > 0) && (expresso_mail_archive.message_list[0] != '')) { 604 605 expresso_mail_archive.unarchieveToAttachHandler(); 606 604 607 expresso_mail_archive.unarchivecounter = 0; 605 608 expresso_mail_archive.unarchive_error_counter=0; … … 608 611 (new_folder != null)?expresso_mail_archive.unarchievenewfolder = new_folder:expresso_mail_archive.unarchievenewfolder='INBOX'; 609 612 610 expresso_mail_archive.unarchieveHandler();613 611 614 612 615 if(currentTab.toString().indexOf("_r") != -1){ … … 635 638 * 636 639 **/ 637 MailArchiver.prototype.unarchieveHandler = function(){ 638 try{ 639 var email = mail_archive_protocol+'://'+mail_archive_host+':'+mail_archive_port+'/mail/' + expresso_mail_archive.session.id +'/'+ expresso_mail_archive.folder.path + '/'+ expresso_mail_archive.message_list[expresso_mail_archive.unarchivecounter] + '.eml'; 640 MailArchiver.prototype.unarchieveToAttachHandler = function(){ 641 642 try{ 643 var email = mail_archive_protocol+'://'+mail_archive_host+':'+mail_archive_port+'/mail/' + expresso_mail_archive.session.id +'/'+ expresso_mail_archive.folder.path + '/'+ expresso_mail_archive.message_list[0] + '.eml'; 640 644 641 645 //Creates a new object to unarchive messages. It's a CXF Add-on CORS component … … 713 717 714 718 var handler_unarchive = function(data){ 715 expresso_mail_archive.unarchieveController(data); 719 expresso_mail_archive.unarchieveToAttachController(data); 720 721 716 722 } 717 723 write_msg(get_lang('Unarchiving message %1 of %2', (expresso_mail_archive.unarchivecounter + 1), expresso_mail_archive.message_list.length)); 718 724 719 cExecute ("$this.imap_functions.unarchive_mail&", handler_unarchive, params); 725 //cExecute ("$this.imap_functions.unarchive_mail&", handler_unarchive, params); 726 727 $.ajax({ 728 url: "controller.php?action=$this.imap_functions.unarchive_mail", 729 data: params, 730 type: 'POST', 731 async: false, 732 success: function(data){ 733 handler_unarchive(connector.unserialize(data)); 734 }, 735 }); 736 737 } 738 739 UnarchiveReqHandler.handler.open("GET", email, true); 740 if(UnarchiveReqHandler.handler.overrideMimeType){ 741 UnarchiveReqHandler.handler.overrideMimeType("message/rfc822; charset=windows-1252"); 742 } 743 UnarchiveReqHandler.handler.send(); 744 } 745 catch(e){ 746 write_msg(get_lang('Unarchive error: ' + e)); 747 } 748 } 749 750 /** 751 * 752 *Unarchieve Message Controller 753 * 754 *@author Cassiano Dal Pizzol [cassiano.dalpizzol@serpro.gov.br] 755 * 756 **/ 757 MailArchiver.prototype.unarchieveToAttachController = function(data){ 758 expresso_mail_archive.unarchivecounter++; 759 760 if (data){ 761 if (data.error != "") { 762 expresso_mail_archive.unarchive_error_counter++; 763 } 764 765 if (data.archived && preferences.keep_archived_messages == "0") { 766 expresso_mail_archive.deleteMessages(data.archived[0]); 767 } 768 769 } 770 771 if (expresso_mail_archive.unarchivecounter < expresso_mail_archive.message_list.length){ 772 expresso_mail_archive.unarchieveHandler(); 773 } else { 774 expresso_mail_archive.message_list = new Array(); 775 expresso_mail_archive.isArchiveOperation = false; 776 } 777 } 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 /** 806 *Unarchieve Message 807 * 808 *@author Cassiano Dal Pizzol [cassiano.dalpizzol@serpro.gov.br] 809 * 810 *@param folder Original Folder of the message 811 *@param new_folder The new folder of the message 812 *@param msgs_number id of the messages 813 */ 814 MailArchiver.prototype.unarchieve = function (folder, new_folder, msgs_number){ 815 try{ 816 write_msg(get_lang("Starting to unarchive messages")); 817 expresso_mail_archive.isArchiveOperation = true; 818 if(currentTab.toString().indexOf("_r") != -1){ 819 msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 820 } 821 822 if(!msgs_number) 823 msgs_number = get_selected_messages(); 824 825 if (parseInt(msgs_number) > 0 || msgs_number.length > 0){ 826 expresso_mail_archive.message_list = new Array(); 827 expresso_mail_archive.CreateMessageList(msgs_number); 828 if((expresso_mail_archive.message_list.length > 0) && (expresso_mail_archive.message_list[0] != '')) { 829 expresso_mail_archive.unarchivecounter = 0; 830 expresso_mail_archive.unarchive_error_counter=0; 831 expresso_mail_archive.getFolderInfo(folder.replace("local_messages_","")); 832 expresso_mail_archive.unarchievefolder = expresso_mail_archive.folder.name; 833 (new_folder != null)?expresso_mail_archive.unarchievenewfolder = new_folder:expresso_mail_archive.unarchievenewfolder='INBOX'; 834 835 expresso_mail_archive.unarchieveHandler(); 836 837 if(currentTab.toString().indexOf("_r") != -1){ 838 delete_border(currentTab,'false'); 839 } 840 } 841 else{ 842 write_msg(get_lang('No selected message.')); 843 } 844 } 845 else 846 write_msg(get_lang('No selected message.')); 847 848 clear_selected_messages(); 849 } 850 catch (e){ 851 write_msg(get_lang('Unarchive error: ' + e)); 852 } 853 } 854 855 /** 856 * 857 *Unarchieve Message Handler 858 * 859 *@author Cassiano Dal Pizzol [cassiano.dalpizzol@serpro.gov.br] 860 * 861 **/ 862 MailArchiver.prototype.unarchieveHandler = function(){ 863 try{ 864 var email = mail_archive_protocol+'://'+mail_archive_host+':'+mail_archive_port+'/mail/' + expresso_mail_archive.session.id +'/'+ expresso_mail_archive.folder.path + '/'+ expresso_mail_archive.message_list[expresso_mail_archive.unarchivecounter] + '.eml'; 865 866 //Creates a new object to unarchive messages. It's a CXF Add-on CORS component 867 var UnarchiveReqHandler = new cxf_cors_request_object(); 868 UnarchiveReqHandler.init(); 869 870 //Both XDomainRequest and XMLHttpRequest L2 supports onload event 871 UnarchiveReqHandler.handler.onload = function(){ 872 for (var w=0; w < expresso_mail_archive.allcompletemessagesbyfolder.length; w++){ 873 874 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["msg_number"] == expresso_mail_archive.message_list[expresso_mail_archive.unarchivecounter]){ 875 var timestamp = expresso_mail_archive.allcompletemessagesbyfolder[w]["timestamp"]; 876 877 //Get local tagged message data 878 var flags = new String(""); 879 880 //Forwarded is special one: marks as "answered" and "draft" 881 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Forwarded"]){ 882 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Forwarded"] == 'F') 883 flags += 'A:X'+':'; 884 } 885 else{ 886 //Answered tag 887 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Answered"]) 888 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Answered"] == 'A') 889 flags += 'A'+':'; 890 else 891 flags += ':'; 892 else 893 flags += ':'; 894 895 //Draft tag 896 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Draft"]) 897 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Draft"] == 'X') 898 flags += 'D'+':'; 899 else 900 flags += ':'; 901 else 902 flags += ':'; 903 } 904 905 //Flagged tag 906 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Flagged"]) 907 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Flagged"] == 'F') 908 flags += 'F'+':'; 909 else 910 flags += ':'; 911 else 912 flags += ':'; 913 914 //Unseen tag 915 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Unseen"]) 916 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Unseen"] == 'U') 917 flags += 'U'; 918 else 919 flags += ''; 920 else 921 flags += ''; 922 923 //Imap tag hash id 924 flags += "#@#@#@"; 925 926 break; 927 } 928 } 929 var id = expresso_mail_archive.message_list[expresso_mail_archive.unarchivecounter]; 930 var source = encodeURIComponent(UnarchiveReqHandler.handler.responseText) + "#@#@#@"; 931 var params = 932 "&folder=" + escape(expresso_mail_archive.unarchievenewfolder) + 933 "&source=" + source + 934 "×tamp=" + timestamp + 935 "&madata=true" + 936 "&flags=" + flags + 937 "&id=" + id; 938 939 var handler_unarchive = function(data){ 940 expresso_mail_archive.unarchieveController(data); 941 } 942 write_msg(get_lang('Unarchiving message %1 of %2', (expresso_mail_archive.unarchivecounter + 1), expresso_mail_archive.message_list.length)); 943 944 //cExecute ("$this.imap_functions.unarchive_mail&", handler_unarchive, params); 945 946 $.ajax({ 947 url: "controller.php?action=$this.imap_functions.unarchive_mail", 948 data: params, 949 type: 'POST', 950 async: false, 951 success: function(data){ 952 handler_unarchive(connector.unserialize(data)); 953 }, 954 }); 955 956 957 720 958 } 721 959
Note: See TracChangeset
for help on using the changeset viewer.