'; 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); */ //window.alert('foldersListOperationOK com drawdata:\n' + expresso_mail_archive.drawdata); //If something UI related have been flagged, handle it if (expresso_mail_archive.drawdata){ //window.alert('com drawdata e treeName = ' + expresso_mail_archive.drawdata.treeName); expresso_mail_archive.drawFolderTree(); } } else { expresso_mail_archive.folders = 0; } connector.hideProgressBar(); } //getFolderList callback Fail MailArchiver.prototype.getFoldersListOperationFailure = function(error, http_msg){ window.alert('List folders mistake:' + error + '\nhttp_error = ' + http_msg); connector.hideProgressBar(); } //drawFolderTree operation, if requested to MailArchiver.prototype.drawFolderTree = function(){ var localBaseName = 'local_'; var objectTree = expresso_mail_archive.drawdata.treeObject; var evalobjectTree = (typeof(expresso_mail_archive.drawdata.treeObject) == 'object') ? expresso_mail_archive.drawdata.treeObject: eval( '(' + expresso_mail_archive.drawdata.treeName + ')'); if((expresso_mail_archive.drawdata.treeName == 'search_folders') && (Element('dftree_search_folders'))) evalobjectTree = folders_tree; else{ if((expresso_mail_archive.drawdata.treeName == 'folders_tree') && (Element('dftree_folders_tree'))) evalobjectTree = folders_tree; } //Add nodes to tree if(typeof(evalobjectTree) == 'object'){ //window.alert('caiu pra dentro, com ' + expresso_mail_archive.folders.length + ' folders.'); evalobjectTree._drawn = true; if(expresso_mail_archive.folders.length > 0){ for(i=0; i ('+expresso_mail_archive.folders[i]["unseen"]+')' } var n_demo = new dNode({id: localBaseName + expresso_mail_archive.folders[i]["id"], caption: folder_caption, onClick: onClickVar, plusSign:expresso_mail_archive.folders[i]["haschild"]}); //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"]}); //Adjust the id node names if(expresso_mail_archive.currentfolder){ if(expresso_mail_archive.currentfolder.substr(0,5) != 'local'){ evalobjectTree.add(n_demo, localBaseName + expresso_mail_archive.currentfolder); } else{ evalobjectTree.add(n_demo,expresso_mail_archive.currentfolder); } } else { expresso_mail_archive.currentfolder = 'local_root'; evalobjectTree.add(n_demo,expresso_mail_archive.currentfolder); } } } //Set special folders icons if (document.getElementById('llocal_senttree_folders')){ document.getElementById('llocal_senttree_folders').style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_sent.png)"; } if (document.getElementById('llocal_trashtree_folders')){ document.getElementById('llocal_trashtree_folders').style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_trash.png)"; } if (document.getElementById('llocal_draftstree_folders')){ document.getElementById('llocal_draftstree_folders').style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_draft.png)"; } if (document.getElementById('llocal_outboxtree_folders')){ document.getElementById('llocal_outboxtree_folders').style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_sent.png)"; } } else { //does nothing } } //getFaultInfo operation MailArchiver.prototype.getFaultInfo = function(){ try{ //ArchiveServices.getFaultInfo(expresso_mail_archive.getFaultInfoOperationOK, expresso_mail_archive.getFaultInfoOperationFailure, sessid); ArchiveServices.getFaultInfo(expresso_mail_archive.getFaultInfoOperationOK, expresso_mail_archive.getFaultInfoOperationFailure, expresso_mail_archive.session.id); connector.hideProgressBar(); } catch(e){ if (!expresso_mail_archive.enabled) write_msg(get_lang('MailArchiver does not seems to be running or installed at this workstation, local messages are disabled. Check it out!'),false); else{ window.clearInterval(expresso_mail_archive.timer); write_msg(get_lang('There is something wrong with MailArchiver environment. Contact you support'), false); expresso_mail_archive.enabled = false; expresso_mail_archive.turnOffLocalTreeStructure(); } connector.hideProgressBar(); } } //getFaultInfo callback OK MailArchiver.prototype.getFaultInfoOperationOK = function(faultinfo){ try{ write_msg(get_lang('MailArchiver remote service reports the following error:', false) + faultinfo.getReturn().getSoapFaultString()); } catch(e){ write_msg(get_lang('The archive service reports a unknown error. Try to refresh your browser screen', false)); } expresso_mail_archive.resetObject(); expresso_mail_archive.archivefolder = null; window.setTimeout("eval('document.getElementById(\"main_title\").innerHTML =\"Expresso Mail\"')",3000); connector.purgeCache(); expresso_mail_archive.turnOffLocalTreeStructure(); } //getFaultInfo callback Fail MailArchiver.prototype.getFaultInfoOperationFailure = function(errorCode, errorDesc){ try{ write_msg(get_lang('SoapFault capture fails at:' + errorCode + ' | ' + errorDesc, false)); } catch(e){ write_msg(get_lang('Service error mapping', false)); } } //createFolder operation MailArchiver.prototype.createFolder = function(parentFolder, folderName){ if(typeof(folderName) == "undefined"){ return false; } try{ //ArchiveServices.createFolder(expresso_mail_archive.createFolderOperationOK, expresso_mail_archive.createFolderOperationFailure, sessid, parentFolder, folderName); ArchiveServices.createFolder(expresso_mail_archive.createFolderOperationOK, expresso_mail_archive.createFolderOperationFailure, expresso_mail_archive.session.id, parentFolder, folderName); } catch (e){ expresso_mail_archive.getFaultInfo(); } } //createFolder callback OK MailArchiver.prototype.createFolderOperationOK = function (folderObject){ //window.alert('callback de createfolderoperationok'); draw_tree_local_folders(); //expresso_mail_archive.drawdata.treeObject._drawn = true; //ttreeBox.update_folder(); } //createFolder callback Fail MailArchiver.prototype.createFolderOperationFailure = function (message){ window.alert('Folder creation fails...\n->' + message.getReturn()); } //deleteFolder operation MailArchiver.prototype.deleteFolder = function(folderId, folderName){ try{expresso_mail_archive.drawdata.folderName = folderName; ArchiveServices.deleteFolder(expresso_mail_archive.deleteFolderOperationOK, expresso_mail_archive.deleteFolderOperationFailure, expresso_mail_archive.session.id, folderId, true); } catch (e){ expresso_mail_archive.getFaultInfo(); } } //deleteFolder callback OK MailArchiver.prototype.deleteFolderOperationOK = function (folderObject){ write_msg(get_lang("The local folder %1 was successfully removed", expresso_mail_archive.drawdata.folderName)); connector.purgeCache(); //ttreeBox.name_folder = "root"; //ttreeBox.update_folder(); draw_tree_local_folders(); //ttreeBox.update_folder(); } //deleteFolder callback Fail MailArchiver.prototype.deleteFolderOperationFailure = function (message){ expresso_mail_archive.getFaultInfo(); } //renameFolder operation MailArchiver.prototype.renameFolder = function(folderId, newFolderName){ try{ //ArchiveServices.renameFolder(expresso_mail_archive.renameFolderOperationOK, expresso_mail_archive.renameFolderOperationFailure, sessid, folderId, newFolderName); ArchiveServices.renameFolder(expresso_mail_archive.renameFolderOperationOK, expresso_mail_archive.renameFolderOperationFailure, expresso_mail_archive.session.id, folderId, newFolderName); } catch (e){ expresso_mail_archive.getFaultInfo(); } } //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){ expresso_mail_archive.getFaultInfo(); } //getFolderInfo operation MailArchiver.prototype.getFolderInfo = function (folderId){ try{ if(folderId == 'local_root') folderId = ""; var exp_verifyId = RegExp("^messages\_[0-9|a-z]+\-[0-9|a-z|\-]+$"); if(exp_verifyId.test(folderId)) folderId = folderId.replace("messages_", ""); ArchiveServices.getFolderInfo(expresso_mail_archive.getFolderInfoOperationOK, expresso_mail_archive.getFolderInfoOperationFailure, expresso_mail_archive.session.id, folderId); } catch (e){ expresso_mail_archive.getFaultInfo(); } } //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(), unseen: returnService.getReturn().getUnseenCount(), path: returnService.getReturn().getPath()}; expresso_mail_archive.folder = folder_info; expresso_mail_archive.updateCounter(); } //getFolderInfo callback Fail MailArchiver.prototype.getFolderInfoOperationFailure = function (ServiceFault){ window.alert('getFolderInfo service fails...\n->' + ServiceFault.getReturn()); expresso_mail_archive.folder_data = true; } function foo(){ var a = 0; a++; } /** *delete All Messages * *@author Thiago Rossetto Afonso [thiago@prognus.com.br] * *@param folderId - folder id to get all messages that it has */ MailArchiver.prototype.deleteAllMessages = function(folderId){ try{ var objfolder = new Object(); objfolder.folder = folderId; var query_data = expresso_mail_archive.queryconfig.query(objfolder); ArchiveServices.listMessages(expresso_mail_archive.deleteMsgsOperationOK, expresso_mail_archive.deleteMsgsOperationFailure, expresso_mail_archive.session.id, query_data); }catch(e){ expresso_mail_archive.getFaultInfo(); } } MailArchiver.prototype.deleteMsgsOperationOK = function(returnService){ var msgsArray = new Array(); var msgs = ""; for(var i=0; i< returnService.getReturn().length; i++){ msgsArray.push(returnService.getReturn()[i]._id); } msgs = msgsArray.join(","); MailArchiver.prototype.deleteMessages(msgs); } MailArchiver.prototype.deleteMsgsOperationFailure = function(){ alert("Your Messages weren't deleted."); } //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) { //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); MailArchiver.prototype.listMessages = function(folderId){ try{ connector.showProgressBar(); var getcurrent = get_current_folder(); //tree_folders.getNodeById(get_current_folder())._select(); var folderid; if(typeof(folderId) != "undefined"){ folderid = folderId; } else { folderid = this.currentfolder; } var objfolder = new Object(); var exp_verifyId = RegExp("^messages\_[0-9|a-z]+\-[0-9|a-z|\-]+$"); if(exp_verifyId.test(folderid)) folderid = folderid.replace("messages_", ""); objfolder.folder = folderid; //var testing_data_xml = ''; //var testing_data_json_mapped = '{"query":{"@lowerIndex":"0", "@upperIndex":"50", "folder":[{"@id":"'+folderid+'"}], "order":[{"@asc":"date", "@desc":"subject"}]}}'; var query_data = expresso_mail_archive.queryconfig.query(objfolder); expresso_mail_archive.getFolderInfo(folderid); expresso_mail_archive.currentfolder = folderid; //ArchiveServices.listMessages(expresso_mail_archive.listMessagesOperationOK, expresso_mail_archive.listMessagesOperationFailure, sessid, query_data); ArchiveServices.listMessages(expresso_mail_archive.listMessagesOperationOK, expresso_mail_archive.listMessagesOperationFailure, expresso_mail_archive.session.id, query_data); } catch (e){ expresso_mail_archive.getFaultInfo(); } } //listMessages callback OK MailArchiver.prototype.listMessagesOperationOK = function(returnService){ var msglist = new Array(); expresso_mail_archive.ServiceReturnObjectList = new Array(); //window.alert('messages data\n\n' + print_r(returnService.getReturn().length)); /*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++){ var ExpSerialized = expresso_mail_archive.pattern.toExpressoHeader(returnService.getReturn()[i]); var msgitem = connector.unserialize(ExpSerialized); // correção para por no padrao certo, se nao fizer isso buga a listagem msgitem.msg_sample = { "body": msgitem.msg_sample }; msglist.push(msgitem);//usando connector.unserialize sobre o header mapeado no layout abaixo expresso_mail_archive.ServiceReturnObjectList.push(returnService.getReturn()[i]); //add each one service return data into this embeded object array } //msglist["num_msgs"] = returnService.getReturn().length; //window.alert('service return length = ' + returnService.getReturn().length + '\nfolder.nummessages = ' + expresso_mail_archive.folder.nummessages); //window.alert('folder counters:\n' + print_r(tab_counters)); //msglist["num_msgs"] = expresso_mail_archive.folder.nummessages; //window.alert('num msgs'); //(expresso_mail_archive.folder.unseen) ? msglist["tot_unseen"] = expresso_mail_archive.folder.unseen : msglist["tot_unseen"] = 0; // window.alert('num unseen'); //window.alert('print_r\n\n' + print_r(msglist)); //expresso_mail_archive.updateCounter(returnService.getReturn().length, msg_unseen_count); expresso_mail_archive.messageslisted = msglist; expresso_mail_archive.drawdata = {messagesList:msglist}; expresso_mail_archive.drawMessagesList(); //expresso_mail_archive.drawMessagesList(returnService.getReturn().length, msg_unseen_count); //expresso_mail_archive.drawMessagesList(msglist["num_msgs"], msg_unseen_count); //expresso_mail_archive.drawMessagesList(expresso_mail_archive.tot_msgs_tab, expresso_mail_archive.tot_unseen_msgs_tab); connector.hideProgressBar(); } //listMessages callback Fail MailArchiver.prototype.listMessagesOperationFailure = function(ServiceFault){ window.alert('listmessages FALHOU!\n' + ServiceFault.getReturn()); } MailArchiver.prototype.getMessagesByFolder = function(folderid, searchType){ try{ if(searchType == "ALL") var query_messages = '{"query":{"folder":[{"@id":"'+folderid+'"}], "order":[{"@asc":"date"}]}}'; else var query_messages = '{"query":{"folder":[{"@id":"'+folderid+'"}], "tags":[{"@contains":"'+searchType+'"}], "order":[{"@asc":"date"}]}}'; ArchiveServices.listMessages(expresso_mail_archive.getMessagesByFolderOperationOK, expresso_mail_archive.getMessagesByFolderOperationFailure, expresso_mail_archive.session.id, query_messages); } catch (e){ expresso_mail_archive.getFaultInfo(); } } MailArchiver.prototype.getMessagesByFolderOperationOK = function(returnService){ var msglist = new Array(); var msglistcomplete = new Array(); var msgAll = new Array(); for(var i=0; i< returnService.getReturn().length; i++){ //Array montado apenas com ids para tratamento de seleção de mensagens independente de paginação msglist.push(returnService.getReturn()[i]._id); msgAll.push(returnService.getReturn()[i]); //Incremento de contadores para atualização da aba de listagem if(returnService.getReturn()[i]._tags.indexOf("unseen") != -1){ expresso_mail_archive.tot_unseen_msgs_tab++; } expresso_mail_archive.tot_msgs_tab++; //Array montado para operação de desarquivamento var ExpSerialized = expresso_mail_archive.pattern.toExpressoHeader(returnService.getReturn()[i]); msglistcomplete.push(connector.unserialize(ExpSerialized)); } expresso_mail_archive.allmessagesbyfolder = msglist; expresso_mail_archive.allcompletemessagesbyfolder = msglistcomplete; expresso_mail_archive.msgAll = msgAll; } MailArchiver.prototype.getMessagesByFolderOperationFailure = function(ServiceFault){ window.alert('listAllmessagesByFolder FALHOU!\n' + ServiceFault.getReturn()); } //List all messages by folder given and set a array with all messages ids MailArchiver.prototype.listAllMessagesByFolder = function(folderid, searchType){ try{ if(searchType == "ALL") var query_messages = '{"query":{"folder":[{"@id":"'+folderid+'"}], "order":[{"@asc":"date"}]}}'; else var query_messages = '{"query":{"folder":[{"@id":"'+folderid+'"}], "tags":[{"@contains":"'+searchType+'"}], "order":[{"@asc":"date"}]}}'; ArchiveServices.listMessages(expresso_mail_archive.listAllMessagesByFolderOperationOK, expresso_mail_archive.listAllMessagesByFolderOperationFailure, expresso_mail_archive.session.id, query_messages); } catch (e){ expresso_mail_archive.getFaultInfo(); } } //listAllMessagesByFolder callback OK MailArchiver.prototype.listAllMessagesByFolderOperationOK = function(returnService){ var msglist = new Array(); var msglistcomplete = new Array(); for(var i=0; i< returnService.getReturn().length; i++){ //Array montado apenas com ids para tratamento de seleção de mensagens independente de paginação msglist.push(returnService.getReturn()[i]._id); //Incremento de contadores para atualização da aba de listagem if(returnService.getReturn()[i]._tags.indexOf("unseen") != -1){ expresso_mail_archive.tot_unseen_msgs_tab++; } expresso_mail_archive.tot_msgs_tab++; //Array montado para operação de desarquivamento var ExpSerialized = expresso_mail_archive.pattern.toExpressoHeader(returnService.getReturn()[i]); msglistcomplete.push(connector.unserialize(ExpSerialized)); } expresso_mail_archive.allmessagesbyfolder = msglist; expresso_mail_archive.allcompletemessagesbyfolder = msglistcomplete; } //listAllMessagesByFolder callback Fail MailArchiver.prototype.listAllMessagesByFolderOperationFailure = function(ServiceFault){ window.alert('listAllmessagesByFolder FALHOU!\n' + ServiceFault.getReturn()); } MailArchiver.prototype.getFolderMessagesNumber = function(){ var n = 0; for(var i=0; i < expresso_mail_archive.folders.length; i++){ if(expresso_mail_archive.folders[i]["id"] == expresso_mail_archive.currentfolder){ n = expresso_mail_archive.folders[i]["messages"]; } } return(n); } MailArchiver.prototype.drawMessagesList = function(){ //window.alert('no drawMessagesList com folder = ' + expresso_mail_archive.currentfolder + '\nudatecounters = ' + expresso_mail_archive.udatecounters); 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)); //window.alert('Current folder = ' + expresso_mail_archive.currentfolder + ' com ' + expresso_mail_archive.folders.length + ' folders.'); var fcaption = expresso_mail_archive.currentfolder; /*for (var w=0; w < expresso_mail_archive.folders.length; w++){ //window.alert('comparando folder "' + expresso_mail_archive.folders[w]["id"] + '" com o corrente "' + expresso_mail_archive.currentfolder + '"\nEnquanto que o folder.name obtido do getfolderinfo é "' + expresso_mail_archive.folder.name + '"'); if(expresso_mail_archive.folders[w]["id"] == expresso_mail_archive.currentfolder){ fcaption = expresso_mail_archive.folders[w]["name"]; window.alert('folder found!\n -> ' + fcaption); break; } }*/ var fcaption = expresso_mail_archive.folder.name; /*window.alert('fcaption = ' + fcaption); var udate_tree_folder = expresso_mail_archive.drawdata.treefolder; window.alert('atualizar contador da �rvore : ' + udate_tree_folder); var udate_tab_folder = expresso_mail_archive.drawdata.tabfolder; window.alert('atualizar contador da tab : ' + udate_tab_folder);*/ //var folder_num_msgs = expresso_mail_archive.getFolderMessagesNumber(); var folder_num_msgs = expresso_mail_archive.folder.nummessages; //window.alert('num = ' + folder_num_msgs); Element("border_id_0").innerHTML = " " + lang_folder(fcaption) + ' [  / ]'; draw_box(data_to_draw, 'local_' + expresso_mail_archive.currentfolder, true); //draw_paging(expresso_mail_archive.drawdata.messagesList.length); //draw_paging(preferences.max_email_per_page); draw_paging(expresso_mail_archive.tot_msgs_tab); Element("tot_m").innerHTML = expresso_mail_archive.tot_msgs_tab; //folder_num_msgs; Element('new_m').innerHTML = ''+expresso_mail_archive.tot_unseen_msgs_tab+''; } MailArchiver.prototype.getMessageHeaders = function(msgId){ var msgfound = false; var headerMsg; //Get message header info, from message list operation previously invoked for (var w=0; w < expresso_mail_archive.messageslisted.length; w++){ if(expresso_mail_archive.messageslisted[w]["msg_number"] == msgId){ headerMsg = expresso_mail_archive.messageslisted[w]; msgfound = true; break; } } //Message does not exists at default message list previouslly invoked. Then, will be tryed to get it at possible search criteria existing tab. if(!msgfound){ //Try to discover if desired message is at a search local data tab if(currentTab.toString().indexOf("search_local") != -1){ var msgId2 = msgId.substr(0,msgId.indexOf("_s")); for (var w=0; w < expresso_mail_archive.search_message_list.length; w++){ if(expresso_mail_archive.search_message_list[w]["msg_number"] == msgId2){ headerMsg = expresso_mail_archive.search_message_list[w]; msgfound = true; break; } } } } //The message was found, as well the her headers if(msgfound){ expresso_mail_archive.currentheaders = headerMsg; expresso_mail_archive.subjectPreview = headerMsg.subject; return(headerMsg); } //The message was not found else{ headerMsg = null; expresso_mail_archive.currentheaders = headerMsg; return; } } MailArchiver.prototype.getMessageBodies = function(msgdata){ try{ var temp; var bodies = Array(); var callback = function(data){ temp = data; }; for(var i=0; i 1){ var msgs_id = currentTab.substring(0,currentTab.length-2,currentTab); }else{ var msgs_id = get_selected_messages(); } var vetmsg = msgs_id.split(","); if(vetmsg.length > 0){ var arr_msg = new Array(); for(var k=0; k 0){ window.location.href = mail_archive_protocol + "://" + mail_archive_host + ":" + mail_archive_port + "/temp/mails_" + serviceData.getReturn() + '.' + expresso_mail_archive.exportformat; } else{ } } MailArchiver.prototype.download_mgs_sourceOperationFailure = function(serviceFail){ window.alert('ZipMessages FAIL:' + serviceFail.getReturn()); } MailArchiver.prototype.export_local_messages = function(folderid, recursive, format){ //Default export format is zip if(!format) format = 'zip'; expresso_mail_archive.exportformat = format; if(folderid == 'root')//export root local folder var messages_array = {"format": format, "type": 'folder', "recursive" : true, "messages": ""}; else//export local folder entry var messages_array = {"format": format, "type": 'folder', "recursive" : recursive, "messages": folderid}; var texp = expresso_mail_archive.pattern.zipConfig(messages_array); if(texp != null){ try{ ArchiveServices.zipMessages(expresso_mail_archive.download_mgs_sourceOperationOK, expresso_mail_archive.download_msg_sourceOperationFailure, expresso_mail_archive.session.id, texp); } catch(e){ //window.alert('Export local messages fails: ' + (e.description)?e.description:e); expresso_mail_archive.getFaultInfo(); } } } MailArchiver.prototype.updateCounter = function(a,b){ //window.alert('updateCounter reached'); if(((a) && (b)) || ((parseInt(a)==0)&&(parseInt(b)==0))){ //Element("tot_m").innerHTML = a; Element('new_m').innerHTML = (b >= 0) ? ''+b+'' : 0; return; } if(expresso_mail_archive.update_counters == true){ connector.purgeCache(); var elm_tree = Element('llocal_'+expresso_mail_archive.folder.id+'tree_folders'); if(elm_tree){ //search appropriate "unseen" span to handle with for(var j=0; j 0){ if (elm){ elm.innerHTML = expresso_mail_archive.folder.unseen; } else{ var htm_el = document.createElement('font'); htm_el.style.color = 'red'; document.getElementById('llocal_'+expresso_mail_archive.folder.id+'tree_folders').appendChild(htm_el); htm_el.innerHTML = ' ('; var spn_el = document.createElement('span'); spn_el.id = 'dftree_'+expresso_mail_archive.folder.id+'_unseen'; spn_el.style.color = 'red'; document.getElementById('llocal_'+expresso_mail_archive.folder.id+'tree_folders').appendChild(spn_el); spn_el.innerHTML = expresso_mail_archive.folder.unseen; var htm2_el = document.createElement('font'); htm2_el.style.color = 'red'; document.getElementById('llocal_'+expresso_mail_archive.folder.id+'tree_folders').appendChild(htm2_el); htm2_el.innerHTML = ')'; } } else{ if(elm){ var spn = elm.parentNode.parentNode; elm.parentNode.removeChild(elm.previousSibling); elm.parentNode.removeChild(elm.nextSibling); elm.parentNode.removeChild(elm); } } //reset pointer to re-do working to move messages (2 folders envolved) if (expresso_mail_archive.folder_destination != null){ if(expresso_mail_archive.currentfolder == expresso_mail_archive.folder_destination){ expresso_mail_archive.update_counters = false; } else{ //window.alert('aqui, queima o folder_destination'); //expresso_mail_archive.folder_destination = null; } } else{ expresso_mail_archive.update_counters = false; } } } //no counter needs else return; } MailArchiver.prototype.getBase64PartData = function(partid, field){ var spid = new String(partid); if(parseInt(spid.length) > 0){ expresso_mail_archive.tmp_att_datasource = field; try{ //ArchiveServices.getRawBinaryBody(expresso_mail_archive.getBase64PartDataOK, expresso_mail_archive.getBase64PartDataFailure, sessid, partid); ArchiveServices.getRawBinaryBody(expresso_mail_archive.getBase64PartDataOK, expresso_mail_archive.getBase64PartDataFailure, expresso_mail_archive.session.id, partid); } catch(e){ //window.alert('Fail to getRawBinaryBody data from part id ' + partid + ':\n' + (e.description)?e.description:e); expresso_mail_archive.getFaultInfo(); } } else { return(null); } } MailArchiver.prototype.getBase64PartDataOK = function(serviceData){ var encdata = serviceData.getReturn(); if(encdata.length <= 0){ window.alert('Oh no: service return data is zero length...'); this.tmp_att_data = null; } else{ expresso_mail_archive.tmp_att_datasource.value = encdata; } } MailArchiver.prototype.getBase64PartDataFailure = function(serviceReturn){ window.alert('There are erros on getting binary data part:' + serviceReturn.getReturn()); } MailArchiver.prototype.search = function(folders,fields){ try{ connector.showProgressBar(); if((folders) && (fields)){ expresso_mail_archive.search_queryconfig.reset(); var folderlist = expresso_mail_archive.search_queryconfig.pharseFolders(folders); var filters = eval('(' + expresso_mail_archive.queryconfig.pharseSearchFields(fields) + ')'); if(folderlist.indexOf("#") != -1) filters.folder = folderlist.substr(0, folderlist.indexOf("#")); else filters.folder = folderlist; if(folderlist.toLowerCase().indexOf("#recursive") != -1) expresso_mail_archive.search_queryconfig.folder_recursive = true; else expresso_mail_archive.search_queryconfig.folder_recursive = false; expresso_mail_archive.querydata = expresso_mail_archive.search_queryconfig.query(filters); //var query_data = ''; ArchiveServices.listMessages(expresso_mail_archive.searchOperationOK, expresso_mail_archive.searchOperationFailure, expresso_mail_archive.session.id, expresso_mail_archive.querydata); } //changing order view criteria (sorting result) else{ ArchiveServices.listMessages(expresso_mail_archive.searchOperationOK, expresso_mail_archive.searchOperationFailure, expresso_mail_archive.session.id, expresso_mail_archive.querydata); } }catch (e){ expresso_mail_archive.getFaultInfo(); } } MailArchiver.prototype.searchOperationOK = function(returnService){ if(returnService.getReturn().length > 0){ var msglist = new Array(); var msglist2 = new Array(); expresso_mail_archive.ServiceReturnObjectSearch = new Array(); for(var i=0; i< returnService.getReturn().length; i++){ var ExpSerialized = expresso_mail_archive.pattern.toExpressoSearchHeader(returnService.getReturn()[i]); var ExpSerialized2 = expresso_mail_archive.pattern.toExpressoHeader(returnService.getReturn()[i]); var msgitem = connector.unserialize(ExpSerialized); var msgitem2 = connector.unserialize(ExpSerialized2); msglist.push(msgitem);//usando connector.unserialize sobre o header mapeado no layout abaixo msglist2.push(msgitem2); expresso_mail_archive.ServiceReturnObjectSearch.push(returnService.getReturn()[i]); //add each one service return data into this embeded object array } msglist["num_msgs"] = returnService.getReturn().length; msglist2["num_msgs"] = returnService.getReturn().length; //expresso_mail_archive.queryresult = msglist; expresso_mail_archive.search_queryresult = msglist; //expresso_mail_archive.messageslisted = msglist2; expresso_mail_archive.search_message_list = msglist2; //window.alert('temos ' + expresso_mail_archive.search_message_list.length + ' mensagens de resultado da pesquisa mapeadas em mem�ria'); } else{ expresso_mail_archive.ServiceReturnObjectSearch = null; expresso_mail_archive.search_queryresult = null; expresso_mail_archive.search_message_list = null; expresso_mail_archive.messageslisted = null; expresso_mail_archive.queryresult = null; } connector.hideProgressBar(); } MailArchiver.prototype.searchOperationFailure = function(){ write_msg(get_lang('MailArchiver search operation fails', true)); expresso_mail_archive.ServiceReturnObjectSearch = null; expresso_mail_archive.search_queryresult = null; expresso_mail_archive.search_message_list = null; expresso_mail_archive.messageslisted = null; expresso_mail_archive.queryresult = null; connector.hideProgressBar(); } MailArchiver.prototype.getAuthId = function(){ var handler_get_logon = function(data){ if(data){ expresso_mail_archive.balancerid = data[0]; expresso_mail_archive.sessionid = data[1]; expresso_mail_archive.logonid = new Array(data[2],data[3]); expresso_mail_archive.login(); } else{ window.alert('Login credentials call failure'); expresso_mail_archive.session = null; } } cExecute("$this.user.get_mailarchiver_authid",handler_get_logon); } MailArchiver.prototype.login = function(){ try{ ArchiveServices.login(expresso_mail_archive.loginOperationOK, expresso_mail_archive.loginOperationFailure, expresso_mail_archive.logonid[0], expresso_mail_archive.logonid[1], expresso_mail_archive.sessionid, expresso_mail_archive.balancerid); } catch(e){ expresso_mail_archive.getFaultInfo(); } } MailArchiver.prototype.loginOperationOK = function(returnService){ if((typeof(returnService.getReturn()) == 'object') && (returnService.getReturn() != null)){ expresso_mail_archive.session = new Object(); expresso_mail_archive.session.expiration = returnService.getReturn().getExpiration(); expresso_mail_archive.session.id = returnService.getReturn().getId(); expresso_mail_archive.session.permissions = returnService.getReturn().getPermissions(); expresso_mail_archive.CreateDefaultStructrure(); } else{ //not logged in MailArchiver expresso_mail_archive.session = null; write_msg(get_lang('MailArchiver user login fail', true)); expresso_mail_archive.enabled = false; expresso_mail_archive.timer=null; expresso_mail_archive.interval = 500; ArchiveServices = null; connector.purgeCache(); draw_tree_folders(); //expresso_mail_archive.DeactivateStatusListener(expresso_mail_archive); } } MailArchiver.prototype.getFolderCounters = function(){ var vetreturn = new Array(); /*for(var k=0; k