Ignore:
Timestamp:
10/08/13 16:20:46 (11 years ago)
Author:
douglas
Message:

Ticket #0000 - Copiadas as alterações do Trunk. Versão final 2.5.1.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.5/expressoMail1_2/js/main.js

    r8188 r8232  
    1 // Tempo do auto refresh (em milisegundos) 
    21var time_refresh = 150000; 
    32 
     
    152151 
    153152                 
    154     if(preferences.show_name_print_messages == "1") {  
    155         var getUserName = document.getElementById("user_info");  
    156         var userName = getUserName.innerHTML;  
    157         var position = userName.indexOf("-");  
    158         var userName = userName.substring(3, position);  
    159         cabecalho = '<h4>' + userName;  
    160     }  
    161   
    162         current_folder="INBOX";  
    163   
    164     //MAILARCHIVER-02  
    165     //Try to get ArchiveServices object directly  
    166     if(ArchiveServices)  
    167         expresso_mail_archive.Startup();  
    168     //ArchiveServices not runnnig: catch the user preferences to set up message at header  
    169     else{  
    170         if(preferences.use_local_messages=="1")  
    171             write_msg(get_lang('Sorry, but Mail Archiver does not seems to be running or installed at this workstation. By now, we are turning off local messages!'));  
    172     }  
    173   
    174     //cExecute ("$this.db_functions.get_dropdown_contacts", save_contacts); //Save contacts needs preferences.  
    175     $.ajax({  
    176         async: false,  
    177         url: "controller.php?" + $.param( {action: "$this.imap_functions.getMessagesIds",  
    178             folder: get_current_folder(),  
    179              msg_range_begin: "0",  
    180              msg_range_end: "0",  
    181             sort_box_type: "SORTARRIVAL",  
    182             search_box_type: search_box_type,  
    183             sort_box_reverse: "1"  
    184             }),  
    185         success: function(data){  
    186             data = connector.unserialize(data);  
    187             if(data){  
    188                 var _data = {};  
    189                 $.each(data,function(index,value){  
    190                     if (data[index]){  
    191                         _data[data[index]] = data[index];  
    192                     }  
    193                 });  
    194                 populateSelectedMsgs(_data);  
    195             }  
    196         },  
    197         beforeSend: function( jqXHR, settings ){  
    198             connector.showProgressBar();  
    199         },  
    200         complete: function( jqXHR, settings ){  
    201             connector.hideProgressBar();  
     153    if(preferences.show_name_print_messages == "1") { 
     154        var getUserName = document.getElementById("user_info"); 
     155        var userName = getUserName.innerHTML; 
     156        var position = userName.indexOf("-"); 
     157        var userName = userName.substring(3, position); 
     158        cabecalho = '<h4>' + userName; 
     159    } 
     160 
     161        current_folder="INBOX"; 
     162 
     163    //MAILARCHIVER-02 
     164    //Try to get ArchiveServices object directly 
     165    if(ArchiveServices) 
     166        expresso_mail_archive.Startup(); 
     167    //ArchiveServices not runnnig: catch the user preferences to set up message at header 
     168    else{ 
     169        if(preferences.use_local_messages=="1") 
     170            write_msg(get_lang('Sorry, but Mail Archiver does not seems to be running or installed at this workstation. By now, we are turning off local messages!')); 
     171    } 
     172 
     173//  cExecute ("$this.db_functions.get_dropdown_contacts", save_contacts); //Save contacts needs preferences. 
     174 
     175    cExecute ("$this.imap_functions.get_range_msgs2&folder=INBOX&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type=SORTARRIVAL&search_box_type=ALL&sort_box_reverse=1", handler_draw_box); 
     176 
     177    if(preferences.hide_folders == "1") 
     178        Element('divAppboxHeader').innerHTML =  title_app_menu; 
     179 
     180    //Desbilitado limpeza de lixeira por request. Ticket #3253 
     181    //if (preferences.delete_trash_messages_after_n_days != 0) 
     182    /// cExecute ("$this.imap_functions.automatic_trash_cleanness&before_date="+preferences.delete_trash_messages_after_n_days+"&cyrus_delimiter="+cyrus_delimiter, handler_automatic_trash_cleanness); 
     183 
     184    //if(preferences.outoffice == "1") 
     185    // 
     186 
     187    //Troca da forma de construção de menu para o plugin jquery.contextMenu 
     188    //ConstructMenuTools(); 
     189    //MAILARCHIVER-00 
     190    //if ( (preferences.use_local_messages==1) && (expresso_local_messages.is_offline_installed()) )  //Precisa ser feito após a renderização da caixa de emails 
     191        //check_mail_in_queue(); 
     192 
     193    // Insere a applet de criptografia 
     194    if (preferences.use_signature_digital_cripto == '1'){ 
     195        loadApplet(); 
     196    } 
     197    // Fim da inserção da applet 
     198    cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     199    //update_menu(Folder.getList(false)); 
     200 
     201    if($.cookie('collapse_folders') == "true"){ 
     202        if(!is_ie) 
     203            $("#folderscol").addClass( "hidden"); 
     204        else 
     205            $("#folderscol").hide(); 
     206        $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-e").children().attr('title', "Expandir"); 
     207        refresh(); 
     208        resizeWindow(); 
     209    } 
     210    else{ 
     211        $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-w").children().attr('title', "Ocultar"); 
     212        refresh(); 
     213        resizeWindow(); 
     214    } 
     215 
     216    $(".collapse_folders_td").attr('title', "Ocultar/Expandir").click(function(){ 
     217        if($("#folderscol").css("display") != "none"){ 
     218            if(!is_ie) 
     219                $("#folderscol").addClass( "hidden"); 
     220            else 
     221                $("#folderscol").hide(); 
     222 
     223            $(".collapse_folders").removeClass("ui-icon-triangle-1-w"); 
     224            $(".collapse_folders").addClass("ui-icon-triangle-1-e"); 
     225            $(".collapse_folders").parent().attr('title', "Expandir"); 
     226            $.cookie('collapse_folders', "true"); 
     227            refresh(); 
     228            resizeWindow(); 
     229        }else{ 
     230            if(!is_ie) 
     231                $("#folderscol").removeClass( "hidden"); 
     232            else 
     233                $("#folderscol").show(); 
     234            $(".collapse_folders").removeClass("ui-icon-triangle-1-e"); 
     235            $(".collapse_folders").addClass("ui-icon-triangle-1-w"); 
     236            $(".collapse_folders").parent().attr('title', "Ocultar"); 
     237            $.cookie('collapse_folders', "false"); 
     238            refresh(); 
     239            resizeWindow(); 
    202240        } 
    203     });  
    204      cExecute ("$this.imap_functions.get_range_msgs2&folder=INBOX&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type=SORTARRIVAL&search_box_type=ALL&sort_box_reverse=1", handler_draw_box);  
    205   
    206     if(preferences.hide_folders == "1")  
    207         Element('divAppboxHeader').innerHTML =  title_app_menu;  
    208   
    209     //Desbilitado limpeza de lixeira por request. Ticket #3253  
    210     //if (preferences.delete_trash_messages_after_n_days != 0)  
    211     /// cExecute ("$this.imap_functions.automatic_trash_cleanness&before_date="+preferences.delete_trash_messages_after_n_days+"&cyrus_delimiter="+cyrus_delimiter, handler_automatic_trash_cleanness);  
    212   
    213     //if(preferences.outoffice == "1")  
    214     //  
    215   
    216     //Troca da forma de construção de menu para o plugin jquery.contextMenu  
    217     //ConstructMenuTools();  
    218     //MAILARCHIVER-00  
    219     //if ( (preferences.use_local_messages==1) && (expresso_local_messages.is_offline_installed()) )  //Precisa ser feito após a renderização da caixa de emails  
    220         //check_mail_in_queue();  
    221   
    222     // Insere a applet de criptografia  
    223     if (preferences.use_signature_digital_cripto == '1'){  
    224         loadApplet();  
    225     }  
    226     // Fim da inserção da applet  
    227     cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu);  
    228   
    229     if($.cookie('collapse_folders') == "true"){  
    230         if(!is_ie)  
    231             $("#folderscol").addClass( "hidden");  
    232         else  
    233             $("#folderscol").hide();  
    234         $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-e").children().attr('title', "Expandir");  
    235         refresh();  
    236         resizeWindow();  
    237     }  
    238     else{  
    239         $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-w").children().attr('title', "Ocultar");  
    240         refresh();  
    241         resizeWindow();  
    242     }  
    243   
    244     $(".collapse_folders_td").attr('title', "Ocultar/Expandir").click(function(){  
    245         if($("#folderscol").css("display") != "none"){  
    246             if(!is_ie)  
    247                 $("#folderscol").addClass( "hidden");  
    248             else  
    249                 $("#folderscol").hide();  
    250   
    251             $(".collapse_folders").removeClass("ui-icon-triangle-1-w");  
    252             $(".collapse_folders").addClass("ui-icon-triangle-1-e");  
    253             $(".collapse_folders").parent().attr('title', "Expandir");  
    254             $.cookie('collapse_folders', "true");  
    255             refresh();  
    256             resizeWindow();  
    257         }else{  
    258             if(!is_ie)  
    259                 $("#folderscol").removeClass( "hidden");  
    260             else  
    261                 $("#folderscol").show();  
    262             $(".collapse_folders").removeClass("ui-icon-triangle-1-e");  
    263             $(".collapse_folders").addClass("ui-icon-triangle-1-w");  
    264             $(".collapse_folders").parent().attr('title', "Ocultar");  
    265             $.cookie('collapse_folders', "false");  
    266             refresh();  
    267             resizeWindow();  
    268         }  
    269         resizeWindow();  
    270   
    271     }).hover(  
    272         function(){  
    273             $(this).addClass("collapse_folders_td_over");  
    274         },  
    275         function(){  
    276             $(this).removeClass("collapse_folders_td_over");  
    277         }  
    278     );  
    279   
    280     if(parseInt(preferences.use_dynamic_contacts)){  
    281         updateDynamicContact();  
    282     }  
    283   
    284   
    285     var handler_automatic_trash_cleanness = function(data)  
    286     {  
     241        resizeWindow(); 
     242 
     243    }).hover( 
     244        function(){ 
     245            $(this).addClass("collapse_folders_td_over"); 
     246        }, 
     247        function(){ 
     248            $(this).removeClass("collapse_folders_td_over"); 
     249        } 
     250    ); 
     251 
     252    if(parseInt(preferences.use_dynamic_contacts)){ 
     253        updateDynamicContact(); 
     254    } 
     255 
     256 
     257    var handler_automatic_trash_cleanness = function(data) 
     258    { 
    287259                if (data != false){ 
    288260                        write_msg(data.length +' '+ Element('txt_clear_trash').value); 
     
    295267        // Get cyrus delimiter 
    296268        cyrus_delimiter = Element('cyrus_delimiter').value; 
    297  
    298     cExecute ("phpgwapi.browser.isMobile", function( data ){ 
    299                 mobile_device = ( ( data.constructor == Boolean ) ? data : ( data === 'true' ) ); 
    300         }); 
    301269 
    302270        cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu);      
     
    595563                if(Element("border_id_" + id_msg_read)) { 
    596564                        alternate_border(id_msg_read); 
    597                         resizeWindow();  
     565                        resizeWindow(); 
    598566                } 
    599567                else { 
    600568                        var border_id = create_border(msg_info.subject, id_msg_read); 
    601                         if(border_id) 
     569                        if(border_id && border_id != "maximo") 
    602570                        { 
    603571                                openTab.type[border_id] = 2; 
     
    661629                                 
    662630                } 
    663                 if (msg_info.showImg)  
    664                 {  
    665                         $("#body_"+id_msg_read).html(msg_info.body);  
    666                         $('#show_img_link_'+id_msg_read).remove();  
    667                 }  
     631                if (msg_info.showImg) 
     632                { 
     633                        $("#body_"+id_msg_read).html(msg_info.body); 
     634                        $('#show_img_link_'+id_msg_read).remove(); 
     635                } 
    668636                //Change msg class to read. 
    669637                if (!msg_is_read(ID)) 
     
    705673                if(differenceOfNewCriteria > 0){ 
    706674                        for(var i=data.length - differenceOfNewCriteria; i < data.length; i++){ 
    707                 var msg_folder = data[i].msg_folder;  
    708                 var msg_number = data[i].msg_number;  
     675                var msg_folder = data[i].msg_folder; 
     676                var msg_number = data[i].msg_number; 
    709677                                desktopNotification.sentNotification("",get_lang("Filter criteria"),  truncate(new Date(data[i].udate).toString('dd/MM HH:mm') + ' - ' + data[i].from+' - '+data[i].subject, 75)); 
    710                                 desktopNotification.showNotification(function(){  
    711                     cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+msg_folder+"&msg_number="+msg_number, function(){});  
    712                 }, function(){  
     678                                desktopNotification.showNotification(function(){ 
     679                    cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+msg_folder+"&msg_number="+msg_number, function(){}); 
     680                }, function(){ 
    713681                                        window.focus(); 
    714682                                        this.cancel(); 
     
    721689function refresh(alert_new_msg, notifyPermission){ 
    722690 
     691    //Não deixa atualizar caso o usuario esteja em uma aba de nova mesnagem , reponder ou encaminhar; 
     692    //Evita o travamento da escrita no CKEDITOR. 
     693    if(typeof(currentTab) !== 'undefined' && currentTab.toString().indexOf("_r_") === -1 && currentTab !== 0 ) 
     694        return; 
     695 
    723696        getFromAlertRules(); 
    724697        var handler_refresh = function(data){ 
    725                 handlerMessageFilter = function (data) {                         
    726                         notificationFilter(data, notifyPermission); 
    727                         alarmFollowupflagged('filtersAlarms', data); 
    728                          
    729                 } 
    730                 /* Busca  nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */ 
    731                 cExecute ("$this.imap_functions.getFlaggedAlertMessages&folders="+fromRules, handlerMessageFilter); 
     698 
     699        if(preferences['use_alert_filter_criteria'] == "1") 
     700        { 
     701            var handlerMessageFilter = function (data) { 
     702                notificationFilter(data, notifyPermission); 
     703                alarmFollowupflagged('filtersAlarms', data); 
     704 
     705            } 
     706            /* Busca  nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */ 
     707            cExecute ("$this.imap_functions.getFlaggedAlertMessages&folders="+fromRules, handlerMessageFilter); 
     708        } 
    732709 
    733710                if(data['msg_range_end']) 
     
    801778                                                                        over : function(a, b){                                           
    802779                                                                                //SETA BORDA EM VOLTA DA PASTA 
     780                                                                                $(b.helper).find(".draggin-folder,.draggin-mail").css("color", "green"); 
    803781                                                                                over = $(this); 
    804782                                                                                $(this).addClass("folder-over"); 
     
    813791                                                                                                } 
    814792                                                                        }, 
    815                                                                         out : function(){ 
     793                                                                        out : function(a,b){ 
     794 
    816795                                                                                //RETIRA BORDA EM VOLTA DA PASTA 
     796                                                                                $(b.helper).find(".draggin-folder,.draggin-mail").css("color", ""); 
    817797                                                                                $(this).removeClass("folder-over"); 
    818798                                                                        }, 
     
    1005985                                 
    1006986                        var userTrashFolder = '';  
    1007                         
    1008                         if (arguments.length <= 6) show_success_msg = true;  
     987 
     988                        if (arguments.length <= 6 && typeof(show_success_msg) == "undefined") show_success_msg = true;  
    1009989                        if (folder == 'null') folder = current_folder;  
    1010990                  
     
    1013993                                        var arrayFolder = folder.split(cyrus_delimiter);  
    1014994                                        userTrashFolder = 'user'+cyrus_delimiter+arrayFolder[1]+cyrus_delimiter+special_folders['Trash']; 
    1015                                         var has_folder = false;//Folder.get( userTrashFolder, false );  
    1016                                         var folders = DataLayer.get("folder");  
    1017                                         $.each(folders,function(index,value){  
    1018                                                 if(value && value.id == userTrashFolder)  
    1019                                                         has_folder = true;  
    1020                                         });  
    1021   
     995                                        var has_folder = false;//Folder.get( userTrashFolder, false ); 
     996                                        var folders = DataLayer.get("folder"); 
     997                                        $.each(folders,function(index,value){ 
     998                                                if(value && value.id == userTrashFolder)  
     999                                                        has_folder = true; 
     1000                                        }); 
     1001 
    10221002                                        if(!has_folder){ 
    10231003                                                create_new_folder(special_folders['Trash'], 'user'+cyrus_delimiter+arrayFolder[1]); 
     
    10971077                                                                  data = connector.unserialize( data ); 
    10981078                                                                   
    1099                                                                   if( data ) 
    1100                                                                   show_msg( data ); 
     1079                                                                  if( data ){ 
     1080                                                                        data.openSameBorder = true; 
     1081                                                                        show_msg( data ); 
     1082                                                                  } 
    11011083                                                          }, 
    11021084                                                          beforeSend: function( jqXHR, settings ){ 
     
    11471129                params_to_delete += "&search_box_type="+search_box_type; 
    11481130                params_to_delete += "&sort_box_reverse="+sort_box_reverse; 
     1131 
    11491132                cExecute ("$this.imap_functions.delete_msgs", handler_delete_msgs, params_to_delete); 
    11501133        } 
     
    13591342                        return false; 
    13601343                } 
     1344 
    13611345                mail_msg = ( Element("divScrollMain_"+numBox) ) ? Element("divScrollMain_"+numBox).firstChild.firstChild : Element("divScrollMain_0").firstChild.firstChild; 
     1346 
     1347        var showMsg = function(){ 
     1348 
     1349            //Se pref. usar mensagens locais ativada e não for operação de arquivamento exibe mensagem de remoção. 
     1350            if(preferences.use_local_messages == 1){ 
     1351                if(!expresso_mail_archive.isArchiveOperation){ 
     1352                    if (data.msgs_number.length == 1 || typeof(data.msgs_number) == 'string' ) 
     1353                        write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 
     1354                    else 
     1355                        write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 
     1356                } 
     1357            } else { 
     1358                if (data.msgs_number.length == 1 || typeof(data.msgs_number) == 'string' ) 
     1359                    write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 
     1360                else 
     1361                    write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 
     1362            } 
     1363        } 
    13621364 
    13631365                if (openTab.type[currentTab] > 1) 
     
    13941396                                                        proxy_mensagens.get_msg(previous_msg,folder,null,show_msg); 
    13951397                                                } 
    1396                                         }        
     1398                                        } 
    13971399                                } 
    13981400                                //se houver pagina anterior a paginação deve ser refeita 
     
    14531455                                mail_msg.removeChild(msg_to_delete); 
    14541456                        } 
    1455  
     1457                        if (preferences.use_shortcuts == '1' && msg_to_delete && !msg_to_delete.previousSibling){ 
     1458                                if( $("#tbody_box .current_selected_shortcut_msg").length == 0 ){ 
     1459                                        select_msg('null','reload_msg','null'); 
     1460                                } 
     1461                        } 
    14561462                        // Update Box BgColor 
    14571463                        var box = Element("tbody_box"); 
     
    14641470                                Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) - 1; 
    14651471                        } 
     1472 
     1473            showMsg(); 
    14661474                        return; 
    14671475                } 
     
    15081516                } 
    15091517 
    1510                 //Se pref. usar mensagens locais ativada e não for operação de arquivamento exibe mensagem de remoção. 
    1511                 if(preferences.use_local_messages == 1){ 
    1512                         if(!expresso_mail_archive.isArchiveOperation){ 
    1513                                 if (data.msgs_number.length == 1) 
    1514                                         write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 
    1515                                 else 
    1516                                         write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 
    1517                         } 
    1518                 } else { 
    1519                         if (data.msgs_number.length == 1) 
    1520                                 write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 
    1521                         else 
    1522                                 write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 
    1523                 }        
     1518        showMsg(); 
    15241519 
    15251520                if (data.border_ID.indexOf('r') != -1){ 
     
    15501545 
    15511546        try{ 
    1552                 if (proxy_mensagens.is_local_folder(Element('input_folder_'+currentTab).getAttribute('value')) && !border_ID) { 
    1553                         alert(get_lang("You cant manipulate local messages on search")); 
    1554                         return; 
    1555                 } 
     1547        if(Element('input_folder_'+currentTab)) 
     1548            if (proxy_mensagens.is_local_folder(Element('input_folder_'+currentTab).getAttribute('value')) && !border_ID) { 
     1549                alert(get_lang("You cant manipulate local messages on search")); 
     1550                return; 
     1551            } 
    15561552        } catch (e) {}  
    15571553    //Validação para recuperar o id caso não seja aba de listagem 
     
    15991595                //expresso_mail_archive.moveMessages(new_folder.substr(6), msgs_number); 
    16001596                expresso_mail_archive.moveMessages(new_folder.replace('local_messages_', ''), msgs_number); 
    1601                 if(currentTab != 0)  
    1602                         delete_border(border_ID);  
     1597                if(currentTab != 0) 
     1598                        delete_border(border_ID); 
    16031599            } 
    16041600            else{ 
     
    16821678                                } 
    16831679                                var hasFolder = false; 
    1684                                 $.each(fromRules, function(index, value) { 
    1685                                         if(value == folder){ 
    1686                                                 hasFolder = true; 
    1687                                                 cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_number, handler_removeFlag);  
    1688                                                 return false; 
    1689                                         } 
    1690                                 }); 
     1680                if(preferences['use_alert_filter_criteria'] == "1") 
     1681                { 
     1682                    $.each(fromRules, function(index, value) { 
     1683                        if(value == folder){ 
     1684                            hasFolder = true; 
     1685                            cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_number, handler_removeFlag); 
     1686                            return false; 
     1687                        } 
     1688                    }); 
     1689                } 
    16911690                                if(!hasFolder){ 
    16921691                                        handler_removeFlag(); 
     
    21492148 
    21502149function new_message_to(email) { 
    2151         var new_border_ID = new_message('new','null');            
    2152         if (!new_border_ID){  
    2153                 var msgId;  
    2154                 setTimeout(function(){  
    2155                         msgId = $('#border_tr td.menu-sel').attr('id').toString();  
    2156                         content = $("#content_id_"+msgId.substr(msgId.lastIndexOf("_")+1,msgId.length));  
    2157                         /*Envio de email para um grupo*/  
    2158                         if (email.indexOf('@') == -1){  
    2159                                 var groups = REST.get('/groups');  
    2160                                         $.each(normalizeContacts(groups.collection.itens),function(index,group){  
    2161                                                 if (group.name.toLocaleLowerCase() == email.toLocaleLowerCase()){  
    2162                                                         email = group.id;  
    2163                                                 }  
    2164                                         });  
    2165                                 draw_email_box(email, content.find('.to').filter('textarea:first'),"G");          
    2166                         }  
    2167                         else  
    2168                                 draw_reply_boxes_by_field("to",email,content);  
    2169                 },500);  
    2170         }  
    2171         else{  
    2172                 var content = $("#content_id_"+new_border_ID);  
    2173                 if (email.indexOf('@') == -1){  
    2174                         var groups = REST.get('/groups');  
    2175                                 $.each(normalizeContacts(groups.collection.itens),function(index,group){  
    2176                                         if (group.name.toLocaleLowerCase() == email.toLocaleLowerCase()){  
    2177                                                 email = group.id;  
    2178                                         }  
    2179                                 });  
    2180                         draw_email_box(email, content.find('.to').filter('textarea:first'),"G");          
    2181                 }  
    2182                 else  
    2183                         draw_reply_boxes_by_field("to",email,content);  
    2184         }         
     2150        var new_border_ID = new_message('new','null');           
     2151        if (!new_border_ID){ 
     2152                var msgId; 
     2153                setTimeout(function(){ 
     2154                        msgId = $('#border_tr td.menu-sel').attr('id').toString(); 
     2155                        content = $("#content_id_"+msgId.substr(msgId.lastIndexOf("_")+1,msgId.length)); 
     2156                        /*Envio de email para um grupo*/ 
     2157                        if (email.indexOf('@') == -1){ 
     2158                                var groups = REST.get('/groups'); 
     2159                                        $.each(normalizeContacts(groups.collection.itens),function(index,group){ 
     2160                                                if (group.name.toLocaleLowerCase() == email.toLocaleLowerCase()){ 
     2161                                                        email = group.id; 
     2162                                                } 
     2163                                        }); 
     2164                                draw_email_box(email, content.find('.to').filter('textarea:first'),"G");         
     2165                        } 
     2166                        else 
     2167                                draw_reply_boxes_by_field("to",email,content); 
     2168                },500); 
     2169        } 
     2170        else{ 
     2171                var content = $("#content_id_"+new_border_ID);  
     2172                if (email.indexOf('@') == -1){ 
     2173                        var groups = REST.get('/groups'); 
     2174                                $.each(normalizeContacts(groups.collection.itens),function(index,group){ 
     2175                                        if (group.name.toLocaleLowerCase() == email.toLocaleLowerCase()){ 
     2176                                                email = group.id; 
     2177                                        } 
     2178                                }); 
     2179                        draw_email_box(email, content.find('.to').filter('textarea:first'),"G");         
     2180                } 
     2181                else 
     2182                        draw_reply_boxes_by_field("to",email,content); 
     2183        }        
    21852184} 
    21862185 
     
    33973396        /* Lista de palavras que vão ser procuradas no corpo do email, referente às variantes da palavra anexo em português, inglês e espanhol. */ 
    33983397        if(language == "pt-br") //Português brasileiro 
    3399                 var words = ['anexo', 'anexos', 'anexada', 'anexado', 'anexei', 'anexando', 'anexaste', 'anexastes', 'anexamos', 'anexaram']; 
    3400         else if(language == "es-es") //Espanhol 
     3398        var words = ['anexando', 'anexos', 'anexadas', 'anexados', 'anexei',  'anexaste', 'anexastes', 'anexamos', 'anexaram', 'anexas', 'anexado', 'anexada', 'anexo', 'anexa']; 
     3399    else if(language == "es-es") //Espanhol 
    34013400                var words = ['anexo','adjunto', 'adjuntos', 'adjuntado','adjuntamos']; 
    34023401        else //Inglês ('en') 
    3403                 var words = ['attach', 'attachment', 'attached', 'annex', 'appending']; 
     3402        var words = ['attach', 'attachment', 'attached', 'annex', 'appending', 'appendage', 'annexe', 'appendix']; 
    34043403 
    34053404        if($('#fileupload_msg'+ID).find('.att-box').length == 0 && preferences.alert_message_attachment == '1' ) { 
     
    34563455function send_valided_message(ID, folder, folder_name) 
    34573456{  
    3458         if (preferences.auto_save_draft == 1) 
    3459            autoSaveControl.status[ID] = true; 
    3460  
    3461         var content = $("#content_id_"+ID); 
    3462         var save_link = $("#content_id_"+ID).find(".save"); 
    3463         var onClick = save_link.onclick; 
    3464         save_link.onclick = ''; 
    3465         save_link.button({disabled: true}); 
     3457    if (preferences.auto_save_draft == 1) 
     3458       autoSaveControl.status[ID] = true; 
     3459 
     3460    var content = $("#content_id_"+ID); 
     3461    var save_link = $("#content_id_"+ID).find(".save"); 
     3462    var onClick = save_link.onclick; 
     3463    save_link.onclick = ''; 
     3464    save_link.button({disabled: true}); 
    34663465 
    34673466    var _subject = trim(content.find(".subject").val()); 
     
    34783477    $.each(array, function(index, value){ 
    34793478        stringReply += $(value).find("input").val() + ","; 
    3480     });  
     3479    });  
    34813480    var stringToEmail = ""; 
    34823481    draw_email_box(content.find(".to-tr").find("textarea:first").val() || content.find(".to-tr").find("input:visible").val(), content.find(".to-tr").find("textarea:first")); 
     
    35133512        }); 
    35143513    } 
    3515     stringEmail +=      stringCCEmail; 
     3514    stringEmail +=  stringCCEmail; 
    35163515 
    35173516    var mailData = new Object(); 
     
    35343533    mailData.msg_forward_from = $(content).find('[name="msg_forward_from"]').val(); 
    35353534    mailData.msg_reply_from = $(content).find('[name="msg_reply_from"]').val(); 
    3536          
    3537         if ($(content).find('select[name="input_from"]').val()) 
    3538                 mailData.input_from = $(content).find('select[name="input_from"]').val(); 
    3539  
    3540  
    3541         if(stringEmail != ""){ 
    3542                 $.ajax({ 
    3543                         url: "controller.php?action=$this.imap_functions.send_mail", 
    3544             data:  mailData, 
    3545             type: 'POST', 
    3546  
    3547             beforeSend: function(jqXHR, settings){ 
    3548  
    3549                 write_msg( get_lang( 'Sending the message...' ) ); 
    3550                 $(content).find('button.send').button('option', 'disabled', true); 
    3551  
    3552  
    3553             }, 
    3554             success: function(data){ 
    3555                 send_message_return(connector.unserialize(data),ID); 
    3556                         }, 
    3557                         error: function(){ 
    3558                                 write_msg(get_lang( 'Error trying to send the message. Retry in a few seconds...' ) ); 
    3559                 $(content).find('button.send').button('option', 'disabled', false); 
    3560                 var interval = setInterval(function(){ 
    3561                                                 send_valided_message(ID,folder,folder_name); 
    3562                                                 clearInterval(interval); 
    3563                                 },15000); 
    3564                                 return; 
    3565                         } 
    3566                 }); 
     3535     
     3536    if ($(content).find('select[name="input_from"]').val()) 
     3537        mailData.input_from = $(content).find('select[name="input_from"]').val(); 
     3538     
     3539    if(stringEmail != ""){ 
     3540    $.ajax({ 
     3541        url: "controller.php?action=$this.imap_functions.send_mail", 
     3542        data:  mailData, 
     3543        type: 'POST', 
     3544        async: false, 
     3545        beforeSend: function(jqXHR, settings){ 
     3546            write_msg( get_lang( 'Sending the message...' ) ); 
     3547            $(content).find('button.send').button('option', 'disabled', true); 
     3548        }, 
     3549        success: function(data){ 
     3550            send_message_return(connector.unserialize(data),ID); 
     3551        }, 
     3552        error: function(){ 
     3553            write_msg(get_lang( 'Error trying to send the message. Retry in a few seconds...' ) ); 
     3554            $(content).find('button.send').button('option', 'disabled', false); 
     3555            var interval = setInterval(function(){ 
     3556                send_valided_message(ID,folder,folder_name); 
     3557                clearInterval(interval); 
     3558            },15000); 
     3559            return; 
     3560        } 
     3561    }); 
    35673562        }else{ 
    3568                 write_msg(get_lang("message without receiver")); 
    3569                 return; 
    3570         } 
    3571  
    3572  
     3563                write_msg(get_lang("message without receiver"));  
     3564        } 
    35733565} 
    35743566 
     
    37653757                                                case "unseen": 
    37663758                                                        set_msg_as_unread(msgs[j]+'_s'+id_border, true); 
     3759                                                        set_msg_as_unread(msgs[j], true); // Atualiza msg na aba principal. 
    37673760                                                        Element("search_"+id_border+"_check_box_message_"+msgs[j]).checked = false; 
    37683761                                                        break; 
    37693762                                                case "seen": 
    37703763                                                        set_msg_as_read(msgs[j]+'_s'+id_border, true); 
     3764                                                        set_msg_as_read(msgs[j], true); //Atualiza msg na aba principal. 
    37713765                                                        Element("search_"+id_border+"_check_box_message_"+msgs[j]).checked = false; 
    37723766                                                        break; 
     
    37873781                } 
    37883782                 
    3789                 draw_tree_folders(); 
     3783                draw_tree_folders(folders); 
    37903784                Element('chk_box_select_all_messages_search').checked = false; 
    37913785                refresh(); 
     
    38783872                                                Element("check_box_message_" + msgs_to_set[i]).checked = false; 
    38793873 
    3880                                                 // remove a flag $FilteredMessage da mensagem ao ser marcada como lida   
    3881                                                 $.each(fromRules, function(index, value) { 
    3882                                                         if(value == folder){ 
    3883                                                                 cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_to_set, function(){});  
    3884                                                                 return false; 
    3885                                                         } 
    3886                                                 });      
    3887                                                  
     3874                        if(preferences['use_alert_filter_criteria'] == "1") 
     3875                        { 
     3876                            // remove a flag $FilteredMessage da mensagem ao ser marcada como lida 
     3877                            $.each(fromRules, function(index, value) { 
     3878                                if(value == folder){ 
     3879                                    cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_to_set, function(){}); 
     3880                                    return false; 
     3881                                } 
     3882                            }); 
     3883                        } 
    38883884                                                break; 
    38893885                                        case "flagged": 
     
    44554451                update_quota(get_current_folder()); 
    44564452                draw_new_tree_folder(); 
    4457                 draw_tree_labels(); 
     4453        if( preferences['use_followupflags_and_labels'] == "1" ) 
     4454                    draw_tree_labels(); 
    44584455                if (data){ 
    44594456                        if(typeof(data) == "object"){ 
     
    45144511                //tree_folders.getNodeById(mount_url_folder(["INBOX",special_folders["Spam"]]))._refresh(); 
    45154512                draw_new_tree_folder(); 
    4516                 draw_tree_labels(); 
     4513        if( preferences['use_followupflags_and_labels'] == "1" ) 
     4514                    draw_tree_labels(); 
    45174515                update_quota(get_current_folder()); 
    45184516                if (data){ 
     
    45524550} 
    45534551 
    4554 function buildExportArchiver(msgsArchive, name_box){ 
    4555  
    4556     var hand_export = function(data){ 
    4557         if(!data){ 
    4558             write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.')) 
    4559         }else if(data["empty_folder"] || data == "empty_folder"){ 
    4560             write_msg(get_lang("The selected folder is empty.")); 
    4561         }else 
    4562           download_attachments(null, null, data, null,null, get_current_folder().split("_")[2] +'.zip'); 
    4563     } 
    4564  
    4565     var array = new Array(); 
    4566  
    4567     for(var i =0; i < msgsArchive.length; i++){ 
    4568         eachMsg = { 
    4569                 'ContentType' : msgsArchive[i].ContentType, 
    4570                 'from' : { 'email' : msgsArchive[i].from.email, 'full' : msgsArchive[i].from.full, 'name' : msgsArchive[i].from.name}, 
    4571                 'msg_sample' : msgsArchive[i].msg_sample, 
    4572                 'subject' : msgsArchive[i].subject, 
    4573                 'to' : { 'email' : msgsArchive[i].to.email, 'full' : msgsArchive[i].to.full, 'name' : msgsArchive[i].to.name}, 
    4574                 'toaddress2' : msgsArchive[i].toaddress2, 
    4575                 'msg_number' : msgsArchive[i].msg_number, 
    4576                 'date' : new Date(msgsArchive[i].timestamp).toString()   
    4577         }; 
    4578         array.push(eachMsg); 
    4579     } 
    4580  
    4581     $.ajax({ 
    4582         type: "POST", 
    4583         url: "controller.php?action=$this.exporteml.export_all_byLocalFolder", 
    4584         data: { folder: name_box, type: "msg_local", messages : array} 
    4585     }).done(function(msg) { 
    4586         hand_export(msg.split('"')[1]); 
    4587     }); 
    4588 } 
    4589  
    45904552function export_all_selected_msgs(){ 
    45914553        if(get_current_folder().split("_")[0] == "local"){ 
     
    45964558            expresso_mail_archive.getSomeMsgs([get_selected_messages()]); 
    45974559        } 
     4560 
     4561    } else { 
    45984562         
    4599         buildExportArchiver(expresso_mail_archive.getSomeMsg, get_current_folder().split("_")[2]); 
    4600  
    4601     } else { 
    4602  
    46034563    if (openTab.type[currentTab] > 1){       
    46044564                source_msg(currentTab,openTab.imapBox[currentTab]); 
     
    46354595                filename = data[1]+'.eml';  
    46364596                        }  
    4637   
    4638             if(typeof data == "object")  
    4639                              download_attachments(null, null, data[0], null,null,filename);  
    4640             else   
    4641                  download_attachments(null, null, data, null,null,filename);  
     4597 
     4598            if(typeof data == "object") 
     4599                             download_attachments(null, null, data[0], null,null,filename); 
     4600            else  
     4601                 download_attachments(null, null, data, null,null,filename); 
    46424602                } 
    46434603        } 
     
    48794839                                                                                        write_msg(get_lang('You must wait while the messages will be imported...')); 
    48804840                                                                                         
    4881                                                                                         var local_folder = input_hidden.attr("value"); //recupera a pasta selecionada  
    4882                                                                                         if(local_folder.indexOf("local_") == 0){ //verifica se a pasta selecionada é uma pasta local  
    4883   
    4884                                                                                                 var fdata = local_folder.substr(15, local_folder.length); //recupera somente a estrutura da pasta ou o id  
    4885                                                                                                 expresso_mail_archive.getFolderInfo(fdata); //recuperar a estrutura da pasta,   
    4886                                                                                                                                                                                         //para realizar a importação de mensagens  
    4887                                                                                                 fdata = expresso_mail_archive.folder.path;  
    4888   
    4889                                                                                                 //o mailarchiver não provê um serviço para a importação de mensagens nas pastas locais,  
    4890                                                                                                 //mas sim uma modal, da qual são extraídas as informações e as urls para submitar os dados  
    4891                                                                                                 //para o arquivamento de mensagens em pastas locais.  
    4892                                                                                                 var url_src = mail_archive_protocol + '://' + mail_archive_host + ':' + mail_archive_port + '/arcserv/import?prt=' + mail_archive_protocol + '&por=' + mail_archive_port+ '&fid='+ encodeURIComponent(fdata) + '&sid=' + expresso_mail_archive.session.id;  
    4893                                                                                                 var _html = DataLayer.render(url_src);  
    4894                                                                                                 var regex_url = RegExp('\<iframe(.)*src=\"([^\"]*)"(.)*\>');  
    4895                                                                                                 var obj_params = $.parseQuery( regex_url.exec(_html)[2].split('?')[1] || '' );  
    4896                                                                                                 $(formSend).append('<input id="ma_import_flat" type="checkbox" value="false" name="flat" style="display:none"> ' +  
    4897                                                                                                         '<input id="sessionId" type="hidden" value="'+obj_params['sessvalue']+'" name="sessionId">' +  
    4898                                                                                                         '<input id="base" type="hidden" value="'+obj_params['basevalue']+'" name="base">' +  
    4899                                                                                                         '<input id="lang" type="hidden" value="'+obj_params['langvalue']+'" name="lang">');  
    4900   
    4901                                                                                                 var importEmailsLocalDialog = $('#importEmailsLocal');  
    4902                                                                                                 importEmailsLocalDialog.css("overflow","hidden");  
    4903                                                                                                 importEmailsLocalDialog.dialog(  
    4904                                                                                                 {  
    4905                                                                                                         autoOpen    : false,  
    4906                                                                                                         height          : 200,  
    4907                                                                                                         width           : 350,  
    4908                                                                                                         resizable       : false,  
    4909                                                                                                         title           : get_lang('Local Archive'),  
    4910                                                                                                         modal           : true,  
    4911                                                                                                         buttons         : [  
    4912                                                                                                                                          {  
    4913                                                                                                                                                 text    : get_lang("Close"),   
    4914                                                                                                                                                 click   : function()  
    4915                                                                                                                                                 {  
    4916                                                                                                                                                         importEmailsLocalDialog.dialog("close").dialog("destroy");  
    4917                                                                                                                                                 }  
    4918                                                                                                                                          }  
    4919                                                                                                                                 ]  
    4920                                                                                                 });  
    4921   
    4922                                                                                                 importEmailsLocalDialog.html('<iframe frameborder="0" scrolling="no" id="frameResult" name="frameResult" ></iframe>')  
    4923                                                                                                 $(formSend).attr("action", mail_archive_protocol + '://' + mail_archive_host + ':' + mail_archive_port + '/arcserv/import');  
    4924                                                                                                 $(formSend).attr("target", "frameResult");  
    4925                                                                                                 $(formSend).submit();  
    4926                                                                                                 importEmailsLocalDialog.dialog( "open" ); 
    4927                                                                                                 if(typeof(shortcut) != 'undefined') 
     4841                                                                                        var local_folder = input_hidden.attr("value"); //recupera a pasta selecionada 
     4842                                                                                        if(local_folder.indexOf("local_") == 0){ //verifica se a pasta selecionada é uma pasta local 
     4843                                                                                                var fdata = local_folder.substr(15, local_folder.length); //recupera somente a estrutura da pasta ou o id 
     4844                                                                                                expresso_mail_archive.getFolderInfo(fdata); //recuperar a estrutura da pasta,  
     4845                                                                                                                                                                                        //para realizar a importação de mensagens 
     4846                                                                                                fdata = expresso_mail_archive.folder.path; 
     4847 
     4848                                                                                                //o mailarchiver não provê um serviço para a importação de mensagens nas pastas locais, 
     4849                                                                                                //mas sim uma modal, da qual são extraídas as informações e as urls para submitar os dados 
     4850                                                                                                //para o arquivamento de mensagens em pastas locais. 
     4851                                                                                                var url_src = mail_archive_protocol + '://' + mail_archive_host + ':' + mail_archive_port + '/arcserv/import?prt=' + mail_archive_protocol + '&por=' + mail_archive_port+ '&fid='+ encodeURIComponent(fdata) + '&sid=' + expresso_mail_archive.session.id; 
     4852                                                                                                var _html = DataLayer.render(url_src); 
     4853                                                                                                var regex_url = RegExp('\<iframe(.)*src=\"([^\"]*)"(.)*\>'); 
     4854                                                                                                var obj_params = $.parseQuery( regex_url.exec(_html)[2].split('?')[1] || '' ); 
     4855                                                                                                $(formSend).append('<input id="ma_import_flat" type="checkbox" value="false" name="flat" style="display:none"> ' + 
     4856                                                                                                        '<input id="sessionId" type="hidden" value="'+obj_params['sessvalue']+'" name="sessionId">' + 
     4857                                                                                                        '<input id="base" type="hidden" value="'+obj_params['basevalue']+'" name="base">' + 
     4858                                                                                                        '<input id="lang" type="hidden" value="'+obj_params['langvalue']+'" name="lang">'); 
     4859 
     4860                                                                                                var importEmailsLocalDialog = $('#importEmailsLocal'); 
     4861                                                                                                importEmailsLocalDialog.css("overflow","hidden"); 
     4862                                                                                                importEmailsLocalDialog.dialog( 
     4863                                                                                                { 
     4864                                                                                                        autoOpen    : false, 
     4865                                                                                                        height          : 200, 
     4866                                                                                                        width           : 350, 
     4867                                                                                                        resizable       : false, 
     4868                                                                                                        title           : get_lang('Local Archive'), 
     4869                                                                                                        modal           : true, 
     4870                                                                                                        buttons         : [ 
     4871                                                                                                                                         { 
     4872                                                                                                                                                text    : get_lang("Close"),  
     4873                                                                                                                                                click   : function() 
     4874                                                                                                                                                { 
     4875                                                                                                                                                        importEmailsLocalDialog.dialog("close").dialog("destroy"); 
     4876                                                                                                                                                } 
     4877                                                                                                                                         } 
     4878                                                                                                                                ] 
     4879                                                                                                }); 
     4880 
     4881                                                                                                importEmailsLocalDialog.html('<iframe frameborder="0" scrolling="no" id="frameResult" name="frameResult" ></iframe>') 
     4882                                                                                                $(formSend).attr("action", mail_archive_protocol + '://' + mail_archive_host + ':' + mail_archive_port + '/arcserv/import'); 
     4883                                                                                                $(formSend).attr("target", "frameResult"); 
     4884                                                                                                $(formSend).submit(); 
     4885                                                                                                importEmailsLocalDialog.dialog( "open" ); 
     4886                                                                                                if(typeof(shortcut) != 'undefined')  
    49284887                                                                                                        shortcut.disabled = false; 
    4929                                                                                         } else {  
    4930                                                                                                 cExecuteForm('$this.imap_functions.import_msgs', formSend , handler_return );  
    4931                                                                                         }  
    4932   
     4888                                                                                        } else { 
     4889                                                                                                cExecuteForm('$this.imap_functions.import_msgs', formSend , handler_return ); 
     4890                                                                                        } 
     4891 
    49334892                                                                                } 
    49344893                                                                        } 
     
    54395398            if(data.append == 1) 
    54405399            { 
    5441                 proxy_mensagens.get_msg(data.msg_number,data.msg_folder,false,show_msg,false); 
     5400                proxy_mensagens.get_msg(data.msg_number,data.msg_folder,false,function (data) { 
     5401                    if (onceOpenedHeadersMessages[data.msg_folder] == undefined)  
     5402                    { 
     5403                        onceOpenedHeadersMessages[data.msg_folder] = []; 
     5404                    }; 
     5405                    onceOpenedHeadersMessages[data.msg_folder][data.msg_number] = data; 
     5406                    show_msg(data); 
     5407                },false); 
    54425408                partMsgs.push(data.msg_number); 
    54435409        } 
Note: See TracChangeset for help on using the changeset viewer.