Ignore:
Timestamp:
09/11/11 09:16:08 (13 years ago)
Author:
fernando-alberto
Message:

Ticket #1269 - Desenvolvimento da nova solucao de arquivamento local MailArchiver?, tags para arquivamento

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/js/mail_archiver.js

    r5073 r5085  
    170170    this.unarchievefolder = null; 
    171171    this.unarchievenewfolder = null; 
    172                            
     172    this.taglist = null;                           
    173173} 
    174174 
     
    351351 
    352352MailArchiver.prototype.CreateMessageList = function(msg_list){ 
     353    //window.alert('criando messagelist de arquivamento.'); 
     354     
     355//    for(var j=0; j<expresso_mail_archive.messageslisted.length; j++){ 
     356//        window.alert('\nAnswered = ' + expresso_mail_archive.messageslisted[j]["Answered"] + '\nFlagged = ' + expresso_mail_archive.messageslisted[j]["Flagged"] + '\nUnseen = ' + expresso_mail_archive.messageslisted[j]["Unseen"] + '\nDraft = ' + expresso_mail_archive.messageslisted[j]["Draft"]); 
     357//    } 
     358     
    353359    if((msg_list != null) && (msg_list != "") && (msg_list != " ")){ 
    354360        if (expresso_mail_archive.message_list.length == 0){ 
     
    360366                } 
    361367            } 
     368             
    362369            //Push message list to process the only one 
    363             else expresso_mail_archive.message_list.push(msg_list); 
     370            else { 
     371                //window.alert('testando marcadores default...\n->Answered = ' +expresso_mail_archive.messageslisted[i]["Answered"] + '\n->Unseen = '+expresso_mail_archive.messageslisted[i]["Unseen"]); 
     372                expresso_mail_archive.message_list.push(msg_list); 
     373            } 
    364374        } 
    365375    } 
     
    367377    else expresso_mail_archive.message_list = new Array(); 
    368378} 
     379 
    369380 
    370381//Archive Operation 
     
    374385        document.getElementById('main_title').innerHTML = get_lang("Starting to archive messages"); 
    375386        expresso_mail_archive.CreateMessageList(msgs_id); 
     387         
     388        var tagsHandler = function(data){ 
     389            if(data){ 
     390                var datah = eval(data); 
     391                //window.alert('unseen = ' +datah["unseen"] + '\nrecent = ' + datah["recent"] + '\nflagged = ' + datah["flagged"] + '\ndraft = ' + datah["draft"] + '\nanswered = ' + datah["answered"] + '\ndeleted = ' + datah["deleted"] + '\nforwarded = ' + datah["forwarded"]); 
     392                expresso_mail_archive.taglist = datah; 
     393            } 
     394        } 
    376395 
    377396        if((expresso_mail_archive.message_list.length > 0) && (expresso_mail_archive.message_list[0] != '')){ 
     397 
     398            //Get all tags from current archiving message 
     399            var pardata = "&folder=" + url_encode(current_folder)+ "&msg_number="+ expresso_mail_archive.message_list[0]; 
     400            cExecute("$this.imap_functions.get_msg_flags", tagsHandler, pardata); 
    378401 
    379402            //Sets the message counter 
     
    386409                expresso_mail_archive.folder_destination = destination_folder.substr(6,destination_folder.length); 
    387410            else 
    388                 expresso_mail_archive.folder_destination = destination_folder; 
     411                expresso_mail_archive.folder_destination = destination_folder;           
    389412             
    390413            var fcaption = expresso_mail_archive.folder_destination; 
     
    418441    } 
    419442    catch(e){ 
    420         window.alert('Archive error: %1', e); 
     443        window.alert(get_lang("Archive error: %1", (e.description)?e.description:e)); 
    421444    } 
    422445} 
     
    424447//Archive callback OK 
    425448MailArchiver.prototype.getArchiveOperationOK = function(status_message){ 
     449    //message must be tagged 
     450    var arcid = status_message.getReturn().getId(); 
     451    var tlist = expresso_mail_archive.pattern.tagConfig(expresso_mail_archive.taglist, arcid); 
     452    if(tlist != null){ 
     453        try{ 
     454            ArchiveServices.tagMessages(expresso_mail_archive.tagMessagesOperationOK, expresso_mail_archive.tagMessagesOperationFailure, sessid, tlist); 
     455        }catch (e){ 
     456            window.alert('ArchiveServices.tagMessages failed at: ' + (e.description)?e.description:e); 
     457        } 
     458    } 
     459    //archivement allready done, update controll data and interface 
    426460    expresso_mail_archive.messages_processed++; 
    427461    if(expresso_mail_archive.message_list.length > 1){ 
     
    674708            //Store folder data at this format: {folder name, number of messages contained, folder has child nodes, folder id, folder parent id, folder full path} 
    675709            //var folderData = new Array(folderlist.getReturn()[i].getName(), folderlist.getReturn()[i].getMessageCount(), folderChild, folderlist.getReturn()[i].getId(), folderlist.getReturn()[i].getParentId(), folderlist.getReturn()[i].getPath()); 
    676             var folderData = {name: folderlist.getReturn()[i].getName(), messages: folderlist.getReturn()[i].getMessageCount(), haschild: folderChild, id: folderlist.getReturn()[i].getId(), parentid: folderlist.getReturn()[i].getParentId(), path: folderlist.getReturn()[i].getPath()}; 
     710            var folderData = {name: folderlist.getReturn()[i].getName(), messages: folderlist.getReturn()[i].getMessageCount(), haschild: folderChild, id: folderlist.getReturn()[i].getId(), parentid: folderlist.getReturn()[i].getParentId(), path: folderlist.getReturn()[i].getPath(), unseen: folderlist.getReturn()[i].getUnseenCount()}; 
    677711            //window.alert('folder ' + folderData.name + ' tem ' + folderData.messages + ' mensagens.'); 
    678712            lfolders.push(folderData); 
     
    735769                folder_caption = expresso_mail_archive.folders[i]["name"]; 
    736770            } 
    737             var n_demo = new dNode({id: localBaseName + expresso_mail_archive.folders[i]["id"], caption: folder_caption, onClick: "change_folder('"+ localBaseName + expresso_mail_archive.folders[i]["id"] +"','"+ localBaseName + expresso_mail_archive.folders[i]["id"]+"', '" + expresso_mail_archive.drawdata.treeName + "')", plusSign:expresso_mail_archive.folders[i]["haschild"]}); 
    738             //var n_demo = new dNode({id: localBaseName + expresso_mail_archive.folders[i]["name"], caption: folder_caption, onClick: "change_folder('"+ localBaseName + expresso_mail_archive.folders[i]["name"] +"','"+ localBaseName + expresso_mail_archive.folders[i]["name"]+"', '" + expresso_mail_archive.drawdata.treeName + "')", plusSign:expresso_mail_archive.folders[i]["haschild"]}); 
     771             
     772            if(expresso_mail_archive.folders[i]["unseen"] == "0")            
     773                var n_demo = new dNode({id: localBaseName + expresso_mail_archive.folders[i]["id"], caption: folder_caption, onClick: "change_folder('"+ localBaseName + expresso_mail_archive.folders[i]["id"] +"','"+ localBaseName + expresso_mail_archive.folders[i]["id"]+"', '" + expresso_mail_archive.drawdata.treeName + "')", plusSign:expresso_mail_archive.folders[i]["haschild"]}); 
     774            else 
     775               //var nn = new dNode({id:data[i].folder_id, caption:lang_folder(data[i].folder_name) + '<font style=color:red>&nbsp(</font><span id="dftree_'+data[i].folder_id+'_unseen" style=color:red>'+data[i].folder_unseen+'</span><font style=color:red>)</font>', onClick:"change_folder('"+data[i].folder_id+"','"+data[i].folder_name+"')", plusSign:data[i].folder_hasChildren});  
     776               var n_demo = new dNode({id: localBaseName + expresso_mail_archive.folders[i]["id"], caption: folder_caption + '<font style=color:red>&nbsp(</font><span id="dftree_'+expresso_mail_archive.folders[i]["id"]+'_unseen" style=color:red>'+expresso_mail_archive.folders[i]["unseen"]+'</span><font style=color:red>)</font>', onClick: "change_folder('"+ localBaseName + expresso_mail_archive.folders[i]["id"] +"','"+ localBaseName + expresso_mail_archive.folders[i]["id"]+"', '" + expresso_mail_archive.drawdata.treeName + "')", plusSign:expresso_mail_archive.folders[i]["haschild"]});     
     777          
     778         //var n_demo = new dNode({id: localBaseName + expresso_mail_archive.folders[i]["name"], caption: folder_caption, onClick: "change_folder('"+ localBaseName + expresso_mail_archive.folders[i]["name"] +"','"+ localBaseName + expresso_mail_archive.folders[i]["name"]+"', '" + expresso_mail_archive.drawdata.treeName + "')", plusSign:expresso_mail_archive.folders[i]["haschild"]}); 
    739779             
    740780            //Adjust the id node names 
     
    872912//getFolderInfo callback OK 
    873913MailArchiver.prototype.getFolderInfoOperationOK = function(returnService){ 
    874    var folder_info = {id : returnService.getReturn().getId(), name : returnService.getReturn().getName(), parent : returnService.getReturn().getParentId(), numfolders: returnService.getReturn().getFolderCount(), nummessages: returnService.getReturn().getMessageCount()}; 
     914   var folder_info = {id : returnService.getReturn().getId(), name : returnService.getReturn().getName(), parent : returnService.getReturn().getParentId(), numfolders: returnService.getReturn().getFolderCount(), nummessages: returnService.getReturn().getMessageCount(), unseen: returnService.getReturn().getUnseenCount()}; 
    875915   expresso_mail_archive.folder = folder_info; 
    876916} 
     
    936976    } 
    937977    msglist["num_msgs"] = returnService.getReturn().length; 
     978    msglist["tot_unseen"] = expresso_mail_archive.folder.unseen; 
    938979    //window.alert('print_r\n\n' + print_r(msglist)); 
    939980     
     
    9861027    draw_paging(folder_num_msgs); 
    9871028    Element("tot_m").innerHTML = folder_num_msgs; 
     1029    Element('new_m').innerHTML = data_to_draw['tot_unseen'] ? '<font color="RED">'+data_to_draw['tot_unseen']+'</font>' : 0; 
    9881030    //update_menu(); 
    9891031     
Note: See TracChangeset for help on using the changeset viewer.