'; 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(); } } 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'),true); 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:', true) + faultinfo.getReturn().getSoapFaultString()); } catch(e){ write_msg(get_lang('The archive service reports a unknown error. Try to refresh your browser screen', true)); } expresso_mail_archive.resetObject(); expresso_mail_archive.archivefolder = null; window.setTimeout("eval('document.getElementById(\"main_title\").innerHTML =\"Expresso Mail\"')",3000); connector.purgeCache(); } //getFaultInfo callback Fail MailArchiver.prototype.getFaultInfoOperationFailure = function(errorCode, errorDesc){ try{ write_msg(get_lang('SoapFault capture fails at:' + errorCode + ' | ' + errorDesc, true)); } catch(e){ write_msg(get_lang('Service error mapping', true)); } } //createFolder operation MailArchiver.prototype.createFolder = function(parentFolder, folderName){ 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(folderName){ try{ ArchiveServices.deleteFolder(expresso_mail_archive.deleteFolderOperationOK, expresso_mail_archive.deleteFolderOperationFailure, expresso_mail_archive.session.id, folderName, 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 = ""; 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++; } //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(){ try{ connector.showProgressBar(); var getcurrent = get_current_folder(); tree_folders.getNodeById(get_current_folder())._select(); var folderid = getcurrent.substr(6,getcurrent.length); var objfolder = new Object(); 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()); */ var msg_unseen_count = 0; for(var i=0; i< returnService.getReturn().length; i++){ var ExpSerialized = expresso_mail_archive.pattern.toExpressoHeader(returnService.getReturn()[i]); var msgitem = connector.unserialize(ExpSerialized); //counts unseen messages if(msgitem.Unseen == 'U') msg_unseen_count++; 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 } var tab_counters = expresso_mail_archive.getFolderCounters(); //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; msglist["num_msgs"] = tab_counters[0]; //window.alert('num msgs'); //(expresso_mail_archive.folder.unseen) ? msglist["tot_unseen"] = expresso_mail_archive.folder.unseen : msglist["tot_unseen"] = 0; (tab_counters[1] != 0) ? msglist["tot_unseen"] = tab_counters[1] : 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(msglist["num_msgs"], msglist['tot_unseen']); connector.hideProgressBar(); } //listMessages callback Fail MailArchiver.prototype.listMessagesOperationFailure = function(ServiceFault){ window.alert('listmessages 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(msgtot, msgunseen){ //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); alternate_border(0); 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(folder_num_msgs); if(((msgtot) && (msgunseen)) || ((parseInt(msgtot)==0)&&(parseInt(msgunseen)==0))){ expresso_mail_archive.updateCounter(msgtot, msgunseen); } else{ Element("tot_m").innerHTML = folder_num_msgs; Element('new_m').innerHTML = data_to_draw['tot_unseen'] ? ''+data_to_draw['tot_unseen']+'' : 0; } } 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; return(headerMsg); } //The message was not found else{ headerMsg = null; expresso_mail_archive.currentheaders = headerMsg; return; } } MailArchiver.prototype.getMessage = function(msgdata){ try{ if((msgdata.length <= 0) || (msgdata == null)){ return; } expresso_mail_archive.currentmessage = expresso_mail_archive.getMessageHeaders(msgdata)["msg_number"]; ArchiveServices.getMessageBody(expresso_mail_archive.getMessageOperationOK, expresso_mail_archive.getMessageOperationFailure, expresso_mail_archive.session.id, expresso_mail_archive.currentmessage); } catch(e){ expresso_mail_archive.getFaultInfo(); } } MailArchiver.prototype.getMessageOperationOK = function(returnService){ if(returnService.getReturn().length <= 0){ window.alert('Oh no: service return data is zero length...'); return; } var msgBody = returnService.getReturn(); //var msgHeaders = expresso_mail_archive.getMessageHeaders(expresso_mail_archive.currentmessage); var msgHeaders = expresso_mail_archive.currentheaders; var expSerializedMessage = expresso_mail_archive.pattern.toExpressoMail(msgHeaders, msgBody); // Unset \\Unseen flag for (i=0; i < expresso_mail_archive.messageslisted.length; i++) { if (expresso_mail_archive.messageslisted[i].msg_number == expresso_mail_archive.currentmessage) { expresso_mail_archive.messageslisted[i]['Unseen'] = ''; } } //window.alert('Serialized data\n\n' + print_r(expSerializedMessage)); //expresso_mail_archive.showEmbededImage(msgBody); show_msg(expSerializedMessage); window.setTimeout("expresso_mail_archive.setEmbeddedLink()", 1); } MailArchiver.prototype.getMessageOperationFailure = function(ServiceFault){ window.alert('Message fails do be loaded.'); } /* *getMessageServiceObjet: search for a remote webservice object in memory to use *draw interface. Look at messages list first, then, search list. Returns desired *object, or null (if not found) **/ MailArchiver.prototype.getMessageServiceObject = function(msgid){ var flag_found = false; var rtn_obj = null; //Message list if(expresso_mail_archive.ServiceReturnObjectList != null){ for(var i=0; i < expresso_mail_archive.ServiceReturnObjectList.length; i++){ if (expresso_mail_archive.ServiceReturnObjectList[i].getId() == msgid){ flag_found = true; rtn_obj = expresso_mail_archive.ServiceReturnObjectList[i]; } } } //Search list if(!flag_found){ if(expresso_mail_archive.ServiceReturnObjectSearch != null){ for(var i=0; i < expresso_mail_archive.ServiceReturnObjectSearch.length; i++){ if (expresso_mail_archive.ServiceReturnObjectSearch[i].getId() == msgid){ flag_found = true; rtn_obj = expresso_mail_archive.ServiceReturnObjectSearch[i]; } } } } return(rtn_obj); } MailArchiver.prototype.tagMessage = function(taglist){ try{ if(!taglist) taglist = expresso_mail_archive.taglist; //ArchiveServices.tagMessages(expresso_mail_archive.tagMessagesOperationOK, expresso_mail_archive.tagMessagesOperationFailure, sessid, taglist); ArchiveServices.tagMessages(expresso_mail_archive.tagMessagesOperationOK, expresso_mail_archive.tagMessagesOperationFailure, expresso_mail_archive.session.id, taglist); } catch (e){ //window.alert('TagMessage fails at: ' + (e.description)?e.description:e); expresso_mail_archive.getFaultInfo(); } } MailArchiver.prototype.tagMessagesOperationOK = function(serviceData){ //ajustar os contadores de lida/nao lida etc... if((expresso_mail_archive.currenttag != '') && (expresso_mail_archive.tagmsg == true)){ write_msg(get_lang('Messages marked as "%1"', get_lang(expresso_mail_archive.currenttag))); expresso_mail_archive.tagmsg = false; } expresso_mail_archive.currenttag = ""; expresso_mail_archive.taglist = ""; //window.alert('expresso_mail_archive.folder_origin = ' + expresso_mail_archive.folder_origin + '\nexpresso_mail_archive.current_folder = ' + get_current_folder()); if((expresso_mail_archive.drawdata) && (get_current_folder() == expresso_mail_archive.folder_origin)){ expresso_mail_archive.drawFolderTree(); expresso_mail_archive.listMessages(); //expresso_mail_archive.drawdata = null; window.clearTimeout(expresso_mail_archive.progressbar); } else{ /* connector.purgeCache(); ttreeBox.name_folder = "local_" + expresso_mail_archive.currentfolder; draw_tree_local_folders(); ttreeBox.update_folder(true);*/ } } MailArchiver.prototype.tagMessagesOperationFailure = function(serviceData){ var str_tag_fail = serviceData.getReturn(); expresso_mail_archive.getFaultInfo(); } MailArchiver.prototype.download_all_msg_attachments = function(msgid){ var default_format = 'zip'; //tar, jar, gzip, bz2 supports too var url = expresso_mail_archive.pattern.download_compressed_attachments(msgid, default_format); //window.open(url,"mywindow","width=1,height=1,scrollbars=no"); location.href = url; } MailArchiver.prototype.download_msg_source = function (format){ //Default export format is zip if(!format) format = 'zip'; expresso_mail_archive.exportformat = format; if (openTab.type[currentTab] > 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.messageslisted = expresso_mail_archive.queryresult = null; } connector.hideProgressBar(); } MailArchiver.prototype.searchOperationFailure = function(){ write_msg(get_lang('MailArchiver search operation fails', true)); 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 ' + serviceReturn.getReturn().getId()); expresso_mail_archive.getMessageHeaders(serviceReturn.getReturn().getId()); } else{ window.alert('getMessageInfoOperationOK nope'); } } MailArchiver.prototype.turnOffLocalTreeStructure = function (){ var disabled_local_span = document.getElementById('llocal_disabledtree_folders'); if((!disabled_local_span) && (!document.getElementById('services_retry'))){ var n_LocalDisabled = new dNode({id: "local_disabled", caption: get_lang('Offline'), onClick: "services_retry()", plusSign:false}); tree_folders.add(n_LocalDisabled, 'local_root'); var disabled_local_span = document.getElementById('llocal_disabledtree_folders'); disabled_local_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_services.png)"; var service_retry = document.createElement("SPAN"); service_retry.id = 'services_retry'; service_retry.className = 'clean_trash'; service_retry.style.cursor = 'pointer'; service_retry.onclick = function () {services_retry();}; service_retry.innerHTML = "["+get_lang("Retry")+"]"; service_retry.title= get_lang("Reconect to MailArchiver services"); service_retry.onmouseover = function() {service_retry.style.color="red";}; service_retry.onmouseout= function() {service_retry.style.color="#666666";}; //#114FA4 disabled_local_span.parentNode.appendChild(service_retry); var div_ma_host = document.createElement('div'); div_ma_host.id = 'div_login_ma_host'; div_ma_host.style.position = 'absolute'; div_ma_host.style.padding = '0px'; div_ma_host.style.margin = '0px'; div_ma_host.style.top = '25px'; div_ma_host.style.left = '0px'; div_ma_host.style.width = '145px'; div_ma_host.style.height = '80px'; div_ma_host.style.border = '1px solid #CCCCCC'; div_ma_host.style.backgroundColor = '#F0F0F0'; div_ma_host.style.fontWeight = 'normal'; disabled_local_span.appendChild(div_ma_host); div_ma_host.innerHTML = '

'+get_lang('In trouble?')+'

→ ' + get_lang('Try to access') + '
'+get_lang('MailArchiver admin console')+'.

'; } //Only creates the MA login linkage else{ var div_ma_host = document.createElement('div'); div_ma_host.id = 'div_login_ma_host'; div_ma_host.style.position = 'absolute'; div_ma_host.style.padding = '0px'; div_ma_host.style.margin = '0px'; div_ma_host.style.top = '25px'; div_ma_host.style.width = '145px'; div_ma_host.style.height = '80px'; div_ma_host.style.border = '1px solid #CCCCCC'; div_ma_host.style.backgroundColor = '#F0F0F0'; div_ma_host.style.fontWeight = 'normal'; disabled_local_span.appendChild(div_ma_host); div_ma_host.innerHTML = '

'+get_lang('In trouble?')+'

→ ' + get_lang('Try to access') + '
'+get_lang('MailArchiver admin console')+'.

'; } } MailArchiver.prototype.getMessageInfoOperationFailure = function(serviceFault){ window.alert('fails at gettting message info'); } MailArchiver.prototype.loginOperationFailure = function(ServiceFaillure){ write_msg(get_lang('MailArchiver login operation fail', true)); } MailArchiver.prototype.logout = function(){ write_msg(get_lang('MailArchiver user logged out', true)); } /* *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(); -->