Ignore:
Timestamp:
02/14/13 16:20:44 (11 years ago)
Author:
thiago
Message:

Ticket #3331 - Quase tudo pronto, apenas alguns detalhes no arquivamento.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.5.1-expresso1/expressoMail1_2/js/mail_archiver.js

    r7831 r7885  
    578578 
    579579 
    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 
     588MailArchiver.prototype.unarchieveToAttach = function (folder, new_folder, msgs_number){ 
    590589    try{  
    591         write_msg(get_lang("Starting to unarchive messages")); 
     590        //write_msg(get_lang("Starting to unarchive messages")); 
    592591        expresso_mail_archive.isArchiveOperation = true; 
    593592        if(currentTab.toString().indexOf("_r") != -1){ 
     
    599598                 
    600599        if (parseInt(msgs_number) > 0 || msgs_number.length > 0){        
     600            
    601601            expresso_mail_archive.message_list = new Array(); 
    602             expresso_mail_archive.CreateMessageList(msgs_number); 
     602            expresso_mail_archive.message_list.push(msgs_number); 
    603603            if((expresso_mail_archive.message_list.length > 0) && (expresso_mail_archive.message_list[0] != '')) { 
     604                 
     605                expresso_mail_archive.unarchieveToAttachHandler(); 
     606 
    604607                expresso_mail_archive.unarchivecounter = 0; 
    605608                expresso_mail_archive.unarchive_error_counter=0; 
     
    608611                (new_folder != null)?expresso_mail_archive.unarchievenewfolder = new_folder:expresso_mail_archive.unarchievenewfolder='INBOX'; 
    609612                 
    610                 expresso_mail_archive.unarchieveHandler(); 
     613                 
    611614                 
    612615                if(currentTab.toString().indexOf("_r") != -1){ 
     
    635638 * 
    636639 **/ 
    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';     
     640MailArchiver.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';     
    640644     
    641645        //Creates a new object to unarchive messages. It's a CXF Add-on CORS component 
     
    713717 
    714718            var handler_unarchive = function(data){ 
    715                 expresso_mail_archive.unarchieveController(data); 
     719                expresso_mail_archive.unarchieveToAttachController(data); 
     720 
     721 
    716722            } 
    717723            write_msg(get_lang('Unarchiving message %1 of %2', (expresso_mail_archive.unarchivecounter + 1), expresso_mail_archive.message_list.length)); 
    718724             
    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 **/ 
     757MailArchiver.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 */ 
     814MailArchiver.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 **/ 
     862MailArchiver.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            "&timestamp="   + 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 
    720958        } 
    721959         
Note: See TracChangeset for help on using the changeset viewer.