Changeset 4969


Ignore:
Timestamp:
08/22/11 08:17:19 (13 years ago)
Author:
fernando-alberto
Message:

Ticket #1269 - Desenvolvimento da nova solucao de arquivamento local MailArchiver?, leitura de msg

File:
1 edited

Legend:

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

    r4955 r4969  
    154154    this.onprocess = false; 
    155155    this.queryconfig = new MAQueryConfig(); 
     156    this.pattern = new MAPattern(); 
    156157    this.messagesourcehandler = new Cxf_Transport_Handler(); 
     158    this.ServiceReturnObject = null; 
    157159    this.specialfolders = { 
    158160                            "inbox":"local_inbox",  
     
    858860MailArchiver.prototype.listMessagesOperationOK = function(returnService){ 
    859861    var msglist = new Array(); 
     862    expresso_mail_archive.ServiceReturnObject = new Array(); 
     863    //window.alert('messages data\n\n' + print_r(returnService.getReturn())); 
    860864    /*window.alert('Dados da mensagem:\n->From ' + returnService.getReturn()[0].getFrom() 
    861865                                      +'\n->To ' + returnService.getReturn()[0].getTo() 
     
    867871    for(var i=0; i< returnService.getReturn().length; i++){ 
    868872        //window.alert('quer deserializar:\n\n' + print_r(returnService.getReturn()[i])); 
    869         var ExpSerialized = expresso_mail_archive.toExpressoHeader(returnService.getReturn()[i]); 
     873        var ExpSerialized = expresso_mail_archive.pattern.toExpressoHeader(returnService.getReturn()[i]); 
    870874        //window.alert('expSerialized ' + i + '\n\n --\n\n' + print_r(ExpSerialized)); 
    871875        //var test = connector.unserialize(ExpSerialized); 
    872876        //window.alert('unserialized = \n\n' + test); 
    873877        msglist.push(connector.unserialize(ExpSerialized));//usando connector.unserialize sobre o header mapeado no layout abaixo 
     878        expresso_mail_archive.ServiceReturnObject.push(returnService.getReturn()[i]); //add each one service return data into this embeded object array 
     879        //window.alert('ServiceReturnObject.lenght = ' + expresso_mail_archive.ServiceReturnObject.length + '\n\n:' + expresso_mail_archive.ServiceReturnObject[i]); 
    874880    } 
    875881    msglist["num_msgs"] = returnService.getReturn().length; 
    876882    //window.alert('print_r\n\n' + print_r(msglist)); 
     883     
    877884    expresso_mail_archive.messageslisted = msglist; 
    878885    //window.alert('expresso_mail_archive.message_list.length = ' + expresso_mail_archive.message_list.length); 
     
    880887    expresso_mail_archive.drawdata = {messagesList:msglist}; 
    881888    expresso_mail_archive.drawMessagesList(); 
    882      
    883     //window.alert('get ajax...'); 
    884    // expresso_mail_archive.getMessageSource(); 
    885889} 
    886890 
     
    931935        return; 
    932936    } 
     937    //window.alert('getMessageHeaders\n\n' + print_r(headerMsg)); 
    933938    return(headerMsg); 
    934939} 
     
    962967     
    963968    var msgBody = returnService.getReturn(); 
     969    //window.alert('getMessageOperationOK headers get..'); 
    964970    var msgHeaders = expresso_mail_archive.getMessageHeaders(expresso_mail_archive.currentmessage); 
    965     var expSerializedMessage = expresso_mail_archive.toExpressoMessage(msgHeaders, msgBody); 
     971    //var expSerializedMessage = expresso_mail_archive.toExpressoMessage(msgHeaders, msgBody); 
     972    var expSerializedMessage = expresso_mail_archive.pattern.toExpressoMail(msgHeaders, msgBody); 
    966973    //window.alert('Serialized data\n\n' + print_r(expSerializedMessage)); 
    967974    show_msg(expSerializedMessage); 
     
    972979} 
    973980 
    974 //Under develpment this one 
    975 MailArchiver.prototype.getMessageSource = function(){ 
    976     //expresso_mail_archive.messagesourcehandler.onreadystatechange = AlerteO(); 
    977     //expresso_mail_archive.messagesourcehandler.setRequestHeader("SOAPAction", ""); 
    978     //expresso_mail_archive.messagesourcehandler.setRequestHeader("Access-Control-Allow-Origin", "*"); 
    979     //expresso_mail_archive.messagesourcehandler.setRequestHeader("Access-Control-Allow-Credentials", "true"); 
    980     //window.alert('vai chamar via ajax o texto'); 
    981    // expresso_mail_archive.messagesourcehandler.open("GET", "http://10.200.242.186:4333/mail/Sent/teste.txt", true); 
    982     //expresso_mail_archive.messagesourcehandler.setRequestHeader("MessageType", "CALL"); 
    983     //expresso_mail_archive.messagesourcehandler.setRequestHeader("Access-Control-Allow-Origin", "*"); 
    984     //expresso_mail_archive.messagesourcehandler.setRequestHeader("Access-Control-Allow-Credentials", "true");     
    985     //expresso_mail_archive.messagesourcehandler.send(); 
    986 } 
    987  
    988 function AlerteO(){ 
    989     //window.alert('Ajax lido:\n\nState = ' + expresso_mail_archive.messagesourcehandler.readyState + '\nStatus = ' + expresso_mail_archive.messagesourcehandler.status); 
    990 } 
    991  
    992 // -----------------------------------SERIALIZED DATA TEMPLATES ---------------- 
    993 MailArchiver.prototype.toExpressoAddress = function(data){ 
    994     if((typeof(data) != 'undefined') && (data.length > 0)){ 
    995         /*var dataFormat = expresso_mail_archive.toExpressoFormatNameMail(data); 
    996         var dataName = dataFormat[0]; 
    997         var dataEmail = dataFormat[1]; 
    998         */ 
    999         //window.alert('em toExpressoFrom com data = \n' + data + '[' + typeof(data) + ']('+data.length+')'); 
    1000         var Fromdata = eval("(" + data + ")"); 
    1001         //window.alert('temos ' + Fromdata.mailbox.length + ' destinatarios/remetentes a lidar...'); 
    1002         //window.alert('name = ' + Fromdata.mailbox["@name"] + '\nlocal part = ' + Fromdata.mailbox["@localPart"] + '\ndomain = ' + Fromdata.mailbox["@domain"]); 
    1003       
    1004         //one address 
    1005         if(typeof(Fromdata.mailbox.length) == 'undefined'){ 
    1006             var dataName = Fromdata.mailbox["@name"];                
    1007             var dataEmail = Fromdata.mailbox["@localPart"] + '@' + Fromdata.mailbox["@domain"]; 
    1008             if(dataName == 'null') 
    1009                 dataName = dataEmail; 
    1010         } 
    1011         //address list: to header(msgs list), only first metters 
    1012         else{ 
    1013             var dataName = Fromdata.mailbox[0]["@name"]; 
    1014             var dataEmail = Fromdata.mailbox[0]["@localPart"] + '@' + Fromdata.mailbox[0]["@domain"]; 
    1015             if(dataName == 'null') 
    1016                 dataName = dataEmail; 
    1017         } 
    1018  
    1019         var tplFrom = 'a:3:{' 
    1020 +           's:4:"name";' 
    1021 +           's:'+dataName.length+':"'+dataName+'";' 
    1022 +           's:5:"email";' 
    1023 +           's:'+dataEmail.length+':"'+dataEmail+'";' 
    1024 +           's:4:"full";' 
    1025 +           's:'+(dataName.length + dataEmail.length + 3)+':"'+dataName+' <'+dataEmail+'>";' 
    1026 +       '}'; 
    1027     //window.alert('from = ' + tplFrom); 
    1028     } 
    1029     //Data adrress from mailbox is empty, null, or canot be correctly returned by service invocation (will return 'unknow mailbox' string) 
    1030     else { 
    1031         tplFrom = 'a:2{s:4:"name";s:14:"Unknow mailbox";s:5:"email";s:15:"Unknow_mailbox";}'; 
    1032     } 
    1033     return(tplFrom); 
    1034 } 
    1035  
    1036 MailArchiver.prototype.toExpressoSubject = function(data){ 
    1037     if((typeof(data) != 'undefined') && (data.length > 0)){ 
    1038         var tplSbj = 's:'+data.length+':"'+data+'";' 
    1039     } 
    1040     //Subject is empty, null, or canot be correctly returned by service invocation (will return 'Message without subject' string) 
    1041     else { 
    1042         tplSbj = 's:25:"[Message without subject]";'; 
    1043     } 
    1044     return(tplSbj); 
    1045 } 
    1046  
    1047 MailArchiver.prototype.toExpressoAttachmentsHeader = function(data){ 
    1048     if((typeof(data) != 'undefined') && (data.length > 0)){ 
    1049         var Attdata = eval("(" + data + ")"); 
    1050         if(typeof(Attdata.attachment) != 'undefined'){                     
    1051             var tplAttatch = 'a:2:{' 
    1052 +               's:5:"names";'; 
    1053             //More than 1 attachment - because length will be 'undefined' if just one exists 
    1054             if(Attdata.attachment.length > 0){ 
    1055                 var strnamesatt = ""; 
    1056                 for(var x=0; x<Attdata.attachment.length; x++){ 
    1057                   var attId = Attdata.attachment[x]["@id"]; 
    1058                   var attName = Attdata.attachment[x]["@name"]; 
    1059                   var attSize = Attdata.attachment[x]["@size"]; 
    1060                   var attMediaType = Attdata.attachment[x]["@mediaType"]; 
    1061                   var attSubType = Attdata.attachment[x]["@subType"]; 
    1062                   var attEncoding = Attdata.attachment[x]["@encoding"]; 
    1063                    
    1064                   strnamesatt += attName + ', '; 
    1065                 } 
    1066                 strnamesatt = strnamesatt.substr(0, strnamesatt.length-2); 
    1067                 var intnumberatt = Attdata.attachment.length; 
    1068             } 
    1069             //Just one attachment 
    1070             else{ 
    1071                 var attId = Attdata.attachment["@id"]; 
    1072                 var attName = Attdata.attachment["@name"]; 
    1073                 var attSize = Attdata.attachment["@size"]; 
    1074                 var attMediaType = Attdata.attachment["@mediaType"]; 
    1075                 var attSubType = Attdata.attachment["@subType"]; 
    1076                 var attEncoding = Attdata.attachment["@encoding"]; 
    1077                 strnamesatt = attName; 
    1078                 var intnumberatt = 1; 
    1079             } 
    1080              
    1081             tplAttatch += 's:'+strnamesatt.length+':"'+strnamesatt+'";' 
    1082 +               's:18:"number_attachments";i:' +intnumberatt+';' 
    1083 +           '}'; 
    1084         } 
    1085         else { 
    1086             tplAttatch = 'a:2:{s:5:"names";b:0;s:18:"number_attachments";i:0;}';     
    1087         } 
    1088     } 
    1089     //No attatch data 
    1090     else { 
    1091         tplAttatch = 'a:2:{s:5:"names";b:0;s:18:"number_attachments";i:0;}'; 
    1092     } 
    1093     return(tplAttatch); 
    1094 } 
    1095  
    1096 MailArchiver.prototype.toExpressoDate = function(data){ 
    1097     var ndate = new Date(data); 
    1098     //ndate.setTime(data); 
    1099     var odate = zeroFill(ndate.getDate()) + '/' + zeroFill(ndate.getMonth()+1) + '/' + zeroFill(ndate.getFullYear() + ' ' + zeroFill(ndate.getHours()) + ':' + zeroFill(ndate.getMinutes()) + ':' + zeroFill(ndate.getSeconds())); 
    1100     return(odate); 
    1101 } 
    1102  
    1103 MailArchiver.prototype.toExpressoFlags = function(data){ 
    1104     if((data.length > 0) && (typeof(data) != 'undefined')){ 
    1105         var Tagdata = eval("(" + data + ")"); 
    1106         //More than 1 attachment - because length will be 'undefined' if just one exists 
    1107         if(Tagdata.tag.length >= 0){ 
    1108             var strnamestag = ""; 
    1109             for(var x=0; x<Tagdata.tag.length; x++){ 
    1110                 var tagvalue = Tagdata.tag[x]["@value"]; 
    1111                 if(tagvalue.toLowerCase().indexOf('recent')!= -1) 
    1112                     strnamestag += 's:6:"Recent";s:1:"N";'; 
    1113                 if(tagvalue.toLowerCase().indexOf('unseen')!= -1) 
    1114                     strnamestag += 's:6:"Unseen";s:1:"U";'; 
    1115                 if(tagvalue.toLowerCase().indexOf('answered')!= -1) 
    1116                     strnamestag += 's:8:"Answered";s:1:"A";'; 
    1117                 if(tagvalue.toLowerCase().indexOf('forwarded')!= -1) 
    1118                     strnamestag += 's:9:"Forwarded";s:1:"F"'; 
    1119                 if(tagvalue.toLowerCase().indexOf('draft')!= -1) 
    1120                     strnamestag += 's:5:"Draft";s:1:"X";'; 
    1121                 if(tagvalue.toLowerCase().indexOf('importance')!= -1) 
    1122                     strnamestag += 's:10:"Importance";s:6:"High";'; 
    1123                 if(tagvalue.toLowerCase().indexOf('flagged')!= -1) 
    1124                     strnamestag += 's:7:"Flagged";s:1:"F";';                        
    1125             }  
    1126             var tplTags = strnamestag; 
    1127         } 
    1128         else{ 
    1129             var strnamestag = ""; 
    1130             var tagvalue = Tagdata.tag["@value"]; 
    1131             if(tagvalue.toLowerCase().indexOf('recent')!= -1) 
    1132                 strnamestag += 's:6:"Recent";s:1:"N";'; 
    1133             if(tagvalue.toLowerCase().indexOf('unseen')!= -1) 
    1134                 strnamestag += 's:6:"Unseen";s:1:"U";'; 
    1135             if(tagvalue.toLowerCase().indexOf('answered')!= -1) 
    1136                 strnamestag += 's:8:"Answered";s:1:"A";'; 
    1137             if(tagvalue.toLowerCase().indexOf('forwarded')!= -1) 
    1138                 strnamestag += 's:9:"Forwarded";s:1:"F"'; 
    1139             if(tagvalue.toLowerCase().indexOf('draft')!= -1) 
    1140                 strnamestag += 's:5:"Draft";s:1:"X";'; 
    1141             if(tagvalue.toLowerCase().indexOf('importance')!= -1) 
    1142                 strnamestag += 's:10:"Importance";s:6:"High";'; 
    1143             if(tagvalue.toLowerCase().indexOf('flagged')!= -1) 
    1144                 strnamestag += 's:7:"Flagged";s:1:"F";';  
    1145             var tplTags = strnamestag; 
    1146         } 
    1147     } 
    1148     else{ 
    1149         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;'; 
    1150     } 
    1151     return(tplTags); 
    1152 } 
    1153  
    1154 MailArchiver.prototype.toExpressoHeader = function(data){    
    1155     var tplHeader = 'a:16:{' 
    1156 +           's:11:"ContentType";' 
    1157 +           's:' + data.getContentType().length + ':"' + data.getContentType() + '";' 
    1158 +           expresso_mail_archive.toExpressoFlags(data.getTags()) 
    1159 +           's:10:"msg_number";' 
    1160 +           's:'+data.getId().length+':"'+data.getId()+'";' 
    1161 +           's:5:"udate";' 
    1162 +           'i:' + parseInt(data.getDate()/1000) + ';' 
    1163 +           's:9:"timestamp";' 
    1164 +           'i:' + parseInt(data.getDate()/1000) + ';' 
    1165 +           's:4:"from";' 
    1166 +           expresso_mail_archive.toExpressoAddress(data.getFrom()) 
    1167 +           's:2:"to";' 
    1168 +           expresso_mail_archive.toExpressoAddress(data.getTo()) 
    1169 +           's:7:"subject";' 
    1170 +           expresso_mail_archive.toExpressoSubject(data.getSubject()) 
    1171 +           's:4:"Size";' 
    1172 +           'i:'+data.getSize()+';' 
    1173 +           's:10:"attachment";' 
    1174 +           expresso_mail_archive.toExpressoAttachmentsHeader(data.getAttachments()) 
    1175 +           '}'; 
    1176     //window.alert('Serialized data\n\n' + tplHeader + '\ngmtoffset: ' + gmtoffset); 
    1177     return(tplHeader); 
    1178 } 
    1179  
    1180 MailArchiver.prototype.toExpressoBody = function(mheader){ 
    1181     var tplBody = 'a:33:{' 
    1182 +                   's:4:"body";N;' 
    1183 +                   's:11:"attachments";N;' 
    1184 +                   's:6:"thumbs";N;' 
    1185 +                   's:9:"signature";N;' 
    1186 +                   's:10:"Importance";s:6:"Normal";' 
    1187 +                   's:6:"Recent";s:1:" ";' 
    1188 +                   's:6:"Unseen";s:1:"N";' 
    1189 +                   's:7:"Deleted";s:1:" ";' 
    1190 +                   's:7:"Flagged";b:0;' 
    1191 +                   's:8:"Answered";s:1:" ";' 
    1192 +                   's:5:"Draft";s:1:" ";' 
    1193 +                   's:10:"msg_number";s:4:"2241";' 
    1194 +                   's:10:"msg_folder";s:5:"INBOX";' 
    1195 +                   's:5:"udate";s:5:"10:01";' 
    1196 +                   's:7:"msg_day";s:10:"10/05/2011";' 
    1197 +                   's:8:"msg_hour";s:5:"10:02";' 
    1198 +                   's:8:"fulldate";s:36:"10/05/2011 10:01 (05:35 horas atras)";' 
    1199 +                   's:9:"smalldate";s:5:"10:04";' 
    1200 +                   's:4:"from";N;' 
    1201 +                   's:6:"sender";a:3:{' 
    1202 +                       's:4:"name";N;' 
    1203 +                       's:5:"email";s:46:"listaregional-pae-bounces@grupos.serpro.gov.br";' 
    1204 +                       's:4:"full";s:46:"listaregional-pae-bounces@grupos.serpro.gov.br";' 
    1205 +                   '}' 
    1206 +                   's:10:"toaddress2";s:32:"comunicacao.social@serpro.gov.br";' 
    1207 +                   's:2:"cc";N;' 
    1208 +                   's:3:"bcc";N;' 
    1209 +                   's:8:"reply_to";N;' 
    1210 +                   's:7:"subject";N;' 
    1211 +                   's:4:"Size";s:4:"1234";' 
    1212 +                   's:15:"reply_toaddress";s:45:"com.social <comunicacao.social@serpro.gov.br>";' 
    1213 +                   's:9:"timestamp";i:1305032476;' 
    1214 +                   's:5:"login";i:944889240;' 
    1215 +                   's:6:"header";a:16:{' 
    1216 +                      's:11:"ContentType";s:6:"normal";' 
    1217 +                      's:10:"Importance";s:6:"Normal";' 
    1218 +                      's:6:"Recent";s:1:" ";' 
    1219 +                      's:6:"Unseen";s:1:"N";' 
    1220 +                      's:8:"Answered";s:1:" ";' 
    1221 +                      's:5:"Draft";s:1:" ";' 
    1222 +                      's:7:"Deleted";s:1:" ";' 
    1223 +                      's:7:"Flagged";b:0;' 
    1224 +                      's:10:"msg_number";s:4:"2251";' 
    1225 +                      's:5:"udate";s:10:"10/05/2011";' 
    1226 +                      's:11:"offsetToGMT";i:-10800;' 
    1227 +                      's:8:"aux_date";N;' 
    1228 +                      's:4:"from";a:2:{' 
    1229 +                         's:4:"name";s:10:"com.social";' 
    1230 +                         's:5:"email";s:32:"comunicacao.social@serpro.gov.br";' 
    1231 +                      '}' 
    1232 +                      's:2:"to";a:2:{' 
    1233 +                         's:4:"name";s:32:"comunicacao.social@serpro.gov.br";' 
    1234 +                         's:5:"email";s:32:"comunicacao.social@serpro.gov.br";' 
    1235 +                      '}' 
    1236 +                      's:7:"subject";s:28:"Primeira leitura - 10/5/2011";' 
    1237 +                      's:4:"Size";N;' 
    1238 +                      's:10:"attachment";a:2:{' 
    1239 +                         's:5:"names";b:0;' 
    1240 +                         's:18:"number_attachments";i:0;' 
    1241 +                      '}' 
    1242 +                  '}' 
    1243 +                  's:12:"array_attach";N;' 
    1244 +                  's:15:"url_export_file";s:160:"inc/gotodownload.php?idx_file=/var/www/expressov2/expressoMail1_2/inc/../tmpLclAtt/source_38a3e960115351578aa182ae1d6c2b7b.txt&newfilename=fonte_da_mensagem.txt";' 
    1245 +                  's:2:"to";N;' 
    1246 +              '}'; 
    1247     return(tplBody); 
    1248 } 
    1249  
    1250 MailArchiver.prototype.toExpressoMessage = function(mheader, mbody){ 
    1251     var strMessage = null; 
    1252     var strMessage1 = expresso_mail_archive.toExpressoBody(mheader); 
    1253     //var str3 = connector.unserialize(strMessage1); 
    1254     //strMessage =  eval("(" + strMessage1 + ")"); 
    1255     strMessage = connector.unserialize(strMessage1); 
    1256      
    1257     window.alert('dump strMessage:\n\n' + print_r(strMessage,0)); 
    1258      
    1259     strMessage['from'] = mheader["from"]; 
    1260     //strMessage['from'] = expresso_mail_archive.toExpressoBody(mheader, mbody); 
    1261     strMessage['subject'] = mheader["subject"]; 
    1262     strMessage['body'] = mbody; 
    1263     strMessage['to'] = mheader["to"]; 
    1264     strMessage['cc'] = mheader["cc"]; 
    1265     strMessage['local_message'] = true; 
    1266     strMessage['folder'] = 'local_' + expresso_mail_archive.currentfolder; 
    1267     strMessage['msg_number'] = mheader["msg_number"]; 
    1268     //window.alert('strMessage dump\n\n' + print_r(strMessage)); 
    1269     return(strMessage); 
    1270  
    1271  
    1272 /* 
    1273  *      retorno['from'] = connector.unserialize(rs.field(2)); 
    1274         retorno['subject'] = rs.field(3); 
    1275         retorno['body'] = rs.field(4); 
    1276         //Codigo que as imagens embutidas em emails (com multipart/related ou multipart/mixed) sejam corretamente mostradas em emails arquivados. Os links do 
    1277         //tipo "./inc/show_embedded_attach.php?msg_folder=[folder]&msg_num=[msg_num]&msg_part=[part]" 
    1278         //são substituidos pelos links dos anexos capturados pelo gears. 
    1279  
    1280         var thumbs= retorno.thumbs; 
    1281         var anexos= retorno.array_attach; 
    1282         for (i in anexos) 
    1283         { 
    1284             if(anexos[i]['url'] && anexos[i]['url'].match(/((jpg)|(jpeg)|(png)|(gif)|(bmp))/gi)) 
    1285             { 
    1286                 var er_imagens = new RegExp("\\.\\/inc\\/show_embedded_attach.php\\?msg_folder=[\\w/]+\\&msg_num=[0-9]+\\&msg_part="+anexos[i]['pid']); 
    1287                 var Result_imagens = er_imagens.exec(retorno['body']); 
    1288                 retorno['body'] = retorno['body'].replace(Result_imagens,anexos[i]['url']); 
    1289                 if(thumbs && thumbs[i]){ 
    1290                     er_imagens = new RegExp("\\.\\/inc\\/show_thumbs.php\\?file_type=image\\/[\\w]+\\&msg_num=[0-9]+\\&msg_folder=[\\w/%]+\\&msg_part="+anexos[i]['pid']); 
    1291                     Result_imagens = er_imagens.exec(thumbs[i]); 
    1292                     thumbs[i] = thumbs[i].replace(Result_imagens,"'"+anexos[i]['url']+"'"); 
    1293                     er_imagens = new RegExp("\\.\\/inc\\/show_img.php\\?msg_num=[0-9]+\\&msg_folder=[\\w/%]+\\&msg_part="+anexos[i]['pid']); 
    1294                     Result_imagens = er_imagens.exec(thumbs[i]); 
    1295                     thumbs[i] = thumbs[i].replace(Result_imagens,anexos[i]['url']); 
    1296                     thumbs[i] = thumbs[i].replace(/<IMG/i,'<img width="120"'); 
    1297                 } 
    1298             } 
    1299         } 
    1300  
    1301         retorno['to'] = connector.unserialize(rs.field(5)); 
    1302         retorno['cc'] = connector.unserialize(rs.field(6)); 
    1303  
    1304         retorno['local_message'] = true; 
    1305         retorno['msg_folder'] = "local_"+rs.field(7); //Now it's a local folder 
    1306         retorno['msg_number'] = rs.field(0)+plus_id; //the message number is the rowid 
    1307  **/     
    1308 } 
    1309  
     981 
     982MailArchiver.prototype.getMessageServiceObject = function(msgid){ 
     983    for(var i=0; i < expresso_mail_archive.ServiceReturnObject.length; i++){ 
     984        if (expresso_mail_archive.ServiceReturnObject[i].getId() == msgid){ 
     985            return(expresso_mail_archive.ServiceReturnObject[i]); 
     986        } 
     987    } 
     988    return(null); 
     989} 
    1310990 
    1311991MailArchiver.prototype.Query = function(offlow, offup, qdata){ 
Note: See TracChangeset for help on using the changeset viewer.