Changeset 7885


Ignore:
Timestamp:
02/14/13 16:20:44 (7 years ago)
Author:
thiago
Message:

Ticket #3331 - Quase tudo pronto, apenas alguns detalhes no arquivamento.

Location:
sandbox/2.5.1-expresso1
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.5.1-expresso1/expressoMail1_2/inc/class.imap_functions.inc.php

    r7779 r7885  
    21702170        function delete_msgs($params) 
    21712171        { 
    2172  
    21732172                $folder = $params['folder']; 
    21742173                $folder =  mb_convert_encoding($folder, "UTF7-IMAP","ISO-8859-1"); 
     2174 
    21752175                $msgs_number = explode(",",$params['msgs_number']); 
     2176 
    21762177                if(array_key_exists('border_ID' ,$params)) 
    21772178                $border_ID = $params['border_ID']; 
     
    21892190                $mbox_stream = @imap_open("{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$folder, $this->username, $this->password) or die(serialize(array('imap_error' => $this->parse_error(imap_last_error())))); 
    21902191 
    2191                 foreach ($msgs_number as $msg_number) 
     2192         
     2193 
     2194        foreach ($msgs_number as $msg_number) 
    21922195                { 
    21932196                        if (imap_delete($mbox_stream, $msg_number, FT_UID)); 
     
    26782681        } 
    26792682         
     2683    function delete_msg_archive_by_flag($params){ 
     2684        $folder = "INBOX/Trash"; 
     2685         
     2686        $mbox_stream = @imap_open("{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$folder, $this->username, $this->password) or die(serialize(array('imap_error' => $this->parse_error(imap_last_error())))); 
     2687 
     2688        $messages = imap_search($mbox_stream, 'KEYWORD "$archiverMsg"', SE_UID); 
     2689 
     2690        foreach($messages as $i => $id){ 
     2691            if(imap_delete($mbox_stream, $id, FT_UID)){ 
     2692 
     2693            } 
     2694        } 
     2695 
     2696        $return = array( 
     2697            "result" => "ok" 
     2698        ); 
     2699 
     2700        return json_encode($return); 
     2701    } 
     2702 
     2703    function get_last_msg_by_id($params){ 
     2704         $folder = "INBOX/Trash"; 
     2705         $mbox_stream = $this->open_mbox($folder); 
     2706 
     2707        $messages = imap_search($mbox_stream, 'KEYWORD "$archiverMsg"', SE_UID); 
     2708 
     2709        foreach($messages as $i => $id){ 
     2710            $name = imap_headerinfo($mbox_stream, imap_msgno($mbox_stream ,$id)); 
     2711 
     2712            $return[] =  array( 
     2713                'uid' => $id, 
     2714                'folder' => "archiver", 
     2715                'type' => "imapMSG", 
     2716                'name' => base64_encode($name->subject.".eml") 
     2717            ); 
     2718        } 
     2719        //volta aqui 
     2720         
     2721        return json_encode($return); 
     2722    } 
     2723 
    26802724        function send_mail($params) { 
    26812725            require_once dirname(__FILE__) . '/../../services/class.servicelocator.php'; 
     
    27482792            $encrypt = $params['input_return_cripto']; 
    27492793            $signed = $params['input_return_digital']; 
     2794 
     2795 
     2796            //$params['attachments'] = $params['attachments']['imap']; 
    27502797 
    27512798                        $params['attachments'] = mb_convert_encoding($params['attachments'], "UTF7-IMAP","UTF-8, ISO-8859-1, UTF7-IMAP"); 
     
    29002947                                        $arr_new_folder['base_path'] = $base_path; 
    29012948 
    2902                                         $this->create_mailbox($arr_new_folder);                                  
     2949                                        $this->create_mailbox($arr_new_folder);  
    29032950                                        $has_new_folder = true; 
    29042951                    $folder = $newfolder; 
     
    30513098            foreach ($attachment as &$value)  
    30523099            { 
     3100                /*Volta aqui*/ 
    30533101                if((int)$value > 0) //BD attachment 
    30543102                { 
     3103                    ob_start(); 
    30553104                     $att = Controller::read(array('id'=> $value , 'concept' => 'mailAttachment')); 
    30563105 
     
    30683117                else //message attachment 
    30693118                { 
     3119 
    30703120                    $value = json_decode($value, true); 
     3121 
     3122                    if($value["folder"] == "archiver"){ 
     3123                        $value['folder'] = "INBOX/Trash"; 
     3124                    } 
    30713125 
    30723126                    switch ($value['type']) { 
     
    30763130                                if(strstr($body,'src="./inc/get_archive.php?msgFolder='.$value['folder'].'&msgNumber='.$value['uid'].'&indexPart='.$value['part'].'"') !== false)//Embeded IMG 
    30773131                                {     
    3078                                     $body = str_ireplace('src="./inc/get_archive.php?msgFolder='.$value['folder'].'&msgNumber='.$value['uid'].'&indexPart='.$value['part'].'"' , 'src="'.$att['name'].'"', $body); 
     3132                                    $body = str_ireplace('src="./inc/get_archive.php?msgFolder='.$value['folder'].  '&msgNumber='.$value['uid'].'&indexPart='.$value['part'].'"' , 'src="'.$att['name'].'"', $body); 
    30793133                                    $mailService->addStringImage($att['source'], $att['type'],mb_convert_encoding($att['name'], 'ISO-8859-1' , 'UTF-8,ISO-8859-1') ); 
    30803134                                } 
     
    30873141                            case 'imapMSG': 
    30883142                                $mbox_stream = $this->open_mbox(mb_convert_encoding($value['folder'] , 'ISO-8859-1' , 'UTF7-IMAP')); 
     3143 
    30893144                                $rawmsg = $this->getRawHeader($value['uid']) . "\r\n\r\n" . $this->getRawBody($value['uid']); 
    30903145                                 
    30913146                                $mailService->addStringAttachment($rawmsg, mb_convert_encoding(base64_decode($value['name']), 'ISO-8859-1' , 'UTF-8,ISO-8859-1'), 'message/rfc822', '7bit', 'attachment' ); 
     3147                                /*envia o anexo para o email*/ 
     3148 
    30923149                                $message_size_total += mb_strlen($rawmsg); //Adiciona o tamanho do anexo a variavel que controlao tamanho da msg. 
    30933150                                unset($rawmsg); 
     
    31723229            { 
    31733230                $this->rfc2397ToEmbeddedAttachment($mailService , $body); 
     3231                 
     3232 
    31743233 
    31753234                $defaultStyle = ''; 
     
    48744933                                $insert = $this->insert_email($source,$dest_folder,$timestamps[$index],$flags[$index]); 
    48754934 
     4935                //volta aqui 
     4936 
     4937                $this->mbox = $this->open_mbox($dest_folder); 
     4938                imap_setflag_full($this->mbox, $insert['msg_no'], '$archiverMsg' , ST_UID); 
     4939 
    48764940                if($insert['error']) 
    48774941                { 
     
    48804944                else  
    48814945                { 
     4946                    // volta aqui 
    48824947                    $archived[] = $ids[$index]; 
    48834948                } 
  • sandbox/2.5.1-expresso1/expressoMail1_2/js/abas.js

    r7786 r7885  
    675675function listAttachment(ID) 
    676676{ 
    677    return (typeof(msgAttachments[ID]) == 'undefined') ? '' : JSON.stringify(msgAttachments[ID]);  
    678 } 
    679  
     677    var imap     = new Array(); 
     678    var archiver = new Array(); 
     679     
     680    if(typeof msgAttachments[ID] == "undefined"){ 
     681        return ""; 
     682    } 
     683 
     684    $.each(msgAttachments[ID], function(i, each){ 
     685        
     686        if(typeof($.parseJSON(each).folder) == "undefined")  return false; 
     687         
     688       if($.parseJSON(each).folder.indexOf("local_messages_") != -1){ 
     689            archiver.push($.parseJSON(each)); 
     690       } else { 
     691            imap.push(each); 
     692       } 
     693    }); 
     694 
     695    context = { 
     696        "imap" : imap, 
     697        "archiver" : archiver 
     698    }; 
     699 
     700   return (typeof(msgAttachments[ID]) == 'undefined') ? '' : context; 
     701} 
     702 
  • sandbox/2.5.1-expresso1/expressoMail1_2/js/mail_archiver.js

    r7831 r7885  
    578578 
    579579 
    580 /** 
    581  *Unarchieve Message 
    582  * 
    583  *@author Cassiano Dal Pizzol [cassiano.dalpizzol@serpro.gov.br] 
    584  * 
    585  *@param folder Original Folder of the message 
    586  *@param new_folder The new folder of the message 
    587  *@param msgs_number id of the messages 
    588  */ 
    589 MailArchiver.prototype.unarchieve = function (folder, new_folder, msgs_number){ 
     580 
     581 
     582 
     583 
     584 
     585 
     586 
     587 
     588MailArchiver.prototype.unarchieveToAttach = function (folder, new_folder, msgs_number){ 
    590589    try{  
    591         write_msg(get_lang("Starting to unarchive messages")); 
     590        //write_msg(get_lang("Starting to unarchive messages")); 
    592591        expresso_mail_archive.isArchiveOperation = true; 
    593592        if(currentTab.toString().indexOf("_r") != -1){ 
     
    599598                 
    600599        if (parseInt(msgs_number) > 0 || msgs_number.length > 0){        
     600            
    601601            expresso_mail_archive.message_list = new Array(); 
    602             expresso_mail_archive.CreateMessageList(msgs_number); 
     602            expresso_mail_archive.message_list.push(msgs_number); 
    603603            if((expresso_mail_archive.message_list.length > 0) && (expresso_mail_archive.message_list[0] != '')) { 
     604                 
     605                expresso_mail_archive.unarchieveToAttachHandler(); 
     606 
    604607                expresso_mail_archive.unarchivecounter = 0; 
    605608                expresso_mail_archive.unarchive_error_counter=0; 
     
    608611                (new_folder != null)?expresso_mail_archive.unarchievenewfolder = new_folder:expresso_mail_archive.unarchievenewfolder='INBOX'; 
    609612                 
    610                 expresso_mail_archive.unarchieveHandler(); 
     613                 
    611614                 
    612615                if(currentTab.toString().indexOf("_r") != -1){ 
     
    635638 * 
    636639 **/ 
    637 MailArchiver.prototype.unarchieveHandler = function(){ 
    638     try{ 
    639         var email = mail_archive_protocol+'://'+mail_archive_host+':'+mail_archive_port+'/mail/' + expresso_mail_archive.session.id +'/'+ expresso_mail_archive.folder.path + '/'+ expresso_mail_archive.message_list[expresso_mail_archive.unarchivecounter] + '.eml';     
     640MailArchiver.prototype.unarchieveToAttachHandler = function(){ 
     641 
     642    try{ 
     643        var email = mail_archive_protocol+'://'+mail_archive_host+':'+mail_archive_port+'/mail/' + expresso_mail_archive.session.id +'/'+ expresso_mail_archive.folder.path + '/'+ expresso_mail_archive.message_list[0] + '.eml';     
    640644     
    641645        //Creates a new object to unarchive messages. It's a CXF Add-on CORS component 
     
    713717 
    714718            var handler_unarchive = function(data){ 
    715                 expresso_mail_archive.unarchieveController(data); 
     719                expresso_mail_archive.unarchieveToAttachController(data); 
     720 
     721 
    716722            } 
    717723            write_msg(get_lang('Unarchiving message %1 of %2', (expresso_mail_archive.unarchivecounter + 1), expresso_mail_archive.message_list.length)); 
    718724             
    719             cExecute ("$this.imap_functions.unarchive_mail&", handler_unarchive, params); 
     725            //cExecute ("$this.imap_functions.unarchive_mail&", handler_unarchive, params); 
     726 
     727             $.ajax({ 
     728                url: "controller.php?action=$this.imap_functions.unarchive_mail", 
     729                data:  params, 
     730                type: 'POST', 
     731                async: false, 
     732                success: function(data){ 
     733                    handler_unarchive(connector.unserialize(data)); 
     734                }, 
     735            });  
     736 
     737        } 
     738         
     739        UnarchiveReqHandler.handler.open("GET", email, true); 
     740        if(UnarchiveReqHandler.handler.overrideMimeType){ 
     741            UnarchiveReqHandler.handler.overrideMimeType("message/rfc822; charset=windows-1252");  
     742        } 
     743        UnarchiveReqHandler.handler.send(); 
     744    } 
     745    catch(e){ 
     746        write_msg(get_lang('Unarchive error: ' + e)); 
     747    } 
     748} 
     749 
     750/** 
     751 * 
     752 *Unarchieve Message Controller 
     753 * 
     754 *@author Cassiano Dal Pizzol [cassiano.dalpizzol@serpro.gov.br] 
     755 * 
     756 **/ 
     757MailArchiver.prototype.unarchieveToAttachController = function(data){ 
     758    expresso_mail_archive.unarchivecounter++; 
     759     
     760    if (data){ 
     761        if (data.error != "") { 
     762            expresso_mail_archive.unarchive_error_counter++; 
     763        } 
     764         
     765        if (data.archived && preferences.keep_archived_messages == "0") { 
     766            expresso_mail_archive.deleteMessages(data.archived[0]); 
     767        } 
     768         
     769    } 
     770 
     771    if (expresso_mail_archive.unarchivecounter < expresso_mail_archive.message_list.length){ 
     772        expresso_mail_archive.unarchieveHandler(); 
     773    } else { 
     774        expresso_mail_archive.message_list = new Array(); 
     775        expresso_mail_archive.isArchiveOperation = false; 
     776    } 
     777} 
     778 
     779 
     780 
     781 
     782 
     783 
     784 
     785 
     786 
     787 
     788 
     789 
     790 
     791 
     792 
     793 
     794 
     795 
     796 
     797 
     798 
     799 
     800 
     801 
     802 
     803 
     804 
     805/** 
     806 *Unarchieve Message 
     807 * 
     808 *@author Cassiano Dal Pizzol [cassiano.dalpizzol@serpro.gov.br] 
     809 * 
     810 *@param folder Original Folder of the message 
     811 *@param new_folder The new folder of the message 
     812 *@param msgs_number id of the messages 
     813 */ 
     814MailArchiver.prototype.unarchieve = function (folder, new_folder, msgs_number){ 
     815    try{  
     816        write_msg(get_lang("Starting to unarchive messages")); 
     817        expresso_mail_archive.isArchiveOperation = true; 
     818        if(currentTab.toString().indexOf("_r") != -1){ 
     819            msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 
     820        } 
     821 
     822        if(!msgs_number) 
     823            msgs_number = get_selected_messages();         
     824                 
     825        if (parseInt(msgs_number) > 0 || msgs_number.length > 0){        
     826            expresso_mail_archive.message_list = new Array(); 
     827            expresso_mail_archive.CreateMessageList(msgs_number); 
     828            if((expresso_mail_archive.message_list.length > 0) && (expresso_mail_archive.message_list[0] != '')) { 
     829                expresso_mail_archive.unarchivecounter = 0; 
     830                expresso_mail_archive.unarchive_error_counter=0; 
     831                expresso_mail_archive.getFolderInfo(folder.replace("local_messages_","")); 
     832                expresso_mail_archive.unarchievefolder = expresso_mail_archive.folder.name; 
     833                (new_folder != null)?expresso_mail_archive.unarchievenewfolder = new_folder:expresso_mail_archive.unarchievenewfolder='INBOX'; 
     834                 
     835                expresso_mail_archive.unarchieveHandler(); 
     836                 
     837                if(currentTab.toString().indexOf("_r") != -1){ 
     838                    delete_border(currentTab,'false');   
     839                } 
     840            } 
     841            else{ 
     842                write_msg(get_lang('No selected message.')); 
     843            } 
     844        }                                
     845        else 
     846            write_msg(get_lang('No selected message.')); 
     847         
     848        clear_selected_messages(); 
     849    } 
     850    catch (e){ 
     851        write_msg(get_lang('Unarchive error: ' + e)); 
     852    } 
     853} 
     854 
     855/** 
     856 * 
     857 *Unarchieve Message Handler 
     858 * 
     859 *@author Cassiano Dal Pizzol [cassiano.dalpizzol@serpro.gov.br] 
     860 * 
     861 **/ 
     862MailArchiver.prototype.unarchieveHandler = function(){ 
     863    try{ 
     864        var email = mail_archive_protocol+'://'+mail_archive_host+':'+mail_archive_port+'/mail/' + expresso_mail_archive.session.id +'/'+ expresso_mail_archive.folder.path + '/'+ expresso_mail_archive.message_list[expresso_mail_archive.unarchivecounter] + '.eml';     
     865     
     866        //Creates a new object to unarchive messages. It's a CXF Add-on CORS component 
     867        var UnarchiveReqHandler = new cxf_cors_request_object(); 
     868        UnarchiveReqHandler.init(); 
     869 
     870        //Both XDomainRequest and XMLHttpRequest L2 supports onload event 
     871        UnarchiveReqHandler.handler.onload = function(){             
     872            for (var w=0; w < expresso_mail_archive.allcompletemessagesbyfolder.length; w++){ 
     873                                 
     874                if(expresso_mail_archive.allcompletemessagesbyfolder[w]["msg_number"] == expresso_mail_archive.message_list[expresso_mail_archive.unarchivecounter]){ 
     875                    var timestamp = expresso_mail_archive.allcompletemessagesbyfolder[w]["timestamp"]; 
     876                     
     877                    //Get local tagged message data 
     878                    var flags = new String(""); 
     879                     
     880                    //Forwarded is special one: marks as "answered" and "draft" 
     881                    if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Forwarded"]){ 
     882                        if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Forwarded"] == 'F') 
     883                            flags += 'A:X'+':';                                   
     884                    } 
     885                    else{ 
     886                        //Answered tag 
     887                        if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Answered"]) 
     888                            if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Answered"] == 'A') 
     889                                flags += 'A'+':'; 
     890                            else 
     891                                flags += ':'; 
     892                        else 
     893                            flags += ':';                     
     894 
     895                        //Draft tag 
     896                        if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Draft"]) 
     897                            if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Draft"] == 'X') 
     898                                flags += 'D'+':';                     
     899                            else 
     900                                flags += ':'; 
     901                        else 
     902                            flags += ':'; 
     903                    } 
     904                     
     905                    //Flagged tag 
     906                    if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Flagged"]) 
     907                        if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Flagged"] == 'F') 
     908                            flags += 'F'+':';                                         
     909                        else 
     910                            flags += ':'; 
     911                    else 
     912                        flags += ':'; 
     913                     
     914                    //Unseen tag 
     915                    if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Unseen"]) 
     916                        if(expresso_mail_archive.allcompletemessagesbyfolder[w]["Unseen"] == 'U') 
     917                            flags += 'U';      
     918                        else 
     919                            flags += ''; 
     920                    else 
     921                        flags += ''; 
     922                     
     923                    //Imap tag hash id 
     924                    flags += "#@#@#@";                     
     925                     
     926                    break; 
     927                } 
     928            } 
     929            var id = expresso_mail_archive.message_list[expresso_mail_archive.unarchivecounter]; 
     930            var source =  encodeURIComponent(UnarchiveReqHandler.handler.responseText) + "#@#@#@"; 
     931            var params =  
     932            "&folder="      + escape(expresso_mail_archive.unarchievenewfolder) + 
     933            "&source="      + source +  
     934            "&timestamp="   + timestamp +  
     935            "&madata=true"  +  
     936            "&flags="       + flags + 
     937            "&id="          + id; 
     938 
     939            var handler_unarchive = function(data){ 
     940                expresso_mail_archive.unarchieveController(data); 
     941            } 
     942            write_msg(get_lang('Unarchiving message %1 of %2', (expresso_mail_archive.unarchivecounter + 1), expresso_mail_archive.message_list.length)); 
     943             
     944            //cExecute ("$this.imap_functions.unarchive_mail&", handler_unarchive, params); 
     945 
     946            $.ajax({ 
     947                url: "controller.php?action=$this.imap_functions.unarchive_mail", 
     948                data:  params, 
     949                type: 'POST', 
     950                async: false, 
     951                success: function(data){ 
     952                    handler_unarchive(connector.unserialize(data)); 
     953                }, 
     954            }); 
     955 
     956 
     957 
    720958        } 
    721959         
  • sandbox/2.5.1-expresso1/expressoMail1_2/js/main.js

    r7786 r7885  
    2727var topContact = 0; 
    2828 
    29 //Os IE's < 9 não possuem suporte a trim() introduzida no JavaScript 1.8.1 
     29//Os IE's < 9 não possuem suporte a trim() introduzida no JavaScript 1.8.1 
    3030if(!String.prototype.trim){   
    3131        String.prototype.trim = function(){ 
     
    181181                    } 
    182182                } 
    183                 if (preferences.use_local_messages==1) { //O I.E 7 estava se atrapalhando caso esses loads fossem feitos após as chamadas ajax. Antes não apresentou problemas... 
     183                if (preferences.use_local_messages==1) { //O I.E 7 estava se atrapalhando caso esses loads fossem feitos após as chamadas ajax. Antes não apresentou problemas... 
    184184                        connector.loadScript('mail_sync'); 
    185185                        setTimeout('auto_archiving()', 30000); 
     
    240240                //       
    241241 
    242                 //Troca da forma de construção de menu para o plugin jquery.contextMenu 
     242                //Troca da forma de construção de menu para o plugin jquery.contextMenu 
    243243                //ConstructMenuTools(); 
    244244                //MAILARCHIVER-00 
    245                 //if ( (preferences.use_local_messages==1) && (expresso_local_messages.is_offline_installed()) )  //Precisa ser feito após a renderização da caixa de emails 
     245                //if ( (preferences.use_local_messages==1) && (expresso_local_messages.is_offline_installed()) )  //Precisa ser feito após a renderização da caixa de emails 
    246246                        //check_mail_in_queue(); 
    247247                 
     
    250250                        loadApplet(); 
    251251                } 
    252                 // Fim da inserção da applet 
     252                // Fim da inserção da applet 
    253253                cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu);      
    254254                 
     
    315315        } 
    316316 
    317         // Versão 
     317        // Versão 
    318318        Element('divAppboxHeader').innerHTML = title_app; 
    319319 
     
    344344                '<td style="padding-left:17px" width=33% id="content_quota" align=left></td>' + 
    345345                '<td width=33% height=16px align=center nowrap><font face=Verdana, Arial, Helvetica, sans-serif color=#000066 size=2>' + 
    346                 '<b>ExpressoMail Offline</b><font size=1><b> - Versão 1.0</b></font></td>' + 
     346                '<b>ExpressoMail Offline</b><font size=1><b> - Versão 1.0</b></font></td>' + 
    347347                '<td width=33% id="div_menu_c3" align=right></td>' + 
    348348                '</tr></table>'; 
    349349 
    350                 //Troca da forma de construção de menu para o plugin jquery.contextMenu 
     350                //Troca da forma de construção de menu para o plugin jquery.contextMenu 
    351351                //ConstructMenuTools(); 
    352352 
     
    366366/** 
    367367 * Carrega a applet java no objeto search_div 
    368  * @author Mário César Kolling <mario.kolling@serpro.gov.br> 
     368 * @author Mário César Kolling <mario.kolling@serpro.gov.br> 
    369369 */ 
    370370 
     
    434434} 
    435435/* 
    436         funcão que remove todos os anexos... 
     436        funcão que remove todos os anexos... 
    437437*/ 
    438438function remove_all_attachments(folder,msg_num) { 
     
    560560                // Verifica se existe o objeto applet 
    561561                if (!Element('cert_applet')){ 
    562                         // se não existir, mostra mensagem de erro. 
     562                        // se não existir, mostra mensagem de erro. 
    563563                        write_msg(get_lang('The preference "%1" isn\'t enabled.', get_lang('Enable digitally sign/cipher the message?'))); 
    564564                } else { 
    565565                        // se existir prepara os dados para serem enviados e chama a 
    566                         // operação na applet 
     566                        // operação na applet 
    567567 
    568568                   // if ((msg_info.DispositionNotificationTo) && ((msg_info.Unseen == 'U') || (msg_info.Recent == 'N'))){ 
     
    599599                var id_msg_read = ID+"_r_"+folderName; 
    600600         
    601         //Evita a tentativa de criação de uma aba cujo ID já existe 
     601        //Evita a tentativa de criação de uma aba cujo ID já existe 
    602602        if (Element("border_id_"+id_msg_read) && currentTab > 0)  
    603603                    id_msg_read += "n"; 
     
    666666 
    667667                        if (confNotification) { 
    668                         /* Adequação a nova funcionalidade. Agora, a confirmação de leitura é uma preferência do usuário. */ 
     668                        /* Adequação a nova funcionalidade. Agora, a confirmação de leitura é uma preferência do usuário. */ 
    669669                                if(preferences.confirm_read_message) { 
    670670                                        $.Zebra_Dialog(get_lang("Would you like to send the read receipt?"), { 
     
    747747                         
    748748                } 
    749                 /* Busca  nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */ 
     749                /* Busca  nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */ 
    750750                cExecute ("$this.imap_functions.getFlaggedAlertMessages&folders="+fromRules, handlerMessageFilter); 
    751751 
     
    799799                        if (data[0] && data[0].msg_folder != current_folder) // Bad request 
    800800                                return false; 
    801                         /* removido incremento da variável pois estava incrementando mais do que o necessário 
    802                         * devido ao incremento realizado em seguida, quando novas são recebidas */ 
     801                        /* removido incremento da variável pois estava incrementando mais do que o necessário 
     802                        * devido ao incremento realizado em seguida, quando novas são recebidas */ 
    803803                        //totalFolderMsgs += data.new_msgs; 
    804804                                 
     
    10101010 
    10111011        var msgs = $("#tbody_box tr"); 
    1012         //Se a classe abaixo (somente ela) não existir a barra de seleção azul deve voltar ao topo. 
     1012        //Se a classe abaixo (somente ela) não existir a barra de seleção azul deve voltar ao topo. 
    10131013        if(!msgs.hasClass("current_selected_shortcut_msg")) 
    10141014        { 
     
    10221022function delete_msgs(folder, msgs_number, border_ID, show_success_msg,archive, prev_message){    
    10231023            if( preferences.use_local_messages == 1 && expresso_local_messages.isArchiving( msgs_number, folder ) ){ 
    1024                           alert( "Impossivel deletar mensagens que ainda estão sendo arquivadas." ); 
     1024                          alert( "Impossivel deletar mensagens que ainda estão sendo arquivadas." ); 
    10251025                          return; 
    10261026                        } 
    10271027                                 
    10281028                        var userTrashFolder = '';  
    1029                         
    1030                         if (arguments.length <= 6) show_success_msg = true;  
     1029 
     1030                        if (arguments.length <= 6 && typeof(show_success_msg) == "undefined") show_success_msg = true;  
    10311031                        if (folder == 'null') folder = current_folder;  
    10321032                  
     
    10801080                } 
    10811081 
    1082                 //Se pref. usar mensagens locais ativaada e não for operação de arquivamento exibe mensagem de remoção. 
     1082                //Se pref. usar mensagens locais ativaada e não for operação de arquivamento exibe mensagem de remoção. 
    10831083                if(preferences.use_local_messages == 1){ 
    10841084                        if(!expresso_mail_archive.isArchiveOperation){ 
     
    11431143                                                 delete selectedPagingMsgs[data.msgs_number[i]];  
    11441144                                } 
    1145                 // removido decremento da variável pois estava decrementando em outros lugares 
     1145                // removido decremento da variável pois estava decrementando em outros lugares 
    11461146                                // totalFolderMsgs = totalFolderMsgs - data.msgs_number.length; 
    11471147                } 
     
    11641164                params_to_delete += "&search_box_type="+search_box_type; 
    11651165                params_to_delete += "&sort_box_reverse="+sort_box_reverse; 
     1166 
    11661167                cExecute ("$this.imap_functions.delete_msgs", handler_delete_msgs, params_to_delete); 
    11671168        } 
     
    11811182        var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 
    11821183 
    1183         //Validação para não poder manipular mensagens locais na busca 
     1184        //Validação para não poder manipular mensagens locais na busca 
    11841185        if (currentTab.indexOf('search_local') != -1 || proxy_mensagens.is_local_folder(new_folder)) 
    11851186        { 
     
    11961197         
    11971198        if( preferences.use_local_messages == 1 && expresso_local_messages.isArchiving( selected_messages, folder ) ){ 
    1198           alert( "Impossivel mover mensagens que ainda estão sendo arquivadas." ); 
     1199          alert( "Impossivel mover mensagens que ainda estão sendo arquivadas." ); 
    11991200          return; 
    12001201        } 
     
    13451346        var folder_error = new_folder_name; 
    13461347        if( preferences.use_local_messages == 1 && expresso_local_messages.isArchiving( msgs_number, folder ) ){ 
    1347             alert( "Impossivel mover mensagens que ainda estão sendo arquivadas." ); 
     1348            alert( "Impossivel mover mensagens que ainda estão sendo arquivadas." ); 
    13481349            return; 
    13491350        } 
     
    13651366                        }else{ 
    13661367                                write_msg(get_lang('Error moving message.')+" "+get_lang('Permission denied to folder "%1".', new_folder_name)); 
    1367                                 /*Verifica se a pasta destino é a "Trash" e se a pasta origem e destino são do mesma estrutura compartilhada*/ 
     1368                                /*Verifica se a pasta destino é a "Trash" e se a pasta origem e destino são do mesma estrutura compartilhada*/ 
    13681369                                if(new_folder_name == "Trash" && folder.split("/")[1] == new_folder.split("/")[1]){ 
    13691370                                        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.")); 
     
    14131414                                        } 
    14141415                                } 
    1415                                 //se houver pagina anterior a paginação deve ser refeita 
     1416                                //se houver pagina anterior a paginação deve ser refeita 
    14161417                                else  
    14171418                                { 
     
    15041505                if ( preferences.use_shortcuts == '1') { 
    15051506                        var all_messages = Element('tbody_box').childNodes; 
    1506                         // verificar se a msg selecionada com o checkbox é a mesma selecionada com o shortcut 
     1507                        // verificar se a msg selecionada com o checkbox é a mesma selecionada com o shortcut 
    15071508                        var msg_list_shortcut = get_selected_messages_shortcut().split(','); 
    15081509                        if(data.msgs_number.length > 0 && msg_list_shortcut.length > 0 && data.msgs_number.toString() == msg_list_shortcut.toString()){ 
     
    15251526                } 
    15261527 
    1527                 //Se pref. usar mensagens locais ativada e não for operação de arquivamento exibe mensagem de remoção. 
     1528                //Se pref. usar mensagens locais ativada e não for operação de arquivamento exibe mensagem de remoção. 
    15281529                if(preferences.use_local_messages == 1){ 
    15291530                        if(!expresso_mail_archive.isArchiveOperation){ 
     
    15551556                        draw_paging(n_total_msg); 
    15561557                        Element('tot_m').innerHTML = n_total_msg; 
    1557             // removido decremento da variável pois estava decrementando em outros lugares 
     1558            // removido decremento da variável pois estava decrementando em outros lugares 
    15581559                        //totalFolderMsgs -= data.msgs_number.length; 
    15591560                } 
     
    15721573                } 
    15731574        } catch (e) {}  
    1574     //Validação para recuperar o id caso não seja aba de listagem 
     1575    //Validação para recuperar o id caso não seja aba de listagem 
    15751576        if (currentTab == 0 && msgs_number == "selected") 
    15761577                msgs_number = get_selected_messages(); 
     
    15821583                } 
    15831584 
    1584         // se a aba estiver aberta e selecionada, apenas a msg da aba é movida 
     1585        // se a aba estiver aberta e selecionada, apenas a msg da aba é movida 
    15851586        if(currentTab.toString().indexOf("_r") != -1 && currentTab == border_ID) 
    15861587        { 
     
    16011602         
    16021603                expresso_mail_archive.update_counters = true; 
    1603         //Folder de onde sai a mensagem é local (armazenamento local) 
     1604        //Folder de onde sai a mensagem é local (armazenamento local) 
    16041605 
    16051606        if(msgs_number=='selected'){ 
     
    16381639        else{ 
    16391640        if (proxy_mensagens.is_local_folder(new_folder)){ 
    1640             //esta tirando de um folder não local para um folder local (arquivamento) 
     1641            //esta tirando de um folder não local para um folder local (arquivamento) 
    16411642            if(msgs_number=='selected'){ 
    16421643                archive_msgs(folder, new_folder); 
     
    16471648        } 
    16481649        else{ 
    1649             //esta tirando de um folder não local para outro folder não local (move) 
     1650            //esta tirando de um folder não local para outro folder não local (move) 
    16501651            //move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 
    16511652                        if (parseInt(msgs_number) > 0 || msgs_number.length > 0){ 
     
    17141715    }    
    17151716 
    1716     //Código adicionado para o correto funcionamento da seleção independente de paginação. 
     1717    //Código adicionado para o correto funcionamento da seleção independente de paginação. 
    17171718    $.each(msgs_number.split(","), function(index, value){ 
    17181719        delete selectedPagingMsgs[value]; 
    17191720    }); 
    1720     // removido decremento da variável pois estava decrementando em outros lugares 
     1721    // removido decremento da variável pois estava decrementando em outros lugares 
    17211722    //totalFolderMsgs = totalFolderMsgs - msgs_number.split(",").length; 
    17221723    selectAllFolderMsgs(false); 
     
    17341735 
    17351736 
    1736       // se a aba estiver aberta e selecionada, apenas a msg da aba é movida 
     1737      // se a aba estiver aberta e selecionada, apenas a msg da aba é movida 
    17371738      if(currentTab.toString().indexOf("_r") != -1) 
    17381739      { 
     
    17701771 
    17711772        if( !id_msgs ){ 
    1772             write_msg( "Todas as mensagens já foram arquivadas anteriormente." ); 
     1773            write_msg( "Todas as mensagens já foram arquivadas anteriormente." ); 
    17731774            return; 
    17741775        } 
     
    17831784                msgs_info[i] = connector.unserialize( data[i] ); 
    17841785 
    1785             //vejo se já tinha mensagens locais 
     1786            //vejo se já tinha mensagens locais 
    17861787            var h = expresso_local_messages.has_local_mails(); 
    17871788             
     
    18231824 
    18241825    if(typeof (currentTab) == "string" && currentTab.indexOf("local") != -1){   
    1825         alert("Impossével manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais."); 
     1826        alert("Impossével manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais."); 
    18261827        return true; 
    18271828    } 
     
    18761877 
    18771878         if( !id_msgs ){ 
    1878               write_msg( "Todas as mensagens já foram arquivadas anteriormente." ); 
     1879              write_msg( "Todas as mensagens já foram arquivadas anteriormente." ); 
    18791880              return; 
    18801881          } 
     
    18891890                //msgs_info[i] = connector.unserialize( data[i] ); 
    18901891 
    1891             //vejo se já tinha mensagens locais 
     1892            //vejo se já tinha mensagens locais 
    18921893            //var h = expresso_local_messages.has_local_mails(); 
    18931894             
     
    21112112 
    21122113                          
    2113                         /* Verifica se está na tela de pesquisa. */ /* 
     2114                        /* Verifica se está na tela de pesquisa. */ /* 
    21142115                        if(selected_messages.indexOf("_") != -1)  
    21152116                        {  
    21162117                                results_search_messages = selected_messages;  
    2117                                 /* Retira a informação da aba */ /* 
     2118                                /* Retira a informação da aba */ /* 
    21182119                                selected_messages = selected_messages.substring(0,selected_messages.indexOf("_")); 
    21192120        } 
     
    26472648            openTab.imapBox[new_border_ID] = folder_message.value; 
    26482649            document.getElementById('font_border_id_' + new_border_ID).innerHTML = data.subject; 
    2649             title = "Edição: " + html_entities(data.subject); 
     2650            title = "Edição: " + html_entities(data.subject); 
    26502651 
    26512652            data.to = Element("to_values_" + border_ID).value; 
     
    27362737} 
    27372738 
    2738 //DESENHA OS RETANGULOS PARA OS E-MAIL NA OPÇÃO REPLY 
     2739//DESENHA OS RETANGULOS PARA OS E-MAIL NA OPÇÃO REPLY 
    27392740function draw_reply_boxes_by_field(field, value, context){ 
    27402741        array = break_comma(value); 
     
    27822783        var attachments = $("#attachments_" + old_id_border).find("a");  
    27832784                if(openTab.imapBox[new_border_ID].split("local").length > 1 && attachments.length > 0){ 
    2784                         alert("Não é possivel utilizar os anexos das mensagens locais, favor desarquivar para ter acesso aos anexos"); 
     2785                        alert("Não é possivel utilizar os anexos das mensagens locais, favor desarquivar para ter acesso aos anexos"); 
    27852786                        return false; 
    27862787                } 
     
    29872988 
    29882989        if(openTab.imapBox[new_border_ID].split("local").length > 1 && attachments.length > 0){ 
    2989                 alert("Não é possivel utilizar os anexos das mensagens locais, favor desarquivar para ter acesso aos anexos"); 
     2990                alert("Não é possivel utilizar os anexos das mensagens locais, favor desarquivar para ter acesso aos anexos"); 
    29902991                return false; 
    29912992        } 
     
    31163117                        } 
    31173118                        else { // crypt 
    3118                                 //TODO: Colocar mensagem de erro, e finalizar o método. 
     3119                                //TODO: Colocar mensagem de erro, e finalizar o método. 
    31193120                                operation = 'nop'; 
    31203121                        } 
     
    32283229} 
    32293230 
    3230 /*Função que grava o destinatário nos contatos dinâmicos*/ 
     3231/*Função que grava o destinatário nos contatos dinâmicos*/ 
    32313232function save_dynamic_contacts(array){ 
    32323233                 
     
    32643265 
    32653266/** 
    3266  * Método chamado pela applet para retornar o resultado da assinatura/decifragem do e-mail. 
     3267 * Método chamado pela applet para retornar o resultado da assinatura/decifragem do e-mail. 
    32673268 * para posterior envio ao servidor. 
    3268  * @author Mário César Kolling <mario.kolling@serpro.gov.br>, Bruno Vieira da Costa <bruno.vieira-costa@serpro.gov.br> 
     3269 * @author Mário César Kolling <mario.kolling@serpro.gov.br>, Bruno Vieira da Costa <bruno.vieira-costa@serpro.gov.br> 
    32693270 * @param smime O e-mail decifrado/assinado 
    3270  * @param ID O ID do e-mail, para saber em que aba esse e-mail será mostrado. 
    3271  * @param operation A operação que foi realizada pela applet (assinatura ou decifragem) 
     3271 * @param ID O ID do e-mail, para saber em que aba esse e-mail será mostrado. 
     3272 * @param operation A operação que foi realizada pela applet (assinatura ou decifragem) 
    32723273 */ 
    32733274function appletReturn(smime, ID, operation, folder){ 
     
    33003301        { 
    33013302                ID_tmp = ID; 
    3302                 // Lá a variável e chama a nova função cExecuteForm 
     3303                // Lá a variável e chama a nova função cExecuteForm 
    33033304                // Processa e envia para o servidor web 
    33043305                // Faz o request do connector novamente. Talvez implementar no connector 
    3305                 // para manter coerência. 
     3306                // para manter coerência. 
    33063307 
    33073308                var handler_send_smime = function(data){ 
     
    33153316                textArea.value += smime; 
    33163317 
    3317                 // Lá a variável e chama a nova função cExecuteForm 
     3318                // Lá a variável e chama a nova função cExecuteForm 
    33183319                // Processa e envia para o servidor web 
    33193320                // Faz o request do connector novamente. Talvez implementar no connector 
    3320                 // para manter coerência. 
     3321                // para manter coerência. 
    33213322                if (is_ie){ 
    33223323                        var i = 0; 
     
    33343335 
    33353336/*  
    3336  * Método que verifica se existe algum item de 'words' em 'body'. 
    3337  * Se houver, retorna a primeira ocorrência encontrada de words, caso contrário retorna false. 
     3337 * Método que verifica se existe algum item de 'words' em 'body'. 
     3338 * Se houver, retorna a primeira ocorrência encontrada de words, caso contrário retorna false. 
    33383339 */ 
    33393340function verifyBodyWords(body, words) 
     
    33763377        var content_body  = RichTextEditor.getData('body_'+ID);      
    33773378        /*  
    3378                 Funcionalidade que verifica se o usuário escreveu a palavra anexo no corpo da mensagem e não anexou nenhum arquivo. 
    3379                 Esta funcionalidade é ativada nas preferências do módulo ExpressoMail. 
     3379                Funcionalidade que verifica se o usuário escreveu a palavra anexo no corpo da mensagem e não anexou nenhum arquivo. 
     3380                Esta funcionalidade é ativada nas preferências do módulo ExpressoMail. 
    33803381        */       
    3381         /* 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. */ 
    3382         if(language == "pt-br") //Português brasileiro 
     3382        /* 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. */ 
     3383        if(language == "pt-br") //Português brasileiro 
    33833384                var words = ['anexo', 'anexos', 'anexada', 'anexado', 'anexei', 'anexando', 'anexaste', 'anexastes', 'anexamos', 'anexaram']; 
    33843385        else if(language == "es-es") //Espanhol 
    33853386                var words = ['anexo','adjunto', 'adjuntos', 'adjuntado','adjuntamos']; 
    3386         else //Inglês ('en') 
     3387        else //Inglês ('en') 
    33873388                var words = ['attach', 'attachment', 'attached', 'annex', 'appending']; 
    33883389 
     
    34133414                zebraDiscardEventDialog = true; 
    34143415                window.setTimeout(function() { 
    3415                         $.Zebra_Dialog('Existem anexos sendo enviados para o servidor. Caso envie sua mensagem agora estes arquivos serão perdidos.', { 
     3416                        $.Zebra_Dialog('Existem anexos sendo enviados para o servidor. Caso envie sua mensagem agora estes arquivos serão perdidos.', { 
    34163417                                'type':     'question', 
    34173418                                'overlay_opacity': '0.5', 
     
    35233524 
    35243525 
     3526    //volta aqui 
     3527 
     3528    if(typeof mailData.attachments == "object"){ 
     3529 
     3530        if(mailData.attachments.archiver.length){ 
     3531 
     3532            var archiver = new Array(); 
     3533            var msgsId = new Array(); 
     3534            $.each(mailData.attachments.archiver, function(i, each){ 
     3535              expresso_mail_archive.unarchieveToAttach(each.folder,"INBOX/Trash",each.uid); //folder, new_folder, msgs_number 
     3536               
     3537            }); 
     3538             $.ajax({ 
     3539                    url: "controller.php?action=$this.imap_functions.get_last_msg_by_id", 
     3540                    data:  archiver, 
     3541                    type: 'POST', 
     3542                    async: false, 
     3543                    success: function(data){ 
     3544                        data = connector.unserialize(data); 
     3545                        archiver.push(data); 
     3546                    }, 
     3547              }); 
     3548 
     3549            mailData.attachments = mailData.attachments.imap; 
     3550 
     3551//TypeError: archiver is null 
     3552            archiver = $.parseJSON(archiver[0]); 
     3553            if(archiver.length){ 
     3554                $.each(archiver, function(i, each){ 
     3555                    msgsId.push(archiver[i].uid); 
     3556                    mailData.attachments.push(JSON.stringify(archiver[i])); 
     3557                }); 
     3558            } 
     3559 
     3560            mailData.attachments = JSON.stringify(mailData.attachments); 
     3561 
     3562        } else { 
     3563            mailData.attachments = JSON.stringify(mailData.attachments.imap); 
     3564        } 
     3565    } else { 
     3566        mailData.attachments = []; 
     3567    } 
     3568 
     3569    delete_msg_archive_by_flag = function(){ 
     3570        $.ajax({ 
     3571            url: "controller.php?action=$this.imap_functions.delete_msg_archive_by_flag", 
     3572            data:  [], 
     3573            type: 'POST', 
     3574            async: false, 
     3575            success: function(data){ 
     3576                data = connector.unserialize(data); 
     3577                data = $.parseJSON(data).result; 
     3578                write_msg(data); 
     3579            }, 
     3580         }); 
     3581    } 
     3582     
    35253583        if(stringEmail != ""){ 
    35263584                $.ajax({ 
     
    35283586            data:  mailData, 
    35293587            type: 'POST', 
    3530  
     3588            async: false, 
    35313589            beforeSend: function(jqXHR, settings){ 
    3532  
    35333590                write_msg( get_lang( 'Sending the message...' ) ); 
    35343591                $(content).find('button.send').button('option', 'disabled', true); 
    3535  
    3536  
    35373592            }, 
    35383593            success: function(data){ 
    35393594                send_message_return(connector.unserialize(data),ID); 
     3595                delete_msgs("INBOX/Trash",msgsId, false, false); 
    35403596                        }, 
    35413597                        error: function(){ 
     
    35633619        if((campo.replace(/^\s+|\s+$/g,"")) != ""){ 
    35643620                        if(invalidEmail[0] == true){ 
    3565                                 write_msg("Erro de SMTP: Os endereços de destinatário a seguir falharam: "+ invalidEmail[1]); 
     3621                                write_msg("Erro de SMTP: Os endereços de destinatário a seguir falharam: "+ invalidEmail[1]); 
    35663622                                return false; 
    35673623                        }else{ 
    35683624                                if(semicolon.length > 1){ 
    3569                                         var stringError = "Erro de SMTP: Os endereços devem ser separados apenas por vírgula: "; 
     3625                                        var stringError = "Erro de SMTP: Os endereços devem ser separados apenas por vírgula: "; 
    35703626                                        for(var i= 0; i < semicolon.length; i++){ 
    35713627                                                stringError = stringError + semicolon[i]; 
     
    40484104 
    40494105 
    4050 /*PERMITE A IMPRESSÃO DE UMA LISTA DE MENSAGENS E SEU CONTEÚDO*/ 
     4106/*PERMITE A IMPRESSÃO DE UMA LISTA DE MENSAGENS E SEU CONTEÚDO*/ 
    40514107function print_messages_bodies(){ 
    40524108        var messages = {}; 
     
    40704126                        return "<tr><td width=7%><font size='2'><b>"+label+" </b></font></td><td><font size='2'>"+data+"</font></td></tr>"; 
    40714127                } 
    4072                 /*INSERE AS MENSAGENS NO DOCUMENTO DE IMPRESSÃO*/ 
     4128                /*INSERE AS MENSAGENS NO DOCUMENTO DE IMPRESSÃO*/ 
    40734129                $.each(data,function(index,message){ 
    40744130                        var html = "<table><tbody>"; 
     
    42754331function print_all(){ 
    42764332    if(typeof (currentTab) == "string" && currentTab.indexOf("local") != -1){   
    4277         alert("Impossével manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais."); 
     4333        alert("Impossével manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais."); 
    42784334        return true; 
    42794335    } 
     
    42884344                return print_messages_list(); 
    42894345        } 
    4290     var msg = 'Algumas mensagens foram selecionadas para impressão. Deseja imprimir o conteúdo de cada uma delas? Caso contrário, apenas uma lista das mensagens selecionadas será impressa.'; 
     4346    var msg = 'Algumas mensagens foram selecionadas para impressão. Deseja imprimir o conteúdo de cada uma delas? Caso contrário, apenas uma lista das mensagens selecionadas será impressa.'; 
    42914347    $.Zebra_Dialog(msg, { 
    42924348            'type':     'question', 
    4293             'buttons': ['Sim','Não'], 
     4349            'buttons': ['Sim','Não'], 
    42944350            'overlay_opacity': '0.5', 
    42954351                'custom_class': 'custom-zebra-filter', 
     
    43814437                        if(to) { 
    43824438                                if(!printListTO) 
    4383                                         to = 'Os destinatários não estão sendo exibidos para esta impressão'; 
     4439                                        to = 'Os destinatários não estão sendo exibidos para esta impressão'; 
    43844440                                html += "<tr><td width=7%><font size='2'>" + get_lang('To') + ": </font></td><td><font size='2'>"+to+"</font></td></tr>"; 
    43854441                        } 
    43864442                        if (cc) { 
    43874443                                if(!printListCC) 
    4388                                         cc = 'Os destinatários não estão sendo exibidos para esta impressão'; 
     4444                                        cc = 'Os destinatários não estão sendo exibidos para esta impressão'; 
    43894445                                html += "<tr><td width=7%><font size='2'>" + get_lang('Cc') + ": </font></td><td><font size='2'>"+cc+"</font></td></tr>"; 
    43904446                        } 
    43914447                        if (cco) { 
    43924448                                if(!printListCCO) 
    4393                                         cco = 'Os destinatários não estão sendo exibidos para esta impressão'; 
     4449                                        cco = 'Os destinatários não estão sendo exibidos para esta impressão'; 
    43944450                                html += "<tr><td width=7%><font size='2'>" + get_lang('Cco') + ": </font></td><td><font size='2'>"+cco+"</font></td></tr>"; 
    43954451                        } 
     
    47254781                msgs_number = get_selected_messages(); 
    47264782 
    4727         //TODO: REFATORAR O CÓDIGO PARA EVITAR recodificação 
     4783        //TODO: REFATORAR O CÓDIGO PARA EVITAR recodificação 
    47284784        if(currentTab == 0) 
    47294785                msgs_number = get_selected_messages(); 
     
    47794835                msgs_number = get_selected_messages(); 
    47804836 
    4781         //TODO: REFATORAR O CÓDIGO PARA EVITAR recodificação 
     4837        //TODO: REFATORAR O CÓDIGO PARA EVITAR recodificação 
    47824838        if(currentTab == 0) 
    47834839                msgs_number = get_selected_messages(); 
     
    47924848{ 
    47934849    if(typeof (currentTab) == "string" && currentTab.indexOf("local") != -1){   
    4794         alert("Impossível manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais."); 
     4850        alert("Impossível manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais."); 
    47954851        return true; 
    47964852    } 
     
    49735029                        if ( er.test(folder.id) ) 
    49745030                        { 
    4975                                 alert( "Mensagens não podem ser importadas em pastas locais" ); 
     5031                                alert( "Mensagens não podem ser importadas em pastas locais" ); 
    49765032                                //archive_msgs('INBOX/Lixeira/tmpMoveToLocal',wfolders_tree._selected.id,data); 
    49775033                                //cExecute('$this.imap_functions.delete_mailbox',function(){},'del_past=INBOX/Lixeira/tmpMoveToLocal'); 
     
    49925048} 
    49935049 
    4994 //Normalização dos dados evita ter que reemplementar toda as funcionalidades do calendar 
     5050//Normalização dos dados evita ter que reemplementar toda as funcionalidades do calendar 
    49955051function decodeCreateSchedulable(type, ID){ 
    49965052        var startEvent = new Date();   
     
    51085164        if(typeof(Encoder) == "undefined"){ 
    51095165                /* 
    5110                 * Deve-se centralizar as informações do usuário logado afim de não incluir 
     5166                * Deve-se centralizar as informações do usuário logado afim de não incluir 
    51115167                * arquivos de modulos distintos para este fim. 
    51125168                */ 
     
    51615217                wfolders.makeWindow('null','import'); 
    51625218} 
    5163     //Verifica o contexto de importação 
     5219    //Verifica o contexto de importação 
    51645220    function decodeOwner(){ 
    51655221        owner = User.me.id; 
     
    52835339                                    break;  
    52845340                                case 6: 
    5285                                         var acceptedSuggestion = confirm("Deseja atualizar o evento/tarefa de acordo com a sugestão ?"); 
     5341                                        var acceptedSuggestion = confirm("Deseja atualizar o evento/tarefa de acordo com a sugestão ?"); 
    52865342                                        $.ajax({ 
    52875343                                            url: "controller.php?action="+import_url+'&from_ajax=true&id_user='+User.me.id+'&selected=true&cirus_delimiter='+cyrus_delimiter+'&acceptedSuggestion='+acceptedSuggestion+"&from="+document.getElementById('from_values_'+currentTab).value+'&uidAccount='+decodeOwner(), 
     
    52955351                                        case 4: 
    52965352                                        case 9: 
    5297                                             alert('Seu evento/tarefa não possui alterações!'); 
     5353                                            alert('Seu evento/tarefa não possui alterações!'); 
    52985354                                            return; 
    52995355                                            break; 
    53005356                                        case 11: 
    5301                                             alert('Este evento/tarefa já fora importando por algum dos particpantes e já se encontra disponível em sua agenda compartilhada!'); 
     5357                                            alert('Este evento/tarefa já fora importando por algum dos particpantes e já se encontra disponível em sua agenda compartilhada!'); 
    53025358                                            return; 
    53035359                                            break; 
     
    53845440        else { 
    53855441                expresso_local_messages.set_as_sent(rowid_message); 
    5386                 if(document.getElementById('_action')) { //Não posso manter esse elemento, pois o connector irá criar outro com o mesmo id para a próxima mensagem. 
     5442                if(document.getElementById('_action')) { //Não posso manter esse elemento, pois o connector irá criar outro com o mesmo id para a próxima mensagem. 
    53875443                        el =document.getElementById('_action'); 
    53885444                        father = el.parentNode; 
     
    55125568} 
    55135569 
    5514                 /* Funçãoo que chama a tela para o usuário reportar um erro no email. */ 
     5570                /* Funçãoo que chama a tela para o usuário reportar um erro no email. */ 
    55155571                function reports_window(currentTab){  
    55165572                        ID_msg = currentTab.substr(0,currentTab.indexOf("_"));  
  • sandbox/2.5.1-expresso1/prototype/modules/attach_message/attach_message.js

    r7833 r7885  
    506506                                 
    507507                                if (selected) {  
    508  
     508                   if(selectedFolder['id'].indexOf("local_messages_") != -1){ 
     509                        // Arrumar isso! 
     510                        //tabPanelTemplateId - mailpreview_tab_INBOX_1110 
     511                        //tabPanelTemplateLabel - Re: asduiahdih 
     512                        console.log(tabPanelTemplateId); 
     513                        tabPanelTemplateLabel =  "Re: asduiahdih"; 
     514 
     515                            expresso_mail_archive.getMessageInfo(id); 
     516                            expresso_mail_archive.getMessageBodies([id]); 
     517 
     518                                var body = expresso_mail_archive.bodyPreview; 
     519                                var subject = expresso_mail_archive.subjectPreview; 
     520 
     521                                $mailpreview_tabs.tabs("add", '#' + tabPanelTemplateId, tabPanelTemplateLabel) 
     522                                .find('.message.empty-container').hide().end() 
     523                                .find('#' + tabPanelTemplateId).html(body) 
     524                                .prepend( 
     525                                    '<div class="mailpreview-message-info">' +  
     526                                        get_lang('Subject') + ': ' + 
     527                                        html_entities(subject) +  
     528                                    '</div>' 
     529                                ) 
     530                                .find('[class^="ExpressoCssWrapper"]').addClass("mailpreview-message-body"); 
     531 
     532                        } 
    509533                                        if (onceOpenedMessages[selectedFolder.id] && onceOpenedMessages[selectedFolder.id][message.msg_number]) { 
    510534                                                if (!selectedMessages[selectedFolder.id]) 
     
    527551                                                } 
    528552 
     553                         
    529554 
    530555                                        } else { 
     
    556581 
    557582 
    558                         if(selectedFolder['id'].indexOf("local_messages_") != -1 && false){ 
    559                         // Arrumar isso! 
    560                             expresso_mail_archive.getMessageInfo(id); 
    561                             expresso_mail_archive.getMessageBodies([id]); 
    562  
    563                                 var body = expresso_mail_archive.bodyPreview; 
    564                                 var subject = expresso_mail_archive.subjectPreview; 
    565                         } 
    566  
    567                                                 $.ajax({ 
    568                                                         accepts: 'text/html', 
    569                                                         url: BASE_PATH + 'REST.php'+offlineCase+'?q=folder/'+selectedFolder.id.replace(dashes, '.')+'/message/'+id, 
    570                                                         dataType: 'json', 
    571                                                         success: function( mail_preview ){               
    572  
    573                                                                 //selectedMessagesCount(); 
    574                                                                 if (!onceOpenedMessages[selectedFolder.id]) 
    575                                                                         onceOpenedMessages[selectedFolder.id] = {}; 
    576                                                                 onceOpenedMessages[selectedFolder.id][message.msg_number] = jQuery.extend(true, message, mail_preview); 
    577  
    578                                                                 $('#mailpreview_container').unblock(); 
    579  
    580                                                                 var tabPanelTemplateLabel = html_entities(onceOpenedMessages[selectedFolder.id][message.msg_number].subject); 
    581                                                                 if (tabPanelTemplateLabel.length > $mailpreview_tabs_label_length + 3) 
    582                                                                         tabPanelTemplateLabel = tabPanelTemplateLabel.substring(0, $mailpreview_tabs_label_length) + '...'; 
    583                                                         selectedMessagesCount(); 
    584                                                                  
    585                                                                 if (!$('#' + tabPanelTemplateId).length) {                                                               
    586                                                                         $mailpreview_tabs.tabs("add", '#' + tabPanelTemplateId, tabPanelTemplateLabel) 
    587                                                                         .find('.message.empty-container').hide().end() 
    588                                                                         .find('#' + tabPanelTemplateId).html(onceOpenedMessages[selectedFolder.id][message.msg_number].body) 
    589                                                                         .prepend( 
    590                                                                                 '<div class="mailpreview-message-info">' +  
    591                                                                                         get_lang('Subject') + ': ' + 
    592                                                                                         html_entities(onceOpenedMessages[selectedFolder.id][message.msg_number].subject) +  
    593                                                                                 '</div>' 
    594                                                                         ) 
    595                                                                         .find('[class^="ExpressoCssWrapper"]').addClass("mailpreview-message-body"); 
    596                                                                 } else { 
    597                                                                         $mailpreview_tabs.tabs('select', '#' + tabPanelTemplateId) 
    598                                                                         .find('#' + tabPanelTemplateId + ', [href="#' + tabPanelTemplateId + '"]').removeClass('preview-message-unselected'); 
    599                                                                 } 
    600                                                         } 
    601                                                 }); 
     583                        if(selectedFolder['id'].indexOf("local_messages_") != -1){ 
     584                            $('#mailpreview_container').unblock(); 
     585                            if (!onceOpenedMessages[selectedFolder.id]) 
     586                                    onceOpenedMessages[selectedFolder.id] = {}; 
     587                                onceOpenedMessages[selectedFolder.id][message.msg_number] = message; 
     588 
     589                            var tabPanelTemplateLabel = html_entities(onceOpenedMessages[selectedFolder.id][message.msg_number].subject); 
     590                                    if (tabPanelTemplateLabel.length > $mailpreview_tabs_label_length + 3) 
     591                                        tabPanelTemplateLabel = tabPanelTemplateLabel.substring(0, $mailpreview_tabs_label_length) + '...'; 
     592                            selectedMessagesCount(); 
     593                        } else { 
     594                                                $.ajax({ 
     595                                                        accepts: 'text/html', 
     596                                                        url: BASE_PATH + 'REST.php'+offlineCase+'?q=folder/'+selectedFolder.id.replace(dashes, '.')+'/message/'+id, 
     597                                                        dataType: 'json', 
     598                                                        success: function( mail_preview ){               
     599                                                                //selectedMessagesCount(); 
     600                                                                if (!onceOpenedMessages[selectedFolder.id]) 
     601                                                                        onceOpenedMessages[selectedFolder.id] = {}; 
     602                                                                onceOpenedMessages[selectedFolder.id][message.msg_number] = jQuery.extend(true, message, mail_preview); 
     603 
     604                                                                $('#mailpreview_container').unblock(); 
     605 
     606                                                                var tabPanelTemplateLabel = html_entities(onceOpenedMessages[selectedFolder.id][message.msg_number].subject); 
     607                                                                if (tabPanelTemplateLabel.length > $mailpreview_tabs_label_length + 3) 
     608                                                                        tabPanelTemplateLabel = tabPanelTemplateLabel.substring(0, $mailpreview_tabs_label_length) + '...'; 
     609                                                        selectedMessagesCount(); 
     610                                                                 
     611                                                                if (!$('#' + tabPanelTemplateId).length) {       
     612                                        
     613 
     614                                    //tabPanelTemplateId - mailpreview_tab_INBOX_1110 
     615                                    //tabPanelTemplateLabel - Re: asduiahdih 
     616 
     617                                                                        $mailpreview_tabs.tabs("add", '#' + tabPanelTemplateId, tabPanelTemplateLabel) 
     618                                                                        .find('.message.empty-container').hide().end() 
     619                                                                        .find('#' + tabPanelTemplateId).html(onceOpenedMessages[selectedFolder.id][message.msg_number].body) 
     620                                                                        .prepend( 
     621                                                                                '<div class="mailpreview-message-info">' +  
     622                                                                                        get_lang('Subject') + ': ' + 
     623                                                                                        html_entities(onceOpenedMessages[selectedFolder.id][message.msg_number].subject) +  
     624                                                                                '</div>' 
     625                                                                        ) 
     626                                                                        .find('[class^="ExpressoCssWrapper"]').addClass("mailpreview-message-body"); 
     627                                                                } else { 
     628                                                                        $mailpreview_tabs.tabs('select', '#' + tabPanelTemplateId) 
     629                                                                        .find('#' + tabPanelTemplateId + ', [href="#' + tabPanelTemplateId + '"]').removeClass('preview-message-unselected'); 
     630                                                                } 
     631                                                        } 
     632                                                }); 
     633                        }       
    602634                                        } 
    603635                                } else { 
Note: See TracChangeset for help on using the changeset viewer.