Changeset 4715 for sandbox/expressoMail1_2/MailArchiver/2.2
- Timestamp:
- 07/14/11 09:11:47 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/js/mail_archiver.js
r4658 r4715 60 60 } 61 61 62 function zeroFill(d){ 63 if(parseInt(d) < 10) 64 return('0' + d); 65 else 66 return(d); 67 } 68 69 /** 70 * Concatenates the values of a variable into an easily readable string 71 * by Matt Hackett [scriptnode.com] 72 * @param {Object} x The variable to debug 73 * @param {Number} max The maximum number of recursions allowed (keep low, around 5 for HTML elements to prevent errors) [default: 10] 74 * @param {String} sep The separator to use between [default: a single space ' '] 75 * @param {Number} l The current level deep (amount of recursion). Do not use this parameter: it's for the function's own use 76 */ 77 function print_r(x, max, sep, l) { 78 79 l = l || 0; 80 max = max || 100; 81 sep = sep || ' '; 82 83 if (l > max) { 84 return "[WARNING: Too much recursion]\n"; 85 } 86 87 var 88 i, 89 r = '', 90 t = typeof x, 91 tab = ''; 92 93 if (x === null) { 94 r += "(null)\n"; 95 } else if (t == 'object') { 96 97 l++; 98 99 for (i = 0; i < l; i++) { 100 tab += sep; 101 } 102 103 if (x && x.length) { 104 t = 'array'; 105 } 106 107 r += '(' + t + ") :\n"; 108 109 for (i in x) { 110 try { 111 r += tab + '[' + i + '] : ' + print_r(x[i], max, sep, (l + 1)); 112 } catch(e) { 113 return "[ERROR: " + e + "]\n"; 114 } 115 } 116 117 } else { 118 119 if (t == 'string') { 120 if (x == '') { 121 x = '(empty)'; 122 } 123 } 124 125 r += '(' + t + ') ' + x + "\n"; 126 127 } 128 129 return r; 130 131 }; 132 var_dump = print_r; 133 134 135 62 136 //Main object structure: object property data definition 63 137 function MailArchiver() { … … 103 177 else 104 178 tem_tag = false; 105 106 179 try{ 107 180 if (obj.enabled){ … … 148 221 expresso_mail_archive.interval = 5000; 149 222 expresso_mail_archive.timer = window.setInterval(expresso_mail_archive.getServicesStatus, expresso_mail_archive.interval); 223 var drawinginfo = {treeObject: tree_folders, treeName: 'tree_folders', folderName: 'local_root'}; 224 expresso_mail_archive.currentfolder = 'local_root'; 225 expresso_mail_archive.drawdata = drawinginfo; 226 expresso_mail_archive.getFoldersList(); 150 227 } 151 228 } … … 198 275 **/ 199 276 MailArchiver.prototype.Restart = function(obj){ 200 window.alert('Trying reboot...');201 202 277 obj.SystemCheck(); 203 278 obj.ActivateStatusListener(obj); 204 //tree_folders.getNodeById('local_root')._refresh();205 279 auto_refresh(); 206 280 } … … 212 286 this.SystemCheck(); 213 287 } 288 289 MailArchiver.prototype.serializeToExpresso = function(data){ 290 return(connector.serialize(data)); 291 } 292 293 MailArchiver.prototype.unserializeFromExpresso = function(data){ 294 return(connector.unserialize(data)); 295 } 296 214 297 215 298 MailArchiver.prototype.CreateMessageList = function(msg_list){ … … 233 316 //Archive Operation 234 317 MailArchiver.prototype.Archive = function(source_folder,destination_folder,msgs_id){ 235 window.alert('tentando arquivar a mensagem [' + msgs_id + '], do folder ['+source_folder+'] para a pasta destino ['+destination_folder+']');318 //window.alert('tentando arquivar a mensagem [' + msgs_id + '], do folder ['+source_folder+'] para a pasta destino ['+destination_folder+']'); 236 319 try{ 237 320 document.getElementById('main_title').innerHTML = get_lang("Starting to archive messages"); … … 245 328 //Sets the folders properties: destination and origin 246 329 expresso_mail_archive.folder_origin = source_folder; 247 window.alert('substr(0,5) = ' + destination_folder.substr(0,5));330 //window.alert('substr(0,5) = ' + destination_folder.substr(0,5)); 248 331 if(destination_folder.substr(0,5) == 'local') 249 332 expresso_mail_archive.folder_destination = destination_folder.substr(6,destination_folder.length); … … 251 334 expresso_mail_archive.folder_destination = destination_folder; 252 335 253 window.alert('destination_folder = ' + expresso_mail_archive.folder_destination);336 //window.alert('destination_folder = ' + expresso_mail_archive.folder_destination); 254 337 255 338 var arch_handler = function(data){ … … 302 385 } 303 386 catch (e){ 304 window.alert(' Ops...List folders fails at:\n' + e.description);387 window.alert('AQUI MESMO\nOps...List folders fails at:\n' + e.description); 305 388 } 306 389 } … … 346 429 //If something UI related have been flagged, handle it 347 430 if (expresso_mail_archive.drawdata){ 431 //window.alert('com drawdata'); 348 432 expresso_mail_archive.drawFolderTree(); 349 433 } … … 358 442 //drawFolderTree operation, if requested to 359 443 MailArchiver.prototype.drawFolderTree = function(){ 444 //window.alert('na api de foldertree'); 360 445 var localBaseName = 'local_'; 361 446 var objectTree = expresso_mail_archive.drawdata.treeObject; … … 378 463 379 464 //Adjust the id node names 380 if(expresso_mail_archive.currentfolder.substr(0,5) != 'local'){ 381 evalobjectTree.add(n_demo, localBaseName + expresso_mail_archive.currentfolder); 465 if(expresso_mail_archive.currentfolder){ 466 if(expresso_mail_archive.currentfolder.substr(0,5) != 'local'){ 467 evalobjectTree.add(n_demo, localBaseName + expresso_mail_archive.currentfolder); 468 } 469 else{ 470 evalobjectTree.add(n_demo,expresso_mail_archive.currentfolder); 471 } 382 472 } 383 else{ 473 else { 474 expresso_mail_archive.currentfolder = 'local_root'; 384 475 evalobjectTree.add(n_demo,expresso_mail_archive.currentfolder); 385 476 } … … 507 598 508 599 //listMessages operation 509 MailArchiver.prototype.listMessages = function(listQuery){ 510 try{ 511 ///ArchiveServices.listMessages() 600 MailArchiver.prototype.listMessages = function(){ 601 try{ 602 var folderid = expresso_mail_archive.currentfolder; 603 var testing_data_xml = '<?xml version="1.0" encoding="UTF-8"?><query lowerIndex="0" upperIndex="50"><folder id="'+folderid+'"/><order asc="date"/><order desc="subject"/></query>'; 604 var testing_data_json_mapped = '{"query":{"@lowerIndex":"0", "@upperIndex":"50", "folder":[{"@id":"'+folderid+'"}], "order":[{"@asc":"date", "@desc":"subject"}]}}'; 605 var testing_data = testing_data_json_mapped; 606 //window.alert('vai chamar o listMessages com testing_data = ' + testing_data); 607 ArchiveServices.listMessages(expresso_mail_archive.listMessagesOperationOK, expresso_mail_archive.listMessagesOperationFailure, sessid, testing_data); 512 608 } 513 609 catch (e){ … … 518 614 //listMessages callback OK 519 615 MailArchiver.prototype.listMessagesOperationOK = function(returnService){ 616 var msglist = new Array(); 617 /*window.alert('Dados da mensagem:\n->From ' + returnService.getReturn()[0].getFrom() 618 +'\n->To ' + returnService.getReturn()[0].getTo() 619 +'\n->Subject ' + returnService.getReturn()[0].getSubject() 620 +'\n->Date ' + returnService.getReturn()[0].getDate() 621 +'\n->Date ' + returnService.getReturn()[0].getSize() 622 +'\n->ID ' + returnService.getReturn()[0].getId()); 623 */ 624 for(var i=0; i< returnService.getReturn().length; i++){ 625 //window.alert('quer deserializar:\n\n' + print_r(returnService.getReturn()[i])); 626 var ExpSerialized = expresso_mail_archive.toExpressoHeader(returnService.getReturn()[i]); 627 //window.alert('expSerialized ' + i + '\n\n --\n\n' + print_r(ExpSerialized)); 628 //var test = connector.unserialize(ExpSerialized); 629 //window.alert('unserialized = \n\n' + test); 630 msglist.push(connector.unserialize(ExpSerialized));//usando connector.unserialize sobre o header mapeado no layout abaixo 631 } 632 msglist["num_msgs"] = returnService.getReturn().length; 633 //window.alert('print_r\n\n' + print_r(msglist)); 634 expresso_mail_archive.drawdata = {messagesList:msglist}; 635 expresso_mail_archive.drawMessagesList(); 636 } 637 638 //listMessages callback Fail 639 MailArchiver.prototype.listMessagesOperationFailure = function(ServiceFault){ 640 window.alert('listmessages FALHOU!\n' + ServiceFault.getReturn()); 641 } 642 643 MailArchiver.prototype.drawMessagesList = function(){ 644 var data_to_draw = expresso_mail_archive.drawdata.messagesList; 645 //window.alert('data to draw = ' + data_to_draw.length + '\ndata_to_draw[0].from.full = ' + print_r(data_to_draw)); 520 646 521 } 522 523 //listMessages callback Fail 524 MailArchiver.prototype.listMessagesOperationFailure = function(serviceFault){ 647 alternate_border(0); 648 Element("border_id_0").innerHTML = " " + lang_folder(expresso_mail_archive.currentfolder) + ' <font face="Verdana" size="1" color="#505050">[<span id="new_m"> </span> / <span id="tot_m"></span>]</font>'; 649 draw_box(data_to_draw, expresso_mail_archive.currentfolder, true); 650 draw_paging(expresso_mail_archive.drawdata.messagesList.length); 651 Element("tot_m").innerHTML = expresso_mail_archive.drawdata.messagesList.length; 652 //update_menu(); 525 653 526 654 } 527 655 656 // -----------------------------------SERIALIZED DATA TEMPLATES ---------------- 657 MailArchiver.prototype.toExpressoAddress = function(data){ 658 /*var dataFormat = expresso_mail_archive.toExpressoFormatNameMail(data); 659 var dataName = dataFormat[0]; 660 var dataEmail = dataFormat[1]; 661 */ 662 //window.alert('em toExpressoFrom com data = \n' + data + '[' + typeof(data) + ']('+data.length+')'); 663 var Fromdata = eval("(" + data + ")"); 664 var dataName = Fromdata.mailbox.name.$; 665 var dataEmail = Fromdata.mailbox.localPart.$ + '@' + Fromdata.mailbox.domain.$; 666 //window.alert('name = ' + Fromdata.mailbox.name.$ + '\nlocal part = ' + Fromdata.mailbox.localPart.$ + '\ndomain = ' + Fromdata.mailbox.domain.$); 667 668 var tplFrom = 'a:2:{' 669 + 's:4:"name";' 670 + 's:'+dataName.length+':"'+dataName+'";' 671 + 's:5:"email";' 672 + 's:'+dataEmail.length+':"'+dataEmail+'";' 673 + 's:4:"full";' 674 + 's:'+(dataName.length + dataEmail.length + 3)+':"'+dataName+'" <'+dataEmail+'>;' 675 + '}'; 676 //window.alert('retorno do email: ' + tplFrom); 677 return(tplFrom); 678 } 679 680 MailArchiver.prototype.toExpressoDate = function(data){ 681 var ndate = new Date(data); 682 var odate = zeroFill(ndate.getDay()) + '/' + zeroFill(ndate.getMonth()) + '/' + zeroFill(ndate.getFullYear()); 683 return(odate); 684 } 685 686 MailArchiver.prototype.toExpressoHour = function(data){ 687 var ndate = new Date(data); 688 var ohour = zeroFill(ndate.getHours()) + ':' + zeroFill(ndate.getMinutes()) + ':' + zeroFill(ndate.getSeconds()); 689 return(ohour); 690 } 691 692 MailArchiver.prototype.toExpressoCC = function(data){ 693 var tplCC = "s:"+data.getCC().length+":\""+data.getCC()+"\";"; 694 return(tplCC); 695 } 696 697 MailArchiver.prototype.toExpressoTo = function(data){ 698 var tplTo = "s:"+data.getTo().length+":\""+data.getTo()+"\";"; 699 return(tplTo); 700 } 701 702 /** 703 *+ 's:'+expresso_mail_archive.toExpressoDate(data.getDate()).length+':"'+expresso_mail_archive.toExpressoDate(data.getDate())+'";' 704 + 's:7:"msg_day";' 705 + 's:'+expresso_mail_archive.toExpressoDate(data.getDate()).length+':"'+expresso_mail_archive.toExpressoDate(data.getDate())+'";' 706 + 's:8:"msg_hour";' 707 + 's:'+expresso_mail_archive.toExpressoHour(data.getDate()).length+':"'+expresso_mail_archive.toExpressoHour(data.getDate())+'";' 708 + 's:8:"fulldate";' 709 + '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())+'";' 710 + 's:9:"smalldate";' 711 + 's:'+expresso_mail_archive.toExpressoDate(data.getDate()).length+':"'+expresso_mail_archive.toExpressoDate(data.getDate())+'";' 712 + 's:8:"aux_date";' 713 + 's:1:"N";' 714 */ 715 716 717 MailArchiver.prototype.toExpressoHeader = function(data){ 718 var tplHeader = 'a:16:{' 719 + 's:11:"ContentType";' 720 + 's:6:"normal";' 721 + 's:10:"Importance";' 722 + 's:6:"Normal";' 723 + 's:6:"Recent";' 724 + 's:1:" ";' 725 + 's:6:"Unseen";' 726 + 's:1:"N";' 727 + 's:8:"Answered";' 728 + 's:1:" ";' 729 + 's:5:"Draft";' 730 + 's:1:" ";' 731 + 's:7:"Deleted";' 732 + 's:1:" ";' 733 + 's:7:"Flagged";' 734 + 'b:0;' 735 + 's:10:"msg_number";' 736 + 's:'+data.getId().length+':"'+data.getId()+'";' 737 + 's:4:"from";' 738 + expresso_mail_archive.toExpressoAddress(data.getFrom()) 739 + 's:2:"to";' 740 + expresso_mail_archive.toExpressoAddress(data.getTo()) 741 + 's:7:"subject";' 742 + 's:'+data.getSubject().length+':"'+data.getSubject()+'";' 743 + 's:4:"Size";' 744 + 'i:'+data.getSize()+';' 745 + 's:5:"udate";' 746 + 's:10:"01/04/2011";' 747 + 's:7:"msg_day";' 748 + 's:10:"01/04/2011";' 749 + 's:8:"msg_hour";' 750 + 's:8:"01:01:59";' 751 + 's:8:"fulldate";' 752 + 's:19:"01/04/2011 01:01:59";' 753 + 's:9:"smalldate";' 754 + 's:10:"01/04/2011";' 755 + 's:10:"attachment";' 756 + 'a:2:{' 757 + 's:5:"names";' 758 + 'b:0;' 759 + 's:18:"number_attachments";' 760 + 'i:0;' 761 + '}' 762 + 's:8:"aux_date";' 763 + 's:10:"01/04/2011";' 764 + '}'; 765 //window.alert('Expresso Header draw data = ' + tplHeader); 766 return(tplHeader); 767 } 768 769 MailArchiver.prototype.toExpressoMail = function(data){ 770 771 } 528 772 /* 529 773 *The all pourpose JavaScript variable, used by all related functionalityes at
Note: See TracChangeset
for help on using the changeset viewer.