Changeset 7907 for trunk/expressoMail1_2/js/mail_archiver.js
- Timestamp:
- 02/22/13 12:37:16 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/js/mail_archiver.js
r7685 r7907 575 575 } 576 576 577 578 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){ 590 try{ 591 write_msg(get_lang("Starting to unarchive messages")); 577 MailArchiver.prototype.unarchieveToAttach = function (folder, new_folder, msgs_number){ 578 try{ 579 580 if(typeof(expresso_mail_archive.idMsgsToAttach) == "undefined"){ 581 expresso_mail_archive.idMsgsToAttach = new Array(); 582 } 583 //write_msg(get_lang("Starting to unarchive messages")); 592 584 expresso_mail_archive.isArchiveOperation = true; 593 585 if(currentTab.toString().indexOf("_r") != -1){ … … 599 591 600 592 if (parseInt(msgs_number) > 0 || msgs_number.length > 0){ 601 expresso_mail_archive.message_list = new Array(); 602 expresso_mail_archive.CreateMessageList(msgs_number); 603 if((expresso_mail_archive.message_list.length > 0) && (expresso_mail_archive.message_list[0] != '')) { 593 594 expresso_mail_archive.messageToAttach = msgs_number; 595 if(expresso_mail_archive.messageToAttach) { 596 604 597 expresso_mail_archive.unarchivecounter = 0; 605 598 expresso_mail_archive.unarchive_error_counter=0; … … 608 601 (new_folder != null)?expresso_mail_archive.unarchievenewfolder = new_folder:expresso_mail_archive.unarchievenewfolder='INBOX'; 609 602 610 expresso_mail_archive.unarchieve Handler();603 expresso_mail_archive.unarchieveToAttachHandler(); 611 604 612 605 if(currentTab.toString().indexOf("_r") != -1){ … … 628 621 } 629 622 630 /** 631 * 632 *Unarchieve Message Handler 633 * 634 *@author Cassiano Dal Pizzol [cassiano.dalpizzol@serpro.gov.br] 635 * 636 **/ 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'; 623 MailArchiver.prototype.unarchieveToAttachHandler = function(){ 624 try{ 625 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.messageToAttach + '.eml'; 640 626 641 627 //Creates a new object to unarchive messages. It's a CXF Add-on CORS component … … 647 633 for (var w=0; w < expresso_mail_archive.allcompletemessagesbyfolder.length; w++){ 648 634 649 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["msg_number"] == expresso_mail_archive.message _list[expresso_mail_archive.unarchivecounter]){635 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["msg_number"] == expresso_mail_archive.messageToAttach){ 650 636 var timestamp = expresso_mail_archive.allcompletemessagesbyfolder[w]["timestamp"]; 651 637 … … 702 688 } 703 689 } 690 var id = expresso_mail_archive.messageToAttach; 691 var source = encodeURIComponent(UnarchiveReqHandler.handler.responseText) + "#@#@#@"; 692 var params = 693 "&folder=" + escape(expresso_mail_archive.unarchievenewfolder) + 694 "&source=" + source + 695 "×tamp=" + timestamp + 696 "&madata=true" + 697 "&flags=" + flags + 698 "&id=" + id; 699 700 701 var handler_unarchive = function(data){ 702 expresso_mail_archive.unarchieveToAttachController(data); 703 } 704 write_msg(get_lang("Please, Wait the messages from archieve be ready.")); 705 706 $.ajax({ 707 url: "controller.php?action=$this.imap_functions.unarchive_mail", 708 success: function(data){ 709 data = connector.unserialize(data); 710 expresso_mail_archive.idMsgsToAttach.push(data.idsMsg); 711 handler_unarchive(data); 712 }, 713 async: false, 714 data: params, 715 type: 'POST', 716 717 }); 718 719 } 720 721 722 UnarchiveReqHandler.handler.open("GET", email, true); 723 if(UnarchiveReqHandler.handler.overrideMimeType){ 724 UnarchiveReqHandler.handler.overrideMimeType("message/rfc822; charset=windows-1252"); 725 } 726 UnarchiveReqHandler.handler.send(); 727 } 728 catch(e){ 729 write_msg(get_lang('Unarchive error: ' + e)); 730 } 731 } 732 733 MailArchiver.prototype.unarchieveToAttachController = function(data){ 734 735 if (data){ 736 if (data.error != "") { 737 expresso_mail_archive.unarchive_error_counter++; 738 } 739 740 } 741 } 742 743 744 /** 745 *Unarchieve Message 746 * 747 *@author Cassiano Dal Pizzol [cassiano.dalpizzol@serpro.gov.br] 748 * 749 *@param folder Original Folder of the message 750 *@param new_folder The new folder of the message 751 *@param msgs_number id of the messages 752 */ 753 MailArchiver.prototype.unarchieve = function (folder, new_folder, msgs_number){ 754 try{ 755 write_msg(get_lang("Starting to unarchive messages")); 756 expresso_mail_archive.isArchiveOperation = true; 757 if(currentTab.toString().indexOf("_r") != -1){ 758 msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 759 } 760 761 if(!msgs_number) 762 msgs_number = get_selected_messages(); 763 764 if (parseInt(msgs_number) > 0 || msgs_number.length > 0){ 765 expresso_mail_archive.message_list = new Array(); 766 expresso_mail_archive.CreateMessageList(msgs_number); 767 if((expresso_mail_archive.message_list.length > 0) && (expresso_mail_archive.message_list[0] != '')) { 768 expresso_mail_archive.unarchivecounter = 0; 769 expresso_mail_archive.unarchive_error_counter=0; 770 expresso_mail_archive.getFolderInfo(folder.replace("local_messages_","")); 771 expresso_mail_archive.unarchievefolder = expresso_mail_archive.folder.name; 772 (new_folder != null)?expresso_mail_archive.unarchievenewfolder = new_folder:expresso_mail_archive.unarchievenewfolder='INBOX'; 773 774 expresso_mail_archive.unarchieveHandler(); 775 776 if(currentTab.toString().indexOf("_r") != -1){ 777 delete_border(currentTab,'false'); 778 } 779 } 780 else{ 781 write_msg(get_lang('No selected message.')); 782 } 783 } 784 else 785 write_msg(get_lang('No selected message.')); 786 787 clear_selected_messages(); 788 } 789 catch (e){ 790 write_msg(get_lang('Unarchive error: ' + e)); 791 } 792 } 793 794 /** 795 * 796 *Unarchieve Message Handler 797 * 798 *@author Cassiano Dal Pizzol [cassiano.dalpizzol@serpro.gov.br] 799 * 800 **/ 801 MailArchiver.prototype.unarchieveHandler = function(){ 802 try{ 803 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'; 804 805 //Creates a new object to unarchive messages. It's a CXF Add-on CORS component 806 var UnarchiveReqHandler = new cxf_cors_request_object(); 807 UnarchiveReqHandler.init(); 808 809 //Both XDomainRequest and XMLHttpRequest L2 supports onload event 810 UnarchiveReqHandler.handler.onload = function(){ 811 for (var w=0; w < expresso_mail_archive.allcompletemessagesbyfolder.length; w++){ 812 813 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["msg_number"] == expresso_mail_archive.message_list[expresso_mail_archive.unarchivecounter]){ 814 var timestamp = expresso_mail_archive.allcompletemessagesbyfolder[w]["timestamp"]; 815 816 //Get local tagged message data 817 var flags = new String(""); 818 819 //Forwarded is special one: marks as "answered" and "draft" 820 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Forwarded"]){ 821 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Forwarded"] == 'F') 822 flags += 'A:X'+':'; 823 } 824 else{ 825 //Answered tag 826 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Answered"]) 827 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Answered"] == 'A') 828 flags += 'A'+':'; 829 else 830 flags += ':'; 831 else 832 flags += ':'; 833 834 //Draft tag 835 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Draft"]) 836 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Draft"] == 'X') 837 flags += 'D'+':'; 838 else 839 flags += ':'; 840 else 841 flags += ':'; 842 } 843 844 //Flagged tag 845 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Flagged"]) 846 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Flagged"] == 'F') 847 flags += 'F'+':'; 848 else 849 flags += ':'; 850 else 851 flags += ':'; 852 853 //Unseen tag 854 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Unseen"]) 855 if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Unseen"] == 'U') 856 flags += 'U'; 857 else 858 flags += ''; 859 else 860 flags += ''; 861 862 //Imap tag hash id 863 flags += "#@#@#@"; 864 865 break; 866 } 867 } 704 868 var id = expresso_mail_archive.message_list[expresso_mail_archive.unarchivecounter]; 705 869 var source = encodeURIComponent(UnarchiveReqHandler.handler.responseText) + "#@#@#@"; … … 717 881 write_msg(get_lang('Unarchiving message %1 of %2', (expresso_mail_archive.unarchivecounter + 1), expresso_mail_archive.message_list.length)); 718 882 719 cExecute ("$this.imap_functions.unarchive_mail&", handler_unarchive, params); 883 //cExecute ("$this.imap_functions.unarchive_mail&", handler_unarchive, params); 884 885 $.ajax({ 886 url: "controller.php?action=$this.imap_functions.unarchive_mail", 887 data: params, 888 type: 'POST', 889 async: false, 890 success: function(data){ 891 handler_unarchive(connector.unserialize(data)); 892 }, 893 }); 894 895 896 720 897 } 721 898 … … 1398 1575 } 1399 1576 1577 1578 MailArchiver.prototype.getMessagesByFolder = function(folderid, searchType){ 1579 try{ 1580 if(searchType == "ALL") 1581 var query_messages = '{"query":{"folder":[{"@id":"'+folderid+'"}], "order":[{"@asc":"date"}]}}'; 1582 else 1583 var query_messages = '{"query":{"folder":[{"@id":"'+folderid+'"}], "tags":[{"@contains":"'+searchType+'"}], "order":[{"@asc":"date"}]}}'; 1584 ArchiveServices.listMessages(expresso_mail_archive.getMessagesByFolderOperationOK, expresso_mail_archive.getMessagesByFolderOperationFailure, expresso_mail_archive.session.id, query_messages); 1585 } 1586 catch (e){ 1587 expresso_mail_archive.getFaultInfo(); 1588 } 1589 } 1590 1591 MailArchiver.prototype.getMessagesByFolderOperationOK = function(returnService){ 1592 var msglist = new Array(); 1593 var msglistcomplete = new Array(); 1594 var msgAll = new Array(); 1595 for(var i=0; i< returnService.getReturn().length; i++){ 1596 //Array montado apenas com ids para tratamento de seleção de mensagens independente de paginação 1597 msglist.push(returnService.getReturn()[i]._id); 1598 1599 msgAll.push(returnService.getReturn()[i]); 1600 1601 //Incremento de contadores para atualização da aba de listagem 1602 if(returnService.getReturn()[i]._tags.indexOf("unseen") != -1){ 1603 expresso_mail_archive.tot_unseen_msgs_tab++; 1604 } 1605 expresso_mail_archive.tot_msgs_tab++; 1606 //Array montado para operação de desarquivamento 1607 var ExpSerialized = expresso_mail_archive.pattern.toExpressoHeader(returnService.getReturn()[i]); 1608 msglistcomplete.push(connector.unserialize(ExpSerialized)); 1609 } 1610 expresso_mail_archive.allmessagesbyfolder = msglist; 1611 expresso_mail_archive.allcompletemessagesbyfolder = msglistcomplete; 1612 expresso_mail_archive.msgAll = msgAll; 1613 } 1614 1615 MailArchiver.prototype.getMessagesByFolderOperationFailure = function(ServiceFault){ 1616 window.alert('listAllmessagesByFolder FALHOU!\n' + ServiceFault.getReturn()); 1617 } 1618 1619 1400 1620 //List all messages by folder given and set a array with all messages ids 1401 1621 MailArchiver.prototype.listAllMessagesByFolder = function(folderid, searchType){ … … 1515 1735 if(msgfound){ 1516 1736 expresso_mail_archive.currentheaders = headerMsg; 1737 expresso_mail_archive.subjectPreview = headerMsg.subject; 1517 1738 return(headerMsg); 1518 1739 } … … 1537 1758 bodies.push(temp); 1538 1759 } 1760 expresso_mail_archive.bodyPreview = temp.getReturn(); 1539 1761 return bodies; 1540 1762 } … … 1542 1764 expresso_mail_archive.getFaultInfo(); 1543 1765 } 1766 } 1767 1768 1769 MailArchiver.prototype.getPreviewToAttach = function(id){ 1770 expresso_mail_archive.getMessageInfo(id); 1771 expresso_mail_archive.getMessageBodies([id]); 1544 1772 } 1545 1773 … … 1618 1846 return; 1619 1847 } 1848 expresso_mail_archive.te = returnService.getReturn(); 1620 1849 var msgBody = returnService.getReturn(); 1621 1850 //var msgHeaders = expresso_mail_archive.getMessageHeaders(expresso_mail_archive.currentmessage); … … 2092 2321 expresso_mail_archive.messageslisted.push(msgitem2); 2093 2322 expresso_mail_archive.getMessageHeaders(serviceReturn.getReturn().getId()); 2323 2094 2324 } 2095 2325 else{
Note: See TracChangeset
for help on using the changeset viewer.