/** * @author diogenes */ function messages_proxy() { } /** * Retorna os cabeçalhos das mensagens a serem desenhadas na caixa de email. */ messages_proxy.prototype.messages_list = function(folder,msg_range_begin,emails_per_page,sort_box_type,search_box_type,sort_box_reverse,call_back) { if(this.is_local_folder(folder)) { var real_folder = folder.substr(6); var msgs = expresso_local_messages.get_local_range_msgs(real_folder,msg_range_begin,emails_per_page,sort_box_type,sort_box_reverse,search_box_type); eval('call_back(msgs)'); }else { cExecute ("$this.imap_functions.get_range_msgs2&folder="+folder+"&msg_range_begin="+msg_range_begin+"&msg_range_end="+emails_per_page+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"", call_back); } } messages_proxy.prototype.get_msg = function(msg_number,msg_folder,set_flag,call_back) { if(this.is_local_folder(msg_folder)) { if(set_flag) expresso_local_messages.set_messages_flag(msg_number,"seen"); var data = expresso_local_messages.get_local_mail(msg_number); eval("call_back(data)"); }else { cExecute("$this.imap_functions.get_info_msg&msg_number="+ msg_number + "&msg_folder=" + msg_folder, call_back); } } messages_proxy.prototype.delete_msgs = function(folder, msgs_number, border_ID) { if (folder == 'null') folder = get_current_folder(); if (msgs_number == 'selected') msgs_number = get_selected_messages(); if (!msgs_number){ write_msg(get_lang('No selected message.')); return; } if (currentTab == 'search_0') { for (var x in msgs_number[0]) { if (!this.is_local_folder(msgs_number[1][x])) delete_msgs(msgs_number[1][x], msgs_number[0][x], border_ID,true); else expresso_local_messages.delete_msgs(msgs_number[0][x],border_ID,msgs_number[1][x]); } return; } if (!this.is_local_folder(folder)) delete_msgs(folder, msgs_number, border_ID,true); else if (!isNaN(msgs_number)) expresso_local_messages.delete_msgs(msgs_number,border_ID,folder); else expresso_local_messages.delete_msgs(msgs_number[0],border_ID,folder); } messages_proxy.prototype.export_all_messages = function(folder){ if (!folder){ folder = get_current_folder(); } if(!this.is_local_folder(folder)){ export_all_selected_msgs(); }else{ local_messages.prototype.local_messages_to_export(); } } messages_proxy.prototype.link_anexo = function (info_msg,numero_ordem_anexo) { if(info_msg.local_message==true) { return "javascript:download_local_attachment('"+ expresso_local_messages.get_url_anexo(info_msg.msg_number,info_msg.attachments[numero_ordem_anexo].pid)+ "')"; } else { return "javascript:download_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"',"+numero_ordem_anexo+",'"+info_msg.attachments[numero_ordem_anexo].pid+"','"+info_msg.attachments[numero_ordem_anexo].encoding+"')"; } } messages_proxy.prototype.proxy_source_msg = function (id_msg,folder) { if(!this.is_local_folder(folder)) { source_msg(id_msg,folder); } else { var num_msg = id_msg.substr(0,(id_msg.length - 2)); expresso_local_messages.get_source_msg(num_msg); } } messages_proxy.prototype.proxy_set_messages_flag = function (flag,msg_number,folder){ if (folder == 'undefined' || !folder) folder = get_current_folder(); if(this.is_local_folder(folder)) { expresso_local_messages.set_messages_flag(msg_number,flag,folder); } else { set_messages_flag(flag,msg_number,folder); } } messages_proxy.prototype.is_local_folder = function(folder) { if(folder.indexOf("local_")==-1) return false; return true; } messages_proxy.prototype.proxy_rename_folder = function(){ if (ttree.FOLDER == 'local_Inbox') { alert(get_lang("It's not possible rename the folder: ") + lang_folder(ttree.FOLDER.substr(6))); return false; } if(ttree.FOLDER == 'local_root') { alert(get_lang("Select a folder!")); return false; } if (this.is_local_folder(ttree.FOLDER)) { folder = prompt(get_lang("Enter the name of the new folder:"), ""); if(!folder) return false; var temp = expresso_local_messages.rename_folder(folder, ttree.FOLDER.substr(6)); if (!temp) alert(get_lang("cannot rename folder. try other folder name")); ttreeBox.update_folder(); } else ttreeBox.validate("rename"); } messages_proxy.prototype.proxy_create_folder = function() { if (ttree.FOLDER == 'local_root') { folder = prompt(get_lang("Enter the name of the new folder:"), ""); if(!folder) return false; var temp = expresso_local_messages.create_folder(folder); if (!temp) alert(get_lang("cannot create folder. try other folder name")); ttreeBox.update_folder(); } else if(!this.is_local_folder(ttree.FOLDER)) ttreeBox.validate("newpast"); else alert(get_lang("It's not possible create inside: ")+ lang_folder(ttree.FOLDER.substr(6))); } messages_proxy.prototype.proxy_remove_folder = function() { if (this.is_local_folder(ttree.FOLDER)) { if(ttree.FOLDER == 'local_root') { alert(get_lang("Select a folder!")); return false; } if (ttree.FOLDER == 'local_Inbox') { alert(get_lang("It's not possible delete the folder: ") + lang_folder(ttree.FOLDER.substr(6))); return false; } var aux1 = ttree.FOLDER.substr(6); if(confirm(get_lang("Do you wish to exclude the folder ") + " " + aux1+ "?")){ expresso_local_messages.remove_folder(ttree.FOLDER.substr(6)); ttreeBox.update_folder(); alert(get_lang("The folder %1 was successfully removed", aux1)); }else{ alert(get_lang("The folder was not deleted!")); } } else ttreeBox.del(); } messages_proxy.prototype.proxy_move_messages = function (folder, msg_number, border_ID, new_folder, new_folder_name) { if(folder=='null' && msg_number=='selected'){ msgs_number = get_selected_messages(); if (!msgs_number){ write_msg(get_lang('No selected message.')); return; } if (!msgs_number[1][0]) folder = get_current_folder(); else folder = msgs_number[1][0]; } else if (folder=='null') folder = get_current_folder(); if ((this.is_local_folder(folder)) && (this.is_local_folder(new_folder))) { //Move entre pastas n�o locais... if (folder == new_folder){ write_msg(get_lang('The origin folder and the destination folder are the same.')); return; } if(msg_number=='selected'){ msgs_number = get_selected_messages(); }else msgs_number[0] = new Array(msg_number); if (new_folder == 'local_root'){ alert(get_lang("Select a folder!")); } // Codigo comentado para verificar possibiliade de uso futuro - em 26/01/2009 - Rommel Cysne) //Array com as identificacoes de cada mensagem; (em 14/01/2009 - Rommel Cysne) //var msgs_splited = msgs_number.split(","); if (parseInt(msgs_number) > 0 || msgs_number.length > 0) { //expresso_local_messages.move_messages(new_folder.substr(6), msgs_number); //this.aux_interface_remove_mails(msgs_number, new_folder_name, border_ID); // Codigo comentado para verificar possibiliade de uso futuro - em 26/01/2009 - Rommel Cysne) //Caso mais de uma mensagem seja selecionada, percorre o array msgs_splited //para mover cada uma delas; (em 14/01/2009 - Rommel Cysne) for(var x = 0; x < msgs_number[0].length; x++){ //Recebe o retorno de expresso_local_messages.move_messages; se houver erro, //a mensagem nao e movida para a nova pasta; (em 14/01/2009 - Rommel Cysne) // alert(new_folder + " - " + x); var mv_msgs = expresso_local_messages.move_messages(new_folder.substr(6), msgs_number[0][x]); if(mv_msgs != "error"){ // alert("11111"); this.aux_interface_remove_mails(msgs_number, new_folder_name, border_ID); } else{ // alert("22222"); var err = "error"; } } //Se houve erro, informa o usuario; (em 14/01/2009 - Rommel Cysne) if(err =="error"){ // alert("33333"); write_msg(get_lang('at least, one of selected mails is already archived, expresso tried to archive the others, check them later')); } } else{ write_msg(get_lang('No selected message.')); } } else{ if ((!this.is_local_folder(folder)) && (!this.is_local_folder(new_folder))) { //Move entre pastas locais... move_msgs(folder, msg_number, border_ID, new_folder, new_folder_name); } else if ((!this.is_local_folder(folder)) && (this.is_local_folder(new_folder))){ if (msg_number != 'selected'){ archive_msgs(folder,new_folder,msg_number); }else{ archive_msgs(folder,new_folder); } } else{ expresso_local_messages.unarchive_msgs(folder,new_folder,msg_number); //write_msg(get_lang("you can't move mails from local to server folders")); } } } messages_proxy.prototype.proxy_export_all_msg=function(){ var er=/^local/; if(ttree.FOLDER == "local_root"){return false;} //Usuario não selecionou uma pasta local e esta no começo dos nós var nm_bx = ttree.FOLDER.split(cyrus_delimiter); var name_f = nm_bx[nm_bx.length -1].replace("local_",""); if (!er.test(nm_bx)){ //Se a pasta nao for local, ou seja a string nao contem a string "local" ttreeBox.export_all_msg(); } else{ expresso_local_messages.get_all_local_folder_messages(name_f); } } messages_proxy.prototype.aux_interface_remove_mails = function(msgs_number,new_folder_name,border_ID,previous_msg) { Element('chk_box_select_all_messages').checked = false; var msg_to_delete; for (var i=0; i