Ignore:
Timestamp:
02/06/09 15:34:17 (15 years ago)
Author:
eduardoalex
Message:

Ticket #413

File:
1 edited

Legend:

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

    r660 r670  
    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                } 
    304319        } 
     320 
    305321        selected_messages = selected_messages.substring(0,(selected_messages.length-1)); 
    306322        var handler_move_search_msgs = function(data){ 
     
    334350                        for (i = 0; i < selected_msg_array.length; i++){ 
    335351                                var tr = Element(selected_msg_array[i]); 
    336                                 selected_param += ','+tr.name+';'+tr.id; 
     352                            selected_param += ','+tr.name+';'+tr.id; 
    337353                        } 
    338354                } 
     
    340356                { 
    341357                        var tr=Element(selected_messages); 
     358                        alert(tr.name); 
    342359                        selected_param=tr.name+';'+tr.id; 
    343360                } 
     
    348365                        params = "&delete=true"; 
    349366                }                        
    350                  
    351367                params += "&selected_messages="+url_encode(selected_param); 
    352368                if(new_folder) { 
     
    354370                        params += "&new_folder_name="+url_encode(new_folder_name); 
    355371                } 
     372 
    356373                cExecute ("$this.imap_functions.move_search_messages", handler_move_search_msgs, params); 
    357374        } 
     
    360377} 
    361378 
    362 function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name){ 
     379function move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,show_success_msg){ 
     380 
    363381        if (! folder || folder == 'null') 
    364382                folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : get_current_folder(); 
     
    424442                } 
    425443                 
    426  
    427                 if (data.msgs_number.length == 1) 
    428                         write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 
    429                 else 
    430                         write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 
     444                if (show_success_msg) { 
     445                        if (data.msgs_number.length == 1) 
     446                                write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 
     447                        else  
     448                                write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 
     449                } 
     450 
    431451                if (data.border_ID.indexOf('r') != -1){ 
    432452                        if (parseInt(preferences.delete_and_show_previous_message) && folder == get_current_folder()){ 
     
    455475                write_msg(get_lang('No selected message.'));             
    456476                 
     477} 
     478 
     479function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name) { 
     480        move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,true); 
     481} 
     482 
     483function archive_msgs(folder,folder_dest,id_msgs) { 
     484        if(proxy_mensagens.is_local_folder(folder)) { 
     485                write_msg(get_lang("You cant archive local mails")); 
     486                return; 
     487        } 
     488        var has_local_messages_before = expresso_local_messages.has_local_mails(); //vejo se já tinha mensagens locais 
     489        var handler_arquivar_mensagens = function(data) { 
     490                var sucess = true; 
     491                var temp; 
     492                var msgs_to_remove = new Array(); 
     493                var update_tree; 
     494 
     495 
     496                for (var i = 0; i < data.length; i++) { 
     497                        msg_info = connector.unserialize(data[i]); 
     498                        temp = expresso_local_messages.insert_mail(msg_info, msg_info['header'],msg_info['array_attach'],folder_dest ); 
     499                        Element("check_box_message_" + msg_info.msg_number).checked = false; 
     500                        if(!temp) 
     501                                sucess = false; 
     502                        else 
     503                                msgs_to_remove.push(msg_info.msg_number);//As mensagens arquivadas devem ser removidas, caso o usuï¿œrio tenha isso configurado. 
     504                } 
     505                 
     506                if (preferences.keep_archived_messages == 0) { //Remove as mensagens 
     507                                delete_msgs2(folder,msgs_to_remove,'null',false); 
     508                } 
     509                update_tree=(!has_local_messages_before) && expresso_local_messages.has_local_mails(); 
     510                 
     511                Element('chk_box_select_all_messages').checked = false; 
     512                if(update_tree) 
     513                        ttreeBox.update_folder(); 
     514                else 
     515                        update_menu(); 
     516                if(sucess)  
     517                        write_msg(get_lang("selected messages have been archived")); 
     518                else 
     519                        write_msg(get_lang("at least, one of selected mails is already archived, expresso tried to archive the others, check them later")); 
     520 
     521        }        
     522        if(!id_msgs) 
     523                id_msgs = get_selected_messages(); 
     524        if (parseInt(id_msgs) > 0 || id_msgs.length > 0)  
     525                cExecute("$this.imap_functions.get_info_msgs&folder=" + folder + "&msgs_number=" + id_msgs , handler_arquivar_mensagens); 
     526        else  
     527                write_msg(get_lang('No selected message.')); 
     528         
    457529} 
    458530 
     
    501573        else 
    502574                return selected_messages; 
     575} 
     576 
     577function replaceAll(string, token, newtoken) { 
     578        while (string.indexOf(token) != -1) { 
     579                string = string.replace(token, newtoken); 
     580        } 
     581        return string; 
    503582} 
    504583 
     
    720799                        break; 
    721800                case "forward": 
     801                        data.is_local_message = (document.getElementById("is_local_"+border_ID).value=="1")?true:false; 
    722802                        msg_forward_from = document.createElement('input'); 
    723803                        msg_forward_from.id = "msg_forward_from_" + new_border_ID; 
     
    728808                        document.getElementById("subject_" + new_border_ID).value = "Fw: " + data.subject; 
    729809                        var divFiles = Element("divFiles_"+new_border_ID); 
     810                        var campo_arquivo 
    730811                        if (Element("attachments_" + border_ID)){ 
    731812                                var attachments = document.getElementById("attachments_" + border_ID).childNodes; 
    732813                                for (var i = (attachments.length > 1 ? 1 : 0); i < attachments.length; i++){ 
     814                                        /*Anexos ics possuem um link ao seu lado para importar para calendário, que  
     815                                        não deve ser renderizado. Esse link não possui a string  
     816                                        javascript:download_attachments e vem com um span antes que é um espaço em branco,  
     817                                        que tb deve ser descartado*/ 
     818                                        if((attachments[i].tagName=="SPAN") ||  
     819                                                        ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1))) 
     820                                                continue;  
    733821                                        var link_attachment = document.createElement("A"); 
    734822                                        link_attachment.setAttribute("href", attachments[i].href); 
    735823                                        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); 
     824                                        if (data.is_local_message) {//Local messages 
     825                                                document.getElementById("is_local_forward"+new_border_ID).value = "1"; 
     826                                                var tmp = link_attachment.href.substring(link_attachment.href.indexOf("(") + 2);//Pula o parenteses e a aspas 
     827                                                tmp = tmp.substring(0, tmp.length - 2);//corta a aspas e o parenteses 
     828                                                tmp = replaceAll(tmp,"%20"," "); 
     829                                                var tempNomeArquivo = tmp.split("/"); 
     830                                                var nomeArquivo = tempNomeArquivo[tempNomeArquivo.length-1]; 
     831                                                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. 
     832                                                campo_arquivo = addForwardedFile(new_border_ID,nomeArquivo,link_attachment.href); 
     833                                                 
     834                                                expresso_local_messages.getInputFileFromAnexo(campo_arquivo, tmp); 
     835                                        } 
     836                                        else { 
     837                                                var tmp = link_attachment.href.replace("javascript:download_attachments(", "").replace(")", ""); 
     838                                                var a_tmp = tmp.split(','); 
     839                                                tmp = link_attachment.innerHTML.substring(0,link_attachment.innerHTML.lastIndexOf("(")); 
     840                                                a_tmp[2] = "'"+tmp.substring(0,tmp.length-1)+"'"; 
     841                                                s_tmp = escape(connector.serialize(a_tmp));                      
     842 
     843                                                divFiles.innerHTML += "<input style='border:0' type='CHECKBOX' name='forwarding_attachments[]' checked value=\""+s_tmp+"\"/>"; 
     844                                                divFiles.innerHTML += "<link style='border:0' name='file_"+i+"' id='inputFile_"+border_ID+i+"'/>"; 
     845                                                divFiles.appendChild(link_attachment); 
     846                                        }        
    743847                                } 
    744848                        } 
     
    14841588                else 
    14851589                        set_message_flag(msgs_number, "unseen"); 
    1486             move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 
     1590            proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name); 
    14871591        } 
    14881592 
     
    15041608                // debug 
    15051609                // alert(data); 
    1506                 move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 
     1610                proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name); 
    15071611        } 
    15081612    if(msgs_number == 'selected') 
Note: See TracChangeset for help on using the changeset viewer.