'; for (x in expresso_mail_archive.folders[w]){ strFolders += '\n----------' + x + ':= ' + expresso_mail_archive.folders[w][x]; } strFolders += '\n<---'; } strFolders += '\n---'; alert(lfolders.length + ' folders mapeados, com default = ' + expresso_mail_archive.currentfolder + '\nfolders list:\n\n' + strFolders); */ //If something UI related have been flagged, handle it if (expresso_mail_archive.drawdata){ //window.alert('com drawdata'); expresso_mail_archive.drawFolderTree(); } } } //getFolderList callback Fail MailArchiver.prototype.getFoldersListOperationFailure = function(error, http_msg){ window.alert('List folders mistake:' + error + '\nhttp_error = ' + http_msg); } //drawFolderTree operation, if requested to MailArchiver.prototype.drawFolderTree = function(){ //window.alert('na api de foldertree'); var localBaseName = 'local_'; var objectTree = expresso_mail_archive.drawdata.treeObject; var evalobjectTree = eval(expresso_mail_archive.drawdata.treeName); //Add nodes to tree if(expresso_mail_archive.folders.length > 0){ for(i=0; i' + message.getReturn()); } //deleteFolder operation MailArchiver.prototype.deleteFolder = function(folderName){ try{ ArchiveServices.deleteFolder(expresso_mail_archive.deleteFolderOperationOK, expresso_mail_archive.deleteFolderOperationFailure, sessid, folderName, true); } catch (e){ window.alert('Ops...delete folder fails at:\n' + e); } } //deleteFolder callback OK MailArchiver.prototype.deleteFolderOperationOK = function (folderObject){ var fo = IterateIt(folderObject); write_msg(get_lang("The folder " + expresso_mail_archive.drawdata.folderName + " was successfully removed")); draw_tree_local_folders(); ttreeBox.update_folder(); } //deleteFolder callback Fail MailArchiver.prototype.deleteFolderOperationFailure = function (message){ window.alert('Folder deletion fails...\n->' + message.getReturn()); } //renameFolder operation MailArchiver.prototype.renameFolder = function(folderId, newFolderName){ try{ ArchiveServices.renameFolder(expresso_mail_archive.renameFolderOperationOK, expresso_mail_archive.renameFolderOperationFailure, sessid, folderId, newFolderName); } catch (e){ window.alert('Ops...renaming folder fails at:\n' + e); } } //renameFolder callback OK MailArchiver.prototype.renameFolderOperationOK = function (returnService){ var evalobjectTree = eval(expresso_mail_archive.drawdata.treeName); evalobjectTree.update_folder(); } //renameFolder callback Fail MailArchiver.prototype.renameFolderOperationFailure = function (ServiceFault){ window.alert('Folder rename fails...\n->' + ServiceFault.getReturn()); alert(get_lang("cannot rename folder. try other folder name")); } //getFolderInfo operation MailArchiver.prototype.getFolderInfo = function (folderId){ try{ ArchiveServices.getFolderInfo(expresso_mail_archive.getFolderInfoOperationOK, expresso_mail_archive.getFolderInfoOperationFailure, sessid, folderId); } catch (e){ window.alert('Ops...getFolderInfo fails at:\n' + e); } } //getFolderInfo callback OK MailArchiver.prototype.getFolderInfoOperationOK = function(returnService){ var folder_info = {id : returnService.getReturn().getId(), name : returnService.getReturn().getName(), parent : returnService.getReturn().getParentId(), numfolders: returnService.getReturn().getFolderCount(), nummessages: returnService.getReturn().getMessageCount()}; expresso_mail_archive.folder = folder_info; } //getFolderInfo callback Fail MailArchiver.prototype.getFolderInfoOperationFailure = function (ServiceFault){ window.alert('getFolderInfo service fails...\n->' + ServiceFault.getReturn()); } //listMessages operation //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) { //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) { MailArchiver.prototype.listMessages = function(){ try{ var folderid = expresso_mail_archive.currentfolder; var testing_data_xml = ''; var testing_data_json_mapped = '{"query":{"@lowerIndex":"0", "@upperIndex":"50", "folder":[{"@id":"'+folderid+'"}], "order":[{"@asc":"date", "@desc":"subject"}]}}'; var testing_data = testing_data_json_mapped; //window.alert('vai chamar o listMessages com testing_data = ' + testing_data); ArchiveServices.listMessages(expresso_mail_archive.listMessagesOperationOK, expresso_mail_archive.listMessagesOperationFailure, sessid, testing_data); } catch (e){ window.alert('Ops...listMessages fails at:\n' + e); } } //listMessages callback OK MailArchiver.prototype.listMessagesOperationOK = function(returnService){ var msglist = new Array(); /*window.alert('Dados da mensagem:\n->From ' + returnService.getReturn()[0].getFrom() +'\n->To ' + returnService.getReturn()[0].getTo() +'\n->Subject ' + returnService.getReturn()[0].getSubject() +'\n->Date ' + returnService.getReturn()[0].getDate() +'\n->Date ' + returnService.getReturn()[0].getSize() +'\n->ID ' + returnService.getReturn()[0].getId()); */ for(var i=0; i< returnService.getReturn().length; i++){ //window.alert('quer deserializar:\n\n' + print_r(returnService.getReturn()[i])); var ExpSerialized = expresso_mail_archive.toExpressoHeader(returnService.getReturn()[i]); //window.alert('expSerialized ' + i + '\n\n --\n\n' + print_r(ExpSerialized)); //var test = connector.unserialize(ExpSerialized); //window.alert('unserialized = \n\n' + test); msglist.push(connector.unserialize(ExpSerialized));//usando connector.unserialize sobre o header mapeado no layout abaixo } msglist["num_msgs"] = returnService.getReturn().length; //window.alert('print_r\n\n' + print_r(msglist)); expresso_mail_archive.drawdata = {messagesList:msglist}; expresso_mail_archive.drawMessagesList(); } //listMessages callback Fail MailArchiver.prototype.listMessagesOperationFailure = function(ServiceFault){ window.alert('listmessages FALHOU!\n' + ServiceFault.getReturn()); } MailArchiver.prototype.drawMessagesList = function(){ var data_to_draw = expresso_mail_archive.drawdata.messagesList; //window.alert('data to draw = ' + data_to_draw.length + '\ndata_to_draw[0].from.full = ' + print_r(data_to_draw)); alternate_border(0); Element("border_id_0").innerHTML = " " + lang_folder(expresso_mail_archive.currentfolder) + ' [  / ]'; draw_box(data_to_draw, expresso_mail_archive.currentfolder, true); draw_paging(expresso_mail_archive.drawdata.messagesList.length); Element("tot_m").innerHTML = expresso_mail_archive.drawdata.messagesList.length; //update_menu(); } // -----------------------------------SERIALIZED DATA TEMPLATES ---------------- MailArchiver.prototype.toExpressoAddress = function(data){ if((typeof(data) != 'undefined') && (data.length > 0)){ /*var dataFormat = expresso_mail_archive.toExpressoFormatNameMail(data); var dataName = dataFormat[0]; var dataEmail = dataFormat[1]; */ //window.alert('em toExpressoFrom com data = \n' + data + '[' + typeof(data) + ']('+data.length+')'); var Fromdata = eval("(" + data + ")"); var dataName = Fromdata.mailbox["@name"]; var dataEmail = Fromdata.mailbox["@localPart"] + '@' + Fromdata.mailbox["@domain"]; //window.alert('name = ' + Fromdata.mailbox.name.$ + '\nlocal part = ' + Fromdata.mailbox.localPart.$ + '\ndomain = ' + Fromdata.mailbox.domain.$); var tplFrom = 'a:2:{' + 's:4:"name";' + 's:'+dataName.length+':"'+dataName+'";' + 's:5:"email";' + 's:'+dataEmail.length+':"'+dataEmail+'";' + 's:4:"full";' + 's:'+(dataName.length + dataEmail.length + 3)+':"'+dataName+'" <'+dataEmail+'>;' + '}'; } //Data adrress from mailbox is empty, null, or canot be correctly returned by service invocation (will return 'unknow mailbox' string) else { tplFrom = 'a:2{s:4:"name";s:14:"Unknow mailbox";s:5:"email";s:15:"Unknow_mailbox";}'; } return(tplFrom); } MailArchiver.prototype.toExpressoSubject = function(data){ if((typeof(data) != 'undefined') && (data.length > 0)){ var tplSbj = 's:'+data.length+':"'+data+'";' } //Subject is empty, null, or canot be correctly returned by service invocation (will return 'Message without subject' string) else { tplSbj = 's:25:"[Message without subject]";'; } return(tplSbj); } MailArchiver.prototype.toExpressoDate = function(data){ var ndate = new Date(data); var odate = zeroFill(ndate.getDay()) + '/' + zeroFill(ndate.getMonth()) + '/' + zeroFill(ndate.getFullYear()); return(odate); } MailArchiver.prototype.toExpressoHour = function(data){ var ndate = new Date(data); var ohour = zeroFill(ndate.getHours()) + ':' + zeroFill(ndate.getMinutes()) + ':' + zeroFill(ndate.getSeconds()); return(ohour); } MailArchiver.prototype.toExpressoCC = function(data){ var tplCC = "s:"+data.getCC().length+":\""+data.getCC()+"\";"; return(tplCC); } MailArchiver.prototype.toExpressoTo = function(data){ var tplTo = "s:"+data.getTo().length+":\""+data.getTo()+"\";"; return(tplTo); } /** *+ 's:'+expresso_mail_archive.toExpressoDate(data.getDate()).length+':"'+expresso_mail_archive.toExpressoDate(data.getDate())+'";' + 's:7:"msg_day";' + 's:'+expresso_mail_archive.toExpressoDate(data.getDate()).length+':"'+expresso_mail_archive.toExpressoDate(data.getDate())+'";' + 's:8:"msg_hour";' + 's:'+expresso_mail_archive.toExpressoHour(data.getDate()).length+':"'+expresso_mail_archive.toExpressoHour(data.getDate())+'";' + 's:8:"fulldate";' + '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())+'";' + 's:9:"smalldate";' + 's:'+expresso_mail_archive.toExpressoDate(data.getDate()).length+':"'+expresso_mail_archive.toExpressoDate(data.getDate())+'";' + 's:8:"aux_date";' + 's:1:"N";' */ MailArchiver.prototype.toExpressoHeader = function(data){ var tplHeader = 'a:16:{' + 's:11:"ContentType";' + 's:6:"normal";' + 's:10:"Importance";' + 's:6:"Normal";' + 's:6:"Recent";' + 's:1:" ";' + 's:6:"Unseen";' + 's:1:"N";' + 's:8:"Answered";' + 's:1:" ";' + 's:5:"Draft";' + 's:1:" ";' + 's:7:"Deleted";' + 's:1:" ";' + 's:7:"Flagged";' + 'b:0;' + 's:10:"msg_number";' + 's:'+data.getId().length+':"'+data.getId()+'";' + 's:4:"from";' + expresso_mail_archive.toExpressoAddress(data.getFrom()) + 's:2:"to";' + expresso_mail_archive.toExpressoAddress(data.getTo()) + 's:7:"subject";' + expresso_mail_archive.toExpressoSubject(data.getSubject()) + 's:4:"Size";' + 'i:'+data.getSize()+';' + 's:5:"udate";' + 's:10:"01/04/2011";' + 's:7:"msg_day";' + 's:10:"01/04/2011";' + 's:8:"msg_hour";' + 's:8:"01:01:59";' + 's:8:"fulldate";' + 's:19:"01/04/2011 01:01:59";' + 's:9:"smalldate";' + 's:10:"01/04/2011";' + 's:10:"attachment";' + 'a:2:{' + 's:5:"names";' + 'b:0;' + 's:18:"number_attachments";' + 'i:0;' + '}' + 's:8:"aux_date";' + 's:10:"01/04/2011";' + '}'; //window.alert('Expresso Header draw data = ' + tplHeader); return(tplHeader); } MailArchiver.prototype.toExpressoMail = function(data){ } MailArchiver.prototype.Query = function(offlow, offup, qdata){ var querystring = this.queryconfig.query(offlow, offup, qdata); this.listMessages(); } /* *The all pourpose JavaScript variable, used by all related functionalityes at *Expresso Mail to handle this object at user gui. */ var expresso_mail_archive; expresso_mail_archive = new MailArchiver(); -->