Ignore:
Timestamp:
10/11/12 18:14:36 (12 years ago)
Author:
marcosw
Message:

Ticket #3088 - Realização de merge da melhoria do MailArchiver?

File:
1 edited

Legend:

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

    r7392 r7414  
    11// Tempo do auto refresh (em milisegundos) 
    22var time_refresh = 300000; 
     3 
     4//MAILARCHIVER-01 
     5// Intervalo de tempo de verificacao de comunicacao com o MailArchiver (milisegundos) 
     6var check_services_interval = 2000; 
     7// Numero de tentativas de reconexao 
     8var check_services_tryouts = 1; 
     9// Limite de tentativas de reconexao 
     10var check_services_tryouts_limit = 5; 
     11 
    312 
    413// tempo do auto save (em milisegundos) 
     
    615var autosave_time = 40000; 
    716var results_search_messages = "";  
    8 var cabecalho = '<h4>ExpressoLivre - ExpressoMail</h4>';  
    9  
     17var cabecalho = '<h4>ExpressoLivre - ExpressoMail</h4>'; 
    1018var auxNotificationCriteriaVetor = []; 
    1119var auxNotification; 
     
    107115                Element('tableDivAppbox').width = '100%'; 
    108116 
     117    //MailArchiver save offset to gmt user preference data to list correctly date/time from messages list 
     118    var save_gmtoffset = function(data){ 
     119        gmtoffset = data; 
     120    } 
     121 
    109122        var save_preferences = function(data){ 
    110123 
     
    124137                current_folder="INBOX"; 
    125138                 
    126                 if( (window.google && google.gears) && !google.gears.factory.getPermission()) 
     139                /*if( (window.google && google.gears) && !google.gears.factory.getPermission()) 
    127140                    preferences.use_local_messages=0; 
    128141                 
     
    141154                        setTimeout('auto_archiving()', 30000); 
    142155                         
    143                 } 
     156                }*/ 
    144157                $.ajax({                         
    145158                        url: "controller.php?" + $.param( {action: "$this.imap_functions.getMessagesIds", 
     
    168181                        } 
    169182                }); 
     183                /*Carrega a lista de mensagens*/ 
     184 
     185        //MAILARCHIVER-02 
     186        //Try to get ArchiveServices object directly 
     187        if(ArchiveServices) 
     188            expresso_mail_archive.Startup(); 
     189        //ArchiveServices not runnnig: catch the user preferences to set up message at header 
     190        else{ 
     191            if(preferences.use_local_messages=="1") 
     192                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!')); 
     193        } 
     194 
     195                var  handler_populateSelectedMsgs = function(data){ 
     196                        populateSelectedMsgs(data); 
     197                } 
     198                cExecute ("$this.imap_functions.get_msgs&folder=INBOX&sort_box_type=SORTARRIVAL&search_box_type=ALL&sort_box_reverse=1&msg_range_begin=1", handler_populateSelectedMsgs); 
    170199                //Substituido por padrão Jquery 
    171200                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); 
     
    182211                //Troca da forma de construção de menu para o plugin jquery.contextMenu 
    183212                //ConstructMenuTools(); 
    184                  
    185                 if ( (preferences.use_local_messages==1) && (expresso_local_messages.is_offline_installed()) )  //Precisa ser feito após a renderização da caixa de emails 
    186                         check_mail_in_queue(); 
     213                //MAILARCHIVER-00 
     214                //if ( (preferences.use_local_messages==1) && (expresso_local_messages.is_offline_installed()) )  //Precisa ser feito após a renderização da caixa de emails 
     215                        //check_mail_in_queue(); 
    187216                 
    188217                // Insere a applet de criptografia 
     
    619648                                 
    620649                } 
     650 
    621651                //Change msg class to read. 
    622652                if (!msg_is_read(ID)) 
    623653                { 
    624                         set_msg_as_read(ID, true); 
     654            //MAILARCHIVER-01 TAG MESSAGE AS SEEN 
     655            if (proxy_mensagens.is_local_folder(get_current_folder())){ 
     656                expresso_mail_archive.drawdata = null //no draw action 
     657                var tl = expresso_mail_archive.pattern.tagConfig('unseen', ID, 1); 
     658                expresso_mail_archive.taglist = tl; 
     659                expresso_mail_archive.progressbar = window.setTimeout("expresso_mail_archive.tagMessage()",1);                             
     660            } 
     661            set_msg_as_read(ID, true); 
    625662                        if (msg_info.cacheHit || (!proxy_mensagens.is_local_folder(get_current_folder()) && msg_info.original_ID)) 
    626663                        { 
    627                                 set_message_flag(ID, "seen"); // avoid caducous (lazy) data 
     664                set_message_flag(ID, "seen"); // avoid caducous (lazy) data 
    628665                        } 
    629666                } 
     
    731768                                { 
    732769                                        selectedPagingMsgs[data[i].msg_number] = false; 
     770                                        totalFolderMsgs++; 
    733771                                        updateSelectedMsgs(false,data[i].msg_number); 
    734772                                        var new_msg = this.make_tr_message(data[i], current_folder, data.offsetToGMT); 
     
    866904                } 
    867905                connector.purgeCache(); 
    868                 update_menu(); 
     906                cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
    869907                resizeMailList(); 
    870908 
     
    950988                          
    951989                        if (!archive && (parseInt(preferences.save_deleted_msg)) && (folder != userTrashFolder)){  
    952                     if(currentTab == 0) 
    953                                                 msgs_number = get_selected_messages(); 
    954990                            move_msgs2(folder, ""+msgs_number, border_ID, userTrashFolder,special_folders['Trash'],show_success_msg );  
    955                                 return; 
    956         } 
     991                                        return; 
     992                                } 
    957993 
    958994        var handler_delete_msgs = function(data){ 
     
    10381074        } 
    10391075         
    1040         if(currentTab == 0 ) 
    1041                 msgs_number = get_selected_messages(); 
    1042  
    10431076        if (msgs_number.length > 0 || parseInt(msgs_number) > 0) 
    10441077                cExecute ("$this.imap_functions.delete_msgs&folder="+folder+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&search_box_type="+search_box_type+"&sort_box_reverse="+sort_box_reverse, handler_delete_msgs); 
     
    10561089        var remove_currente_folder = ""; 
    10571090        var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 
    1058          
     1091 
     1092        //Validação para não poder manipular mensagens locais na busca 
     1093        if (currentTab.indexOf('search_local') != -1 || proxy_mensagens.is_local_folder(new_folder)) 
     1094        { 
     1095                alert(get_lang("You cant manipulate local messages on search")); 
     1096                return; 
     1097        } 
     1098 
    10591099        var delete_msg = false; 
    10601100         
     
    10651105         
    10661106        if( preferences.use_local_messages == 1 && expresso_local_messages.isArchiving( selected_messages, folder ) ){ 
    1067           alert( "Impossivel mover mensagens que estão ainda estão sendo arquivadas." ); 
     1107          alert( "Impossivel mover mensagens que ainda estão sendo arquivadas." ); 
    10681108          return; 
    10691109        } 
     
    12331273                                return false; 
    12341274                        }else{ 
    1235                                 data = data.split("/").reverse(); //Recupera o nome da pasta do array 
    1236                                 write_msg(get_lang('Error moving message.')+" "+get_lang('Permission denied to folder "%1".', data[0])); 
     1275                                write_msg(get_lang('Error moving message.')+" "+get_lang('Permission denied to folder "%1".', new_folder_name)); 
     1276                                /*Verifica se a pasta destino é a "Trash" e se a pasta origem e destino são do mesma estrutura compartilhada*/ 
     1277                                if(new_folder_name == "Trash" && folder.split("/")[1] == new_folder.split("/")[1]){ 
     1278                                        alert(get_lang("You can not remove the message with the preference 'Send to Trash' enabled. There is no permission to move messages to the trash folder.")); 
     1279                                } 
    12371280                                return false; 
    12381281                        } 
     
    13601403                        draw_paging(n_total_msg); 
    13611404                        Element('tot_m').innerHTML = n_total_msg; 
     1405                        totalFolderMsgs -= data.msgs_number.length; 
    13621406                } 
    13631407                refresh(); 
     
    13751419                } 
    13761420        } catch (e) {}  
    1377  
    1378         if(currentTab == 0) 
     1421    //Validação para recuperar o id caso não seja aba de listagem 
     1422        if (currentTab == 0 && msgs_number == "selected") 
    13791423                msgs_number = get_selected_messages(); 
     1424        else if (currentTab != 0 && msgs_number == "selected") 
     1425                msgs_number = currentTab.substr(0,currentTab.indexOf('_r')); 
    13801426 
    13811427        if(openTab.type[currentTab] == 1){ 
     
    13841430 
    13851431        // se a aba estiver aberta e selecionada, apenas a msg da aba é movida 
    1386         if(currentTab.toString().indexOf("_r") != -1) 
     1432        if(currentTab.toString().indexOf("_r") != -1 && currentTab == border_ID) 
    13871433        { 
    13881434                //se a aba for aberta atraves de uma pesquisa 
     
    13931439        } 
    13941440        refresh(); 
    1395         if (parseInt(msgs_number) > 0 || msgs_number.length > 0){ 
    1396                 // remove a flag $FilteredMessage da mensagem, depois move 
    1397                 var handler_removeFlag = function(){ 
    1398                         $.ajax({ 
    1399                                 url: 'controller.php?' + $.param( {action: '$this.imap_functions.move_messages', 
    1400                                                                     folder: folder, 
    1401                                                                     msgs_number: ""+msgs_number, 
    1402                                                                     border_ID: border_ID, 
    1403                                                                     sort_box_type: sort_box_type, 
    1404                                                                     search_box_type: search_box_type, 
    1405                                                                     sort_box_reverse: sort_box_reverse, 
    1406                                                                     reuse_border: border_ID, 
    1407                                                                     new_folder: new_folder, 
    1408                                                                     new_folder_name: new_folder_name, 
    1409                                                                     get_previous_msg: ( !not_opem_previus ? preferences.delete_and_show_previous_message : false ), 
    1410                                                                     decoded: true } ), 
    1411  
    1412                                 success: function( data ){ 
    1413                                     data = connector.unserialize( data ); 
    1414                                     $.each(msgs_number.split(","), function(index, value){ 
    1415                                         delete selectedPagingMsgs[value]; 
    1416                                         msgFolder =  Base64.encode(get_current_folder()); 
    1417                                         tabToRemove = value + "_r_" + msgFolder.replace(/=/g,""); 
    1418                                         if ($("#"+tabToRemove)){ 
    1419                                                 delete_border(tabToRemove,'false'); 
    1420                                         } 
     1441 
     1442        if (proxy_mensagens.is_local_folder(folder)){ 
     1443         
     1444                expresso_mail_archive.update_counters = true; 
     1445        //Folder de onde sai a mensagem é local (armazenamento local) 
     1446 
     1447        if(msgs_number=='selected'){ 
     1448            msgs_number = get_selected_messages(); 
     1449        } 
     1450 
     1451        if (new_folder == 'local_root'){ 
     1452            alert(get_lang("Select a folder!")); 
     1453        } 
     1454                     
     1455        if (parseInt(msgs_number) > 0 || msgs_number.length > 0) { 
     1456            if (proxy_mensagens.is_local_folder(new_folder)){ 
     1457                //esta tirando de um folder local para outro folder local 
     1458                //expresso_mail_archive.moveMessages(new_folder.substr(6), msgs_number); 
     1459                expresso_mail_archive.moveMessages(new_folder.replace('local_messages_', ''), msgs_number); 
     1460            } 
     1461            else{ 
     1462                //esta tirando de um folder local para um folder IMAP (desarquivamento) 
     1463                if(!new_folder){ 
     1464                    new_folder = 'INBOX'; 
     1465                } 
     1466                if(currentTab.toString().indexOf("_r") != -1){ 
     1467                    msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 
     1468                }                       
     1469                expresso_mail_archive.unarchieve(folder, new_folder, msgs_number); 
     1470            } 
     1471        } 
     1472        else{ 
     1473            write_msg(get_lang('No selected message.')); 
     1474        } 
     1475        } 
     1476        else{ 
     1477        if (proxy_mensagens.is_local_folder(new_folder)){ 
     1478            //esta tirando de um folder não local para um folder local (arquivamento) 
     1479            if(msgs_number=='selected'){ 
     1480                archive_msgs(folder, new_folder); 
     1481            } 
     1482            else{ 
     1483                archive_msgs(folder, new_folder, msgs_number); 
     1484            } 
     1485        } 
     1486        else{ 
     1487            //esta tirando de um folder não local para outro folder não local (move) 
     1488            //move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 
     1489                        if (parseInt(msgs_number) > 0 || msgs_number.length > 0){ 
     1490                                // remove a flag $FilteredMessage da mensagem, depois move 
     1491                                var handler_removeFlag = function(){ 
     1492                                        $.ajax({ 
     1493                                                url: 'controller.php?' + $.param( {action: '$this.imap_functions.move_messages', 
     1494                                                                                    folder: folder, 
     1495                                                                                    msgs_number: ""+msgs_number, 
     1496                                                                                    border_ID: border_ID, 
     1497                                                                                    sort_box_type: sort_box_type, 
     1498                                                                                    search_box_type: search_box_type, 
     1499                                                                                    sort_box_reverse: sort_box_reverse, 
     1500                                                                                    reuse_border: border_ID, 
     1501                                                                                    new_folder: new_folder, 
     1502                                                                                    new_folder_name: new_folder_name, 
     1503                                                                                    get_previous_msg: ( !not_opem_previus ? preferences.delete_and_show_previous_message : false ), 
     1504                                                                                    decoded: true } ), 
     1505 
     1506                                                success: function( data ){ 
     1507                                                    data = connector.unserialize( data ); 
     1508                                                    $.each(msgs_number.split(","), function(index, value){ 
     1509                                                        delete selectedPagingMsgs[value]; 
     1510                                                        msgFolder =  Base64.encode(get_current_folder()); 
     1511                                                        tabToRemove = value + "_r_" + msgFolder.replace(/=/g,""); 
     1512                                                        if ($("#"+tabToRemove)){ 
     1513                                                                delete_border(tabToRemove,'false'); 
     1514                                                        } 
     1515                                                    }); 
     1516                                                    totalFolderMsgs -= msgs_number.split(",").length; 
     1517 
     1518                                                    //TESTE 
     1519                                                    selectAllFolderMsgs(); 
     1520                                                $('.select-link').unbind('click'); 
     1521 
     1522                                                    if( data ) 
     1523                                                        handler_move_msgs( data ); 
     1524                                                }, 
     1525                                                beforeSend: function( jqXHR, settings ){ 
     1526                                                        connector.showProgressBar(); 
     1527                                            }, 
     1528                                            complete: function( jqXHR, settings ){ 
     1529                                                        connector.hideProgressBar(); 
     1530                                          } 
     1531 
    14211532                                    }); 
    1422                                     totalFolderMsgs -= msgs_number.split(",").length; 
    1423  
    1424                                     //TESTE 
    1425                                     selectAllFolderMsgs(); 
    1426                                 $('.select-link').unbind('click'); 
    1427  
    1428                                     if( data ) 
    1429                                         handler_move_msgs( data ); 
    1430                                 }, 
    1431                                 beforeSend: function( jqXHR, settings ){ 
    1432                                         connector.showProgressBar(); 
    1433                             }, 
    1434                             complete: function( jqXHR, settings ){ 
    1435                                         connector.hideProgressBar(); 
    1436                           } 
    1437  
    1438                     }); 
    1439                 } 
    1440                 var hasFolder = false; 
    1441                 $.each(fromRules, function(index, value) { 
    1442                         if(value == folder){ 
    1443                                 hasFolder = true; 
    1444                                 cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_number, handler_removeFlag);  
    1445                                 return false; 
    1446                         } 
    1447                 }); 
    1448                 if(!hasFolder){ 
    1449                         handler_removeFlag(); 
    1450                 } 
    1451                  
    1452         }else 
    1453                 write_msg(get_lang('No selected message.')); 
     1533                                } 
     1534                                var hasFolder = false; 
     1535                                $.each(fromRules, function(index, value) { 
     1536                                        if(value == folder){ 
     1537                                                hasFolder = true; 
     1538                                                cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_number, handler_removeFlag);  
     1539                                                return false; 
     1540                                        } 
     1541                                }); 
     1542                                if(!hasFolder){ 
     1543                                        handler_removeFlag(); 
     1544                                } 
     1545                                 
     1546                        }else 
     1547                                write_msg(get_lang('No selected message.')); 
     1548        } 
     1549    }    
     1550 
     1551    //Código adicionado para o correto funcionamento da seleção independente de paginação. 
     1552    $.each(msgs_number.split(","), function(index, value){ 
     1553        delete selectedPagingMsgs[value]; 
     1554    }); 
     1555    totalFolderMsgs = totalFolderMsgs - msgs_number.split(",").length; 
     1556    selectAllFolderMsgs(false); 
     1557    updateSelectedMsgs(); 
     1558         
    14541559} 
    14551560 
     
    15501655 
    15511656 
    1552 function archive_msgs(folder,folder_dest,id_msgs) { 
     1657 function archive_msgs(folder,folder_dest,id_msgs) { 
     1658    write_msg(get_lang('Starting to archive messages')); 
     1659 
     1660    if(currentTab.toString().indexOf("_r") != -1){ 
     1661        id_msgs = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 
     1662    } 
     1663 
     1664    if(!id_msgs) 
     1665        id_msgs = get_selected_messages(); 
     1666 
     1667    if(folder_dest=='local_root' || folder_dest==null)//Default archive destiny = local_inbox folder 
     1668        folder_dest = 'local_inbox'; 
     1669     
     1670    if (parseInt(id_msgs) > 0 || id_msgs.length > 0){        
     1671        //expresso_mail_archive.Archive(folder,folder_dest,id_msgs); 
     1672        window.setTimeout("expresso_mail_archive.Archive('" + folder + "','" + folder_dest + "','" + id_msgs + "')", 1); 
     1673        selectAllFolderMsgs(false); 
     1674    } 
     1675    else 
     1676        write_msg(get_lang('No selected message.')); 
     1677 
     1678 
     1679        /* 
    15531680        if(proxy_mensagens.is_local_folder(folder)) { 
    15541681                write_msg(get_lang("You cant archive local mails")); 
     
    15871714        var handler_arquivar_mensagens = function(data) { 
    15881715           
    1589             var msgs_info = []; 
     1716            //var msgs_info = []; 
    15901717           
    1591             for( var i = 0; i < data.length; i++ ) 
    1592                 msgs_info[i] = connector.unserialize( data[i] ); 
     1718            //for( var i = 0; i < data.length; i++ ) 
     1719                //msgs_info[i] = connector.unserialize( data[i] ); 
    15931720 
    15941721            //vejo se já tinha mensagens locais 
    1595             var h = expresso_local_messages.has_local_mails(); 
     1722            //var h = expresso_local_messages.has_local_mails(); 
    15961723             
    1597             expresso_local_messages.insert_mails( msgs_info, folder_dest, function( s, f ){complete_archiving( s, f, h )} ); 
    1598  
     1724            //expresso_local_messages.insert_mails( msgs_info, folder_dest, function( s, f ){complete_archiving( s, f, h )} ); 
     1725 
     1726            expresso_mail_archive.Archive(folder,folder_dest,id_msgs); 
    15991727            document.getElementById("overlay").style.visibility = "hidden"; 
    16001728        } 
     
    16191747 
    16201748        }); 
     1749        */ 
     1750         
    16211751} 
    16221752 
     
    23072437{    
    23082438        if (Element("attachments_" + old_id_border)) 
    2309         { 
    2310                 var fileUploadMSG = $('#fileupload_msg'+new_border_ID);          
    2311                 var attachments = document.getElementById("attachments_" + old_id_border).getElementsByTagName("a");     
    2312                 var imagens = block_quoted_body.match(/<img[^>]*>/g); 
     2439    { 
     2440        var fileUploadMSG = $('#fileupload_msg'+new_border_ID);          
     2441        var attachments = $("#attachments_" + old_id_border).find("a");  
     2442                if(openTab.imapBox[new_border_ID].split("local").length > 1 && attachments.length > 0){ 
     2443                        alert("Não é possivel utilizar os anexos das mensagens locais, favor desarquivar para ter acesso aos anexos"); 
     2444                        return false; 
     2445                } 
     2446                 
     2447        var imagens = block_quoted_body.match(/<img[^>]*>/g); 
    23132448                var arrayAttachments = []; 
    23142449                var arrayAttachmentsA = []; 
     
    23182453                            if((attachments[i].tagName=="SPAN") || (attachments[i].tagName=="IMG") || ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1))) 
    23192454                                    continue; 
    2320  
    2321                                 var arrayAtt = attachments[i].href.replace("javascript:download_attachments(", "").replace(")", "").split(',');                                  
     2455                                if(attachments[i].href.split("local") > 1){ 
     2456                                        var arrayAtt = attachments[i].href.replace("javascript:download_local_attachment(", "").replace(")", "").split(',');                                  
     2457                                }else{ 
     2458                                        var arrayAtt = attachments[i].href.replace("javascript:download_attachments(", "").replace(")", "").split(',');                                  
     2459                                } 
     2460                                 
    23222461                                var att = new Object(); 
    23232462                                var regex = new RegExp( "'", "g" ); 
     
    24082547                                    arrayAttachmentsA.push(attachments[i]); 
    24092548                                } 
    2410                     } 
     2549        } 
    24112550                //------------------- 
    24122551                 
     
    25052644    var fileUploadMSG = $('#fileupload_msg'+new_border_ID); 
    25062645    var attachments = $("#attachments_" + old_id_border).find("a");                      
     2646 
     2647        if(openTab.imapBox[new_border_ID].split("local").length > 1 && attachments.length > 0){ 
     2648                alert("Não é possivel utilizar os anexos das mensagens locais, favor desarquivar para ter acesso aos anexos"); 
     2649                return false; 
     2650        } 
     2651 
    25072652    for (var i = 0; i < attachments.length; i++){ 
    25082653            if((attachments[i].tagName=="SPAN") || (attachments[i].tagName=="IMG") || ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1))) 
    25092654                    continue; 
    25102655                fileUploadMSG.find(' .attachments-list').show(); 
    2511                 var arrayAtt = attachments[i].href.replace("javascript:download_attachments(", "").replace(")", "").split(',');                                  
     2656                if(attachments[i].href.split("local").length > 1){ 
     2657                        var arrayAtt = attachments[i].href.replace("javascript:download_local_attachment(", "").replace(")", "").split(',');                                     
     2658                }else{ 
     2659                        var arrayAtt = attachments[i].href.replace("javascript:download_attachments(", "").replace(")", "").split(',');                                          
     2660                } 
    25122661                var att = new Object(); 
    25132662                var regex = new RegExp( "'", "g" ); 
     
    31153264 
    31163265function set_messages_flag_search_local(flag){ 
    3117         var msgs_flag = this.get_selected_messages_search(); 
    3118         if(local_messages.prototype.set_messages_flag(msgs_flag, flag, true)){ 
    3119                 var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 
    3120                 var msgs = msgs_flag.split(','); 
    3121                 for(var i = 0; i < msgs.length; i++){ 
    3122                         Element("search_local_msg"+id_border+"_check_box_message_"+msgs[i]).checked = false; 
    3123                 } 
    3124                 draw_tree_folders(); 
    3125                 Element('chk_box_select_all_messages_search_local').checked = false; 
    3126                 refresh(); 
    3127                 write_msg(get_lang('The messages were marked with success!'));           
    3128         }else{ 
    3129                 write_msg(get_lang('Error marking messages.')); 
    3130         } 
     3266        // var msgs_flag = this.get_selected_messages_search(); 
     3267        // if(local_messages.prototype.set_messages_flag(msgs_flag, flag, true)){ 
     3268        //      var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 
     3269        //      var msgs = msgs_flag.split(','); 
     3270        //      for(var i = 0; i < msgs.length; i++){ 
     3271        //              Element("search_local_msg"+id_border+"_check_box_message_"+msgs[i]).checked = false; 
     3272        //      } 
     3273        //      draw_tree_folders(); 
     3274        //      Element('chk_box_select_all_messages_search_local').checked = false; 
     3275        //      refresh(); 
     3276        //      write_msg(get_lang('The messages were marked with success!'));           
     3277        // }else{ 
     3278        //      write_msg(get_lang('Error marking messages.')); 
     3279        // } 
    31313280} 
    31323281 
     
    36373786} 
    36383787 
    3639 function empty_trash_imap(shared, button){ 
     3788function empty_trash_imap(shared, button, type){ 
    36403789        if(shared){ 
    36413790                var folder_part = $(button).parents("li:first").attr("id").split(cyrus_delimiter); 
     
    36773826                'overlay_opacity' : 0.5, 
    36783827                'onClose':  function(caption) { 
     3828 
    36793829                        if(caption == get_lang("Yes")){ 
    3680                                 cExecute ("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultTrashFolder"+(shared ? "&shared="+folder : ""), handler_empty_trash); 
     3830                if(type.id == "local_messages_trash"){ 
     3831                    expresso_mail_archive.deleteAllMessages(type.id); 
     3832                    cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     3833                } else { 
     3834                    cExecute ("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultTrashFolder"+(shared ? "&shared="+folder : ""), handler_empty_trash); 
     3835                }  
    36813836                        } 
    36823837                } 
     
    36843839} 
    36853840 
    3686 function empty_spam_imap(shared, button){ 
     3841function empty_spam_imap(shared, button, type){ 
    36873842        if(shared){ 
    36883843                var folder_part = $(button).parents("li:first").attr("id").split(cyrus_delimiter); 
     
    37253880                'onClose':  function(caption) { 
    37263881                        if(caption == get_lang("Yes")){ 
    3727                                 cExecute ("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultSpamFolder"+(shared ? "&shared="+folder : ""), handler_empty_spam); 
     3882                if(type.id == "local_messages_spam"){  
     3883                    expresso_mail_archive.deleteAllMessages(type.id); 
     3884                    cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     3885                } else { 
     3886                    cExecute ("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultSpamFolder"+(shared ? "&shared="+folder : ""), handler_empty_spam); 
     3887                }  
    37283888                        } 
    37293889                } 
     
    37313891} 
    37323892 
     3893function buildExportArchiver(msgsArchive, name_box){ 
     3894 
     3895    var hand_export = function(data){ 
     3896        if(!data){ 
     3897            write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.')) 
     3898        }else if(data["empty_folder"] || data == "empty_folder"){ 
     3899            write_msg(get_lang("The selected folder is empty.")); 
     3900        }else 
     3901          download_attachments(null, null, data, null,null, get_current_folder().split("_")[2] +'.zip'); 
     3902    } 
     3903 
     3904    var array = new Array(); 
     3905 
     3906    for(var i =0; i < msgsArchive.length; i++){ 
     3907        eachMsg = { 
     3908                'ContentType' : msgsArchive[i].ContentType, 
     3909                'from' : { 'email' : msgsArchive[i].from.email, 'full' : msgsArchive[i].from.full, 'name' : msgsArchive[i].from.name}, 
     3910                'msg_sample' : msgsArchive[i].msg_sample, 
     3911                'subject' : msgsArchive[i].subject, 
     3912                'to' : { 'email' : msgsArchive[i].to.email, 'full' : msgsArchive[i].to.full, 'name' : msgsArchive[i].to.name}, 
     3913                'toaddress2' : msgsArchive[i].toaddress2, 
     3914                'msg_number' : msgsArchive[i].msg_number, 
     3915                'date' : new Date(msgsArchive[i].timestamp).toString()   
     3916        }; 
     3917        array.push(eachMsg); 
     3918    } 
     3919 
     3920    $.ajax({ 
     3921        type: "POST", 
     3922        url: "controller.php?action=$this.exporteml.export_all_byLocalFolder", 
     3923        data: { folder: name_box, type: "msg_local", messages : array} 
     3924    }).done(function(msg) { 
     3925        hand_export(msg.split('"')[1]); 
     3926    }); 
     3927} 
    37333928 
    37343929function export_all_selected_msgs(){ 
    3735         if (openTab.type[currentTab] > 1){           
     3930        if(get_current_folder().split("_")[0] == "local"){ 
     3931 
     3932        if(get_selected_messages().indexOf(",") != -1){ 
     3933            expresso_mail_archive.getSomeMsgs(get_selected_messages().split(",")); 
     3934        } else { 
     3935            expresso_mail_archive.getSomeMsgs([get_selected_messages()]); 
     3936        } 
     3937         
     3938        buildExportArchiver(expresso_mail_archive.getSomeMsg, get_current_folder().split("_")[2]); 
     3939 
     3940    } else { 
     3941 
     3942    if (openTab.type[currentTab] > 1){       
    37363943                source_msg(currentTab,openTab.imapBox[currentTab]); 
    37373944                return; 
     
    37793986        else 
    37803987                write_msg(get_lang('No selected message.')); 
     3988    } 
    37813989} 
    37823990 
     
    38264034                var _params = _target.id.split(";;"); 
    38274035                download_attachments(Base64.encode(_params[0]),_params[1],_params[2],_params[3],_params[4],file_type); 
    3828         } 
    3829 } 
     4036                if($(_target).parent().attr("href").split("http").length > 1){ 
     4037                        var part_find = thumb.toString().split("#"); 
     4038                        var part2_find = part_find[1].split("/temp"); 
     4039                        var part_id_dwl = part2_find[0] + '/temp/download' + part2_find[1];  
     4040                        download_local_attachment(part_id_dwl); 
     4041                        return; 
     4042                }else{ 
     4043                        var _params = _target.id.split(";;");    
     4044                        download_attachments(_params[0],_params[1],_params[2],_params[3],_params[4],file_type); 
     4045                } 
     4046        } 
     4047} 
     4048 
    38304049function save_image2(info){  
    38314050        var obj = jQuery.parseJSON(unescape(info));  
     
    45554774} 
    45564775 
     4776function create_new_local_folder(parentFolderId, name){ 
     4777 
     4778    if(typeof(parentFolderId) == "string"){ 
     4779        parentFolderId = parentFolderId.split("_"); 
     4780        var parentName = parentFolderId[2]; 
     4781    } 
     4782     
     4783 
     4784    expresso_mail_archive.createFolder(parentName, name); 
     4785 
     4786} 
     4787 
    45574788function create_new_folder(name_folder, base_path){ 
    45584789        //Limit reached folders 
     
    47444975DataLayer.poll('message',30); 
    47454976 
    4746  
     4977//MAILARCHIVER-04 
     4978function services_retry(){ 
     4979    try{ 
     4980        connector.purgeCache();  
     4981        //window.alert('expresso var dump:\nenabled = ' + expresso_mail_archive.enabled + '\ntimer = ' + expresso_mail_archive.timer +'\ncounter = ' + expresso_mail_archive.counter); 
     4982 
     4983        if ((expresso_mail_archive.enabled == null) && (expresso_mail_archive.timer == null) && (expresso_mail_archive.counter > 0)){ 
     4984            connector.hideProgressBar(); 
     4985            //connector.resetProgressBarText(); 
     4986            write_msg(get_lang('Sorry, but you need to reload this web page. Click at reload page at web browsing top navigation.')); 
     4987            return; 
     4988        } 
     4989 
     4990        if (arguments.length == 0){ 
     4991           write_msg(get_lang('Trying to communicate with Mail Archiver...')); 
     4992        } 
     4993 
     4994        connector.showProgressBar(); 
     4995        var head = document.getElementById('send_queue'); 
     4996         
     4997        var script_xdr= document.createElement('script'); 
     4998        var script_xdr_tag_id = 'mail_archiver_retry_xdr';     
     4999         
     5000        var script_request= document.createElement('script'); 
     5001        var script_request_tag_id = 'mail_archiver_retry_request';                 
     5002         
     5003        var script_cors= document.createElement('script'); 
     5004        var script_cors_tag_id = 'mail_archiver_retry_cors'; 
     5005         
     5006        var script_utils= document.createElement('script'); 
     5007        var script_utils_tag_id = 'mail_archiver_retry_utils'; 
     5008 
     5009        if(document.getElementById(script_xdr_tag_id)){ 
     5010            document.getElementById(script_xdr_tag_id).parentNode.removeChild(document.getElementById(script_xdr_tag_id)); 
     5011        } 
     5012 
     5013        if(document.getElementById(script_request_tag_id)){ 
     5014            document.getElementById(script_request_tag_id).parentNode.removeChild(document.getElementById(script_request_tag_id)); 
     5015        } 
     5016 
     5017        if(document.getElementById(script_cors_tag_id)){ 
     5018            document.getElementById(script_cors_tag_id).parentNode.removeChild(document.getElementById(script_cors_tag_id)); 
     5019        } 
     5020         
     5021        if(document.getElementById(script_utils_tag_id)){ 
     5022            document.getElementById(script_utils_tag_id).parentNode.removeChild(document.getElementById(script_utils_tag_id)); 
     5023        }         
     5024 
     5025        //IE XDR ADAPTER 
     5026        script_xdr.type= 'text/javascript'; 
     5027        script_xdr.src=  mail_archive_protocol + '://' + mail_archive_host + ':' + mail_archive_port  + '/arcservutil/cxf-addon-xdr-adapter.js'; 
     5028        script_xdr.id= script_xdr_tag_id; 
     5029        head.appendChild(script_xdr); 
     5030 
     5031        //CXF TRANSPORT OBJECT 
     5032        script_request.type= 'text/javascript'; 
     5033        script_request.src= mail_archive_protocol + '://' + mail_archive_host + ':' + mail_archive_port  + '/arcservutil/cxf-addon-cors-request-object.js'; 
     5034        script_request.id= script_request_tag_id; 
     5035        head.appendChild(script_request); 
     5036 
     5037        //CXF CORS OBJECT 
     5038        script_cors.type= 'text/javascript'; 
     5039        script_cors.src= mail_archive_protocol + '://' + mail_archive_host + ':' + mail_archive_port  + '/arcservutil/cxf-addon-cors-utils.js'; 
     5040        script_cors.id= script_cors_tag_id; 
     5041        head.appendChild(script_cors); 
     5042 
     5043        //CXF CORE 
     5044        script_utils.type= 'text/javascript'; 
     5045        script_utils.src= mail_archive_protocol + '://' + mail_archive_host + ':' + mail_archive_port  + '/arcserv/ArchiveServices?js&nojsutils'; 
     5046        script_utils.id= script_utils_tag_id; 
     5047        head.appendChild(script_utils); 
     5048 
     5049        ttintval = window.setTimeout('check_services_restart()', 1000); 
     5050    } 
     5051    catch (e){ 
     5052        write_msg(get_lang('Sorry, but Mail Archiver still seems to be sleeping. Check out your system services!')); 
     5053        connector.hideProgressBar(); 
     5054        //connector.resetProgressBarText(); 
     5055        check_services_tryouts = 1; 
     5056    } 
     5057} 
     5058 
     5059//MAILARCHIVER-05 
     5060function check_services_restart(){ 
     5061    try{ 
     5062                write_msg(get_lang('Wait: attempt %1 from %2...', check_services_tryouts, check_services_tryouts_limit)); 
     5063        if(check_services_tryouts <= 5){ 
     5064            try{ 
     5065                ArchiveServices = new web_service_mailarchiver_serpro__ArchiveServices(); 
     5066                ArchiveServices.url = mail_archive_protocol + "://" + mail_archive_host + ":" + mail_archive_port + "/arcserv/ArchiveServices"; 
     5067                window.clearInterval(ttintval); 
     5068                expresso_mail_archive.Restart(expresso_mail_archive); 
     5069            } 
     5070            catch (e){ 
     5071                check_services_tryouts++; 
     5072                window.clearInterval(ttintval); 
     5073                ttintval = window.setTimeout('services_retry(true)',1); 
     5074            } 
     5075        } 
     5076        else{ 
     5077            write_msg(get_lang('Sorry, but Mail Archiver still seems to be sleeping. Check out your system services!')); 
     5078            connector.hideProgressBar(); 
     5079            //connector.resetProgressBarText(); 
     5080            check_services_tryouts = 1; 
     5081        } 
     5082    } 
     5083    catch (e){ 
     5084        write_msg(get_lang('Sorry, but Mail Archiver still seems to be sleeping. Check out your system services!')); 
     5085        connector.hideProgressBar(); 
     5086        //connector.resetProgressBarText(); 
     5087        check_services_tryouts = 1; 
     5088    } 
     5089} 
     5090 
Note: See TracChangeset for help on using the changeset viewer.