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

Ticket #1269 - Desenvolvimento da nova solucao de arquivamento local MailArchiver?, ajustes serializacao

File:
1 edited

Legend:

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

    r4871 r4878  
    151151    this.drawdata = null; 
    152152    this.onprocess = false; 
     153    this.queryconfig = new MAQueryConfig(); 
    153154    this.specialfolders = { 
    154155                            "inbox":"local_inbox",  
     
    158159                            "trash":"local_trash" 
    159160                          }; 
    160     //this.queryconfig = new MAQueryConfig(); 
    161161} 
    162162 
     
    724724//OLD local_messages.prototype.get_local_range_msgs = function(folder,msg_range_begin,emails_per_page,sort,sort_reverse,search,preview_msg_subject,preview_msg_tip) { 
    725725//ONLINE messages_proxy.prototype.messages_list = function(folder,msg_range_begin,emails_per_page,sort_box_type,search_box_type,sort_box_reverse,preview_msg_subject,preview_msg_tip,call_back,tree_name) { 
     726//sys call = proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort,search,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); 
    726727MailArchiver.prototype.listMessages = function(){ 
    727728    try{ 
     
    783784MailArchiver.prototype.toExpressoAddress = function(data){ 
    784785    if((typeof(data) != 'undefined') && (data.length > 0)){ 
    785     /*var dataFormat = expresso_mail_archive.toExpressoFormatNameMail(data); 
    786     var dataName = dataFormat[0]; 
    787     var dataEmail = dataFormat[1]; 
    788     */ 
    789     //window.alert('em toExpressoFrom com data = \n' + data + '[' + typeof(data) + ']('+data.length+')'); 
    790     var Fromdata = eval("(" + data + ")"); 
    791     var dataName = Fromdata.mailbox["@name"]; 
    792     var dataEmail = Fromdata.mailbox["@localPart"] + '@' + Fromdata.mailbox["@domain"]; 
    793     //window.alert('name = ' + Fromdata.mailbox.name.$ + '\nlocal part = ' + Fromdata.mailbox.localPart.$ + '\ndomain = ' + Fromdata.mailbox.domain.$); 
    794         
    795     var tplFrom = 'a:2:{' 
     786        /*var dataFormat = expresso_mail_archive.toExpressoFormatNameMail(data); 
     787        var dataName = dataFormat[0]; 
     788        var dataEmail = dataFormat[1]; 
     789        */ 
     790        //window.alert('em toExpressoFrom com data = \n' + data + '[' + typeof(data) + ']('+data.length+')'); 
     791        var Fromdata = eval("(" + data + ")"); 
     792        //window.alert('temos ' + Fromdata.mailbox.length + ' destinatarios/remetentes a lidar...'); 
     793        //window.alert('name = ' + Fromdata.mailbox["@name"] + '\nlocal part = ' + Fromdata.mailbox["@localPart"] + '\ndomain = ' + Fromdata.mailbox["@domain"]); 
     794      
     795        //one address 
     796        if(typeof(Fromdata.mailbox.length) == 'undefined'){ 
     797            var dataName = Fromdata.mailbox["@name"]; 
     798            var dataEmail = Fromdata.mailbox["@localPart"] + '@' + Fromdata.mailbox["@domain"]; 
     799        } 
     800        //address list: to header(msgs list), only first metters 
     801        else{ 
     802            var dataName = Fromdata.mailbox[0]["@name"]; 
     803            var dataEmail = Fromdata.mailbox[0]["@localPart"] + '@' + Fromdata.mailbox[0]["@domain"]; 
     804        } 
     805 
     806        var tplFrom = 'a:3:{' 
    796807+           's:4:"name";' 
    797808+           's:'+dataName.length+':"'+dataName+'";' 
     
    820831} 
    821832 
    822 MailArchiver.prototype.toExpressoDate = function(data){ 
    823     var ndate = new Date(data);    
    824     var odate = zeroFill(ndate.getDay()) + '/' + zeroFill(ndate.getMonth()) + '/' + zeroFill(ndate.getFullYear()); 
    825     return(odate); 
    826 } 
    827  
    828 MailArchiver.prototype.toExpressoHour = function(data){ 
    829     var ndate = new Date(data);    
    830     var ohour = zeroFill(ndate.getHours()) + ':' + zeroFill(ndate.getMinutes()) + ':' + zeroFill(ndate.getSeconds()); 
    831     return(ohour);     
    832 } 
    833  
    834 MailArchiver.prototype.toExpressoCC = function(data){ 
    835     var tplCC =  "s:"+data.getCC().length+":\""+data.getCC()+"\";"; 
    836     return(tplCC); 
    837 } 
    838  
    839 MailArchiver.prototype.toExpressoTo = function(data){ 
    840     var tplTo =  "s:"+data.getTo().length+":\""+data.getTo()+"\";"; 
    841     return(tplTo); 
    842 } 
    843  
    844 /** 
    845  *+           's:'+expresso_mail_archive.toExpressoDate(data.getDate()).length+':"'+expresso_mail_archive.toExpressoDate(data.getDate())+'";' 
    846 +           's:7:"msg_day";' 
    847 +           's:'+expresso_mail_archive.toExpressoDate(data.getDate()).length+':"'+expresso_mail_archive.toExpressoDate(data.getDate())+'";' 
    848 +           's:8:"msg_hour";' 
    849 +           's:'+expresso_mail_archive.toExpressoHour(data.getDate()).length+':"'+expresso_mail_archive.toExpressoHour(data.getDate())+'";' 
    850 +           's:8:"fulldate";' 
    851 +           's:'+(expresso_mail_archive.toExpressoDate(data.getDate()).length+expresso_mail_archive.toExpressoHour(data.getDate()).length+1)+':"'+expresso_mail_archive.toExpressoDate(data.getDate())+' '+expresso_mail_archive.toExpressoHour(data.getDate())+'";' 
    852 +           's:9:"smalldate";' 
    853 +           's:'+expresso_mail_archive.toExpressoDate(data.getDate()).length+':"'+expresso_mail_archive.toExpressoDate(data.getDate())+'";' 
    854 +           's:8:"aux_date";' 
    855 +           's:1:"N";' 
    856  */ 
    857  
     833MailArchiver.prototype.toExpressoAttachmentsHeader = function(data){ 
     834    if((typeof(data) != 'undefined') && (data.length > 0)){ 
     835        var Attdata = eval("(" + data + ")"); 
     836        if(typeof(Attdata.attachment) != 'undefined'){                     
     837            var tplAttatch = 'a:2:{' 
     838+               's:5:"names";'; 
     839            //More than 1 attachment - because length will be 'undefined' if just one exists 
     840            if(Attdata.attachment.length > 0){ 
     841                var strnamesatt = ""; 
     842                for(var x=0; x<Attdata.attachment.length; x++){ 
     843                  var attId = Attdata.attachment[x]["@id"]; 
     844                  var attName = Attdata.attachment[x]["@name"]; 
     845                  var attSize = Attdata.attachment[x]["@size"]; 
     846                  var attMediaType = Attdata.attachment[x]["@mediaType"]; 
     847                  var attSubType = Attdata.attachment[x]["@subType"]; 
     848                  var attEncoding = Attdata.attachment[x]["@encoding"]; 
     849                   
     850                  strnamesatt += attName + ', '; 
     851                } 
     852                strnamesatt = strnamesatt.substr(0, strnamesatt.length-2); 
     853                var intnumberatt = Attdata.attachment.length; 
     854            } 
     855            //Just one attachment 
     856            else{ 
     857                var attId = Attdata.attachment["@id"]; 
     858                var attName = Attdata.attachment["@name"]; 
     859                var attSize = Attdata.attachment["@size"]; 
     860                var attMediaType = Attdata.attachment["@mediaType"]; 
     861                var attSubType = Attdata.attachment["@subType"]; 
     862                var attEncoding = Attdata.attachment["@encoding"]; 
     863                strnamesatt = attName; 
     864                var intnumberatt = 1; 
     865            } 
     866             
     867            tplAttatch += 's:'+strnamesatt.length+':"'+strnamesatt+'";' 
     868+               's:18:"number_attachments";i:' +intnumberatt+';' 
     869+           '}'; 
     870        } 
     871        else { 
     872            tplAttatch = 'a:2:{s:5:"names";b:0;s:18:"number_attachments";i:0;}';     
     873        } 
     874    } 
     875    //No attatch data 
     876    else { 
     877        tplAttatch = 'a:2:{s:5:"names";b:0;s:18:"number_attachments";i:0;}'; 
     878    } 
     879    return(tplAttatch); 
     880} 
     881 
     882MailArchiver.prototype.toExpressoFlags = function(data){ 
     883    if((data.length > 0) && (typeof(data) != 'undefined')){ 
     884        var Tagdata = eval("(" + data + ")"); 
     885        //More than 1 attachment - because length will be 'undefined' if just one exists 
     886        if(Tagdata.tag.length >= 0){ 
     887            var strnamestag = ""; 
     888            for(var x=0; x<Tagdata.tag.length; x++){ 
     889                var tagvalue = Tagdata.tag[x]["@value"]; 
     890                if(tagvalue.toLowerCase().indexOf('recent')!= -1) 
     891                    strnamestag += 's:6:"Recent";s:1:"N";'; 
     892                if(tagvalue.toLowerCase().indexOf('unseen')!= -1) 
     893                    strnamestag += 's:6:"Unseen";s:1:"U";'; 
     894                if(tagvalue.toLowerCase().indexOf('answered')!= -1) 
     895                    strnamestag += 's:8:"Answered";s:1:"A";'; 
     896                if(tagvalue.toLowerCase().indexOf('forwarded')!= -1) 
     897                    strnamestag += 's:9:"Forwarded";s:1:"F"'; 
     898                if(tagvalue.toLowerCase().indexOf('draft')!= -1) 
     899                    strnamestag += 's:5:"Draft";s:1:"X";'; 
     900                if(tagvalue.toLowerCase().indexOf('importance')!= -1) 
     901                    strnamestag += 's:10:"Importance";s:6:"High";'; 
     902                if(tagvalue.toLowerCase().indexOf('flagged')!= -1) 
     903                    strnamestag += 's:7:"Flagged";s:1:"F";';                        
     904            }  
     905            var tplTags = strnamestag; 
     906        } 
     907        else{ 
     908            tplTags = 's:6:"Recent";s:1:" ";s:6:"Unseen";s:1:" ";s:8:"Answered";s:1:" ";s:9:"Forwarded";s:1:" ";s:5:"Draft";s:1:" ";s:10:"Importance";s:6:"Normal";s:7:"Flagged";b:0;';     
     909        } 
     910    } 
     911    else{ 
     912        tplTags = 's:6:"Recent";s:1:" ";s:6:"Unseen";s:1:" ";s:8:"Answered";s:1:" ";s:9:"Forwarded";s:1:" ";s:5:"Draft";s:1:" ";s:10:"Importance";s:6:"Normal";s:7:"Flagged";b:0;'; 
     913    } 
     914    return(tplTags); 
     915} 
    858916 
    859917MailArchiver.prototype.toExpressoHeader = function(data){    
    860     var tplHeader = 'a:16:{' 
     918    var tplHeader = 'a:19:{' 
    861919+           's:11:"ContentType";' 
    862 +           's:6:"normal";' 
    863 +           's:10:"Importance";' 
    864 +           's:6:"Normal";' 
    865 +           's:6:"Recent";' 
    866 +           's:1:" ";' 
    867 +           's:6:"Unseen";' 
    868 +           's:1:"N";' 
    869 +           's:8:"Answered";' 
    870 +           's:1:" ";' 
    871 +           's:5:"Draft";' 
    872 +           's:1:" ";' 
    873 +           's:7:"Deleted";' 
    874 +           's:1:" ";' 
    875 +           's:7:"Flagged";' 
    876 +           'b:0;' 
     920+           's:' + data.getContentType().length + ':"' + data.getContentType() + '";' 
     921+           expresso_mail_archive.toExpressoFlags(data.getTags()) 
    877922+           's:10:"msg_number";' 
    878923+           's:'+data.getId().length+':"'+data.getId()+'";' 
     924+           's:5:"udate";' 
     925+           'i:' + parseInt(data.getDate()/1000) + ';' 
     926+           's:11:"offsetToGMT";' 
     927+           'i:-10800;' 
     928+           's:9:"timestamp";' 
     929+           'i:' + parseInt(data.getDate()/1000) + ';' 
     930+           's:9:"smalldate";' 
     931+           's:10:"01/04/2011";' 
     932+           's:8:"aux_date";' 
     933+           's:1:" ";' 
    879934+           's:4:"from";' 
    880935+           expresso_mail_archive.toExpressoAddress(data.getFrom()) 
     
    885940+           's:4:"Size";' 
    886941+           'i:'+data.getSize()+';' 
    887 +           's:5:"udate";' 
    888 +           's:10:"01/04/2011";' 
    889 +           's:7:"msg_day";' 
    890 +           's:10:"01/04/2011";' 
    891 +           's:8:"msg_hour";' 
    892 +           's:8:"01:01:59";' 
    893 +           's:8:"fulldate";' 
    894 +           's:19:"01/04/2011 01:01:59";' 
    895 +           's:9:"smalldate";' 
    896 +           's:10:"01/04/2011";' 
    897942+           's:10:"attachment";' 
    898 +           'a:2:{' 
    899 +                   's:5:"names";' 
    900 +                   'b:0;' 
    901 +                   's:18:"number_attachments";' 
    902 +                  'i:0;' 
    903 +               '}' 
    904 +           's:8:"aux_date";' 
    905 +           's:10:"01/04/2011";' 
     943+           expresso_mail_archive.toExpressoAttachmentsHeader(data.getAttachments()) 
    906944+           '}'; 
    907     //window.alert('Expresso Header draw data = ' + tplHeader); 
     945    //window.alert('Serialized data\n\n' + tplHeader); 
    908946    return(tplHeader); 
    909947} 
     
    915953 
    916954MailArchiver.prototype.Query = function(offlow, offup, qdata){ 
    917     var querystring = this.queryconfig.query(offlow, offup, qdata); 
     955    var querystring = this.queryconfig.query(offlow, preferences.max_email_per_page, qdata); 
    918956    this.listMessages(); 
    919957} 
Note: See TracChangeset for help on using the changeset viewer.