Ignore:
Timestamp:
02/11/09 13:42:40 (15 years ago)
Author:
eduardoalex
Message:

Ticket #413

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/js/main.js

    r673 r689  
    4040        cExecute ("$this.functions.get_preferences", save_preferences); 
    4141        setTimeout('auto_refresh()', time_refresh); 
     42} 
     43function disable_field(field,condition) { 
     44        var comando = "if ("+condition+") { document.getElementById('"+field.id+"').disabled=true;} else { document.getElementById('"+field.id+"').disabled=false; }"; 
     45        eval(comando); 
    4246} 
    4347/* 
     
    236240} 
    237241 
    238 function delete_msgs(folder, msgs_number, border_ID) 
    239 { 
     242function delete_msgs2(folder, msgs_number, border_ID, show_success_msg) { 
    240243        if (folder == 'null') 
    241244                folder = get_current_folder(); 
    242245 
    243246        if ((parseInt(preferences.save_deleted_msg)) && (folder!='INBOX'+cyrus_delimiter+trashfolder)){ 
    244                 move_msgs(folder, msgs_number, border_ID, 'INBOX'+cyrus_delimiter+trashfolder,trashfolder ); 
     247                move_msgs2(folder, msgs_number, border_ID, 'INBOX'+cyrus_delimiter+trashfolder,trashfolder,show_success_msg ); 
    245248                return; 
    246249        } 
     
    271274                        } 
    272275                } 
    273                 if (data.msgs_number.length == 1) 
    274                         write_msg(get_lang("The message was deleted.")); 
    275                 else 
    276                         write_msg(get_lang("The messages were deleted.")); 
     276                if (show_success_msg) { 
     277                        if (data.msgs_number.length == 1)  
     278                                write_msg(get_lang("The message was deleted.")); 
     279                        else  
     280                                write_msg(get_lang("The messages were deleted.")); 
     281                } 
    277282 
    278283                if (data.border_ID != 'null'){ 
     
    293298                write_msg(get_lang('No selected message.'));             
    294299} 
     300function delete_msgs(folder, msgs_number, border_ID) 
     301{  
     302        delete_msgs2(folder, msgs_number, border_ID, true); 
     303} 
     304 
    295305 
    296306function move_search_msgs(border_id, new_folder, new_folder_name){ 
    297307        var selected_messages = ''; 
     308        var temp_msg; 
    298309        var main_list = Element("tbody_resultsearch_"+border_id.substr(18)).childNodes;  
    299310        for (j = 0; j < main_list.length; j++)  { 
    300311                var check_box = main_list[j].firstChild.firstChild;  
    301312                if(check_box && check_box.checked) { 
     313                        if (proxy_mensagens.is_local_folder(main_list[j].name)) { 
     314                                alert(get_lang("You cant manipulate local messages on search")); 
     315                                return; 
     316                        } 
    302317                        selected_messages += main_list[j].id + ','; 
    303318                } 
     
    360375} 
    361376 
    362 function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name){ 
     377function move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,show_success_msg){ 
     378 
    363379        if (! folder || folder == 'null') 
    364380                folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : get_current_folder(); 
     
    424440                } 
    425441                 
     442                if (show_success_msg) { 
     443                        if (data.msgs_number.length == 1) 
     444                                write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 
     445                        else  
     446                                write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 
     447                } 
    426448 
    427449                if (data.msgs_number.length == 1) 
     
    457479} 
    458480 
     481function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name) { 
     482        move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,true); 
     483} 
     484 
     485function archive_msgs(folder,folder_dest,id_msgs) { 
     486        if(proxy_mensagens.is_local_folder(folder)) { 
     487                write_msg(get_lang("You cant archive local mails")); 
     488                return; 
     489        } 
     490        var has_local_messages_before = expresso_local_messages.has_local_mails(); //vejo se já tinha mensagens locais 
     491        var handler_arquivar_mensagens = function(data) { 
     492                var sucess = true; 
     493                var temp; 
     494                var msgs_to_remove = new Array(); 
     495                var update_tree; 
     496 
     497 
     498                for (var i = 0; i < data.length; i++) { 
     499                        msg_info = connector.unserialize(data[i]); 
     500                        temp = expresso_local_messages.insert_mail(msg_info, msg_info['header'],msg_info['array_attach'],folder_dest ); 
     501                        Element("check_box_message_" + msg_info.msg_number).checked = false; 
     502                        if(!temp) 
     503                                sucess = false; 
     504                        else 
     505                                msgs_to_remove.push(msg_info.msg_number);//As mensagens arquivadas devem ser removidas, caso o usuï¿œrio tenha isso configurado. 
     506                } 
     507                 
     508                if (preferences.keep_archived_messages == 0) { //Remove as mensagens 
     509                                delete_msgs2(folder,msgs_to_remove,'null',false); 
     510                } 
     511                update_tree=(!has_local_messages_before) && expresso_local_messages.has_local_mails(); 
     512                 
     513                Element('chk_box_select_all_messages').checked = false; 
     514                if(update_tree) 
     515                        ttreeBox.update_folder(); 
     516                else 
     517                        update_menu(); 
     518                if(sucess)  
     519                        write_msg(get_lang("selected messages have been archived")); 
     520                else 
     521                        write_msg(get_lang("at least, one of selected mails is already archived, expresso tried to archive the others, check them later")); 
     522 
     523        }        
     524        if(!id_msgs) 
     525                id_msgs = get_selected_messages(); 
     526        if (parseInt(id_msgs) > 0 || id_msgs.length > 0)  
     527                cExecute("$this.imap_functions.get_info_msgs&folder=" + folder + "&msgs_number=" + id_msgs , handler_arquivar_mensagens); 
     528        else  
     529                write_msg(get_lang('No selected message.')); 
     530         
     531} 
     532 
    459533function get_selected_messages(){ 
    460534        main = document.getElementById("divScrollMain_"+numBox).firstChild.firstChild; 
     
    501575        else 
    502576                return selected_messages; 
     577} 
     578 
     579function replaceAll(string, token, newtoken) { 
     580        while (string.indexOf(token) != -1) { 
     581                string = string.replace(token, newtoken); 
     582        } 
     583        return string; 
    503584} 
    504585 
     
    720801                        break; 
    721802                case "forward": 
     803                        data.is_local_message = (document.getElementById("is_local_"+border_ID).value=="1")?true:false; 
    722804                        msg_forward_from = document.createElement('input'); 
    723805                        msg_forward_from.id = "msg_forward_from_" + new_border_ID; 
     
    728810                        document.getElementById("subject_" + new_border_ID).value = "Fw: " + data.subject; 
    729811                        var divFiles = Element("divFiles_"+new_border_ID); 
     812                        var campo_arquivo 
    730813                        if (Element("attachments_" + border_ID)){ 
    731814                                var attachments = document.getElementById("attachments_" + border_ID).childNodes; 
    732815                                for (var i = (attachments.length > 1 ? 1 : 0); i < attachments.length; i++){ 
     816                                        if((attachments[i].tagName=="SPAN") || (attachments[i].tagName=="IMG") || 
     817                                                        ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1))) 
     818                                                continue;  
    733819                                        var link_attachment = document.createElement("A"); 
    734820                                        link_attachment.setAttribute("href", attachments[i].href); 
    735821                                        link_attachment.innerHTML = attachments[i].innerHTML; 
    736                                         var tmp = link_attachment.href.replace("javascript:download_attachments(", "").replace(")", ""); 
    737                                         var a_tmp = tmp.split(','); 
    738                                         tmp = link_attachment.innerHTML.substring(0,link_attachment.innerHTML.lastIndexOf("(")); 
    739                                         a_tmp[2] = "'"+tmp.substring(0,tmp.length-1)+"'"; 
    740                                         s_tmp = escape(connector.serialize(a_tmp)); 
    741                                         divFiles.innerHTML += "<input style='border:0' type='CHECKBOX' name='forwarding_attachments[]' checked value=\""+s_tmp+"\"/>"; 
    742                                         divFiles.appendChild(link_attachment); 
     822                                        if (data.is_local_message) {//Local messages 
     823                                                document.getElementById("is_local_forward"+new_border_ID).value = "1"; 
     824                                                var tmp = link_attachment.href.substring(link_attachment.href.indexOf("(") + 2);//Pula o parenteses e a aspas 
     825                                                tmp = tmp.substring(0, tmp.length - 2);//corta a aspas e o parenteses 
     826                                                tmp = replaceAll(tmp,"%20"," "); 
     827                                                var tempNomeArquivo = tmp.split("/"); 
     828                                                var nomeArquivo = tempNomeArquivo[tempNomeArquivo.length-1]; 
     829                                                nomeArquivo = nomeArquivo.substring(0,nomeArquivo.length - 4); //Anexos no gears são todos com extensão .php. tenho que tirar a extensão para ficar o nome real do arquivo. 
     830                                                campo_arquivo = addForwardedFile(new_border_ID,nomeArquivo,link_attachment.href); 
     831                                                 
     832                                                expresso_local_messages.getInputFileFromAnexo(campo_arquivo, tmp); 
     833                                        } 
     834                                        else { 
     835                                                var tmp = link_attachment.href.replace("javascript:download_attachments(", "").replace(")", ""); 
     836                                                var a_tmp = tmp.split(','); 
     837                                                tmp = link_attachment.innerHTML.substring(0,link_attachment.innerHTML.lastIndexOf("(")); 
     838                                                a_tmp[2] = "'"+tmp.substring(0,tmp.length-1)+"'"; 
     839                                                s_tmp = escape(connector.serialize(a_tmp));                      
     840 
     841                                                divFiles.innerHTML += "<input style='border:0' type='CHECKBOX' name='forwarding_attachments[]' checked value=\""+s_tmp+"\"/>"; 
     842                                                divFiles.innerHTML += "<link style='border:0' name='file_"+i+"' id='inputFile_"+border_ID+i+"'/>"; 
     843                                                divFiles.appendChild(link_attachment); 
     844                                        }        
    743845                                } 
    744846                        } 
     
    14921594                else 
    14931595                        set_message_flag(msgs_number, "unseen"); 
    1494             move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 
     1596            proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name); 
    14951597        } 
    14961598 
     
    15121614                // debug 
    15131615                // alert(data); 
    1514                 move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 
     1616                proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name); 
    15151617        } 
    15161618    if(msgs_number == 'selected') 
Note: See TracChangeset for help on using the changeset viewer.