Changeset 5630


Ignore:
Timestamp:
03/05/12 17:21:15 (12 years ago)
Author:
airton
Message:

Ticket #2088 - Melhorias no filtro de mensagens do Expresso - Pequena adequacao para bloqueio de usuario

Location:
trunk
Files:
3 edited

Legend:

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

    r5626 r5630  
    24362436                //var option_mark_as_important                  = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'flagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+'.\');">'+get_lang("Important")+'</span>, '; 
    24372437                //var option_mark_as_normal                             = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'unflagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+'.\');">'+get_lang("Normal")+'</span> | '; 
    2438                 var block_user = '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick ="filter.new_rule(\''+info_msg.from.email+'\');">'+get_lang("Block Sender")+'</span> | ';      
     2438                var block_user = '<!--<script src="../prototype/modules/filters/filters.js"></script>--><span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick ="block_user_email("'+info_msg.from.email+'");">'+get_lang("Block Senderr")+'</span> | ';        
    24392439                //var option_forward = '<span onclick="new_message(\'forward\',\''+ ID+'\');" onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options">'+get_lang("Forward")+'</span> | '; 
    24402440                var option_move = '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick=wfolders.makeWindow("'+ID+'","move_to");>'+get_lang("Move")+'</span> | '; 
     
    47544754        var dn_em       = document.createElement("SPAN"); 
    47554755                dn_em.id = "tt_d"; 
    4756                 dn_em.onclick = function(){filter.new_rule(email);}; 
     4756                dn_em.onclick = function(){ block_user_email(email); /*filter.new_rule(email);*/ }; 
    47574757                dn_em.setAttribute("title",get_lang("Block Sender")); 
    47584758                dn_em.style.cursor = "pointer"; 
    4759                 dn_em.innerHTML = "<img align='top' src='./templates/"+template+"/images/deny.gif'>"; 
     4759                dn_em.innerHTML = "<script src='../prototype/modules/filters/filters.js'></script><img align='top' src='./templates/"+template+"/images/deny.gif'>"; 
    47604760        return dn_em; 
    47614761 
  • trunk/prototype/modules/filters/filters.js

    r5627 r5630  
    104104    for( var i = 0; i < filter.criteria.length; i++ ){ 
    105105 
    106         criterias.filter( '[value="' + filter.criteria[i].field + '"]' ) 
    107         .siblings( '[name="criteriaOperator[]"]' ).val( filter.criteria[i].operator ).end() 
    108         .siblings( '[name="criteriaValue[]"]' ).val( filter.criteria[i].value ); 
     106                criterias.filter( '[value="' + filter.criteria[i].field + '"]' ) 
     107                .siblings( '[name="criteriaOperator[]"]' ).val( filter.criteria[i].operator ).end() 
     108                .siblings( '[name="criteriaValue[]"]' ).val( filter.criteria[i].value ); 
    109109 
    110110    } 
     
    246246 
    247247}); 
     248 
     249 
     250 
    248251 
    249252var BASE_PATH = '../prototype/'; 
     
    643646// ------------------------------------------------------------     
    644647*/  
     648 
     649function block_user_email(email) {  
     650        //var id = "block_"+email; 
     651        var idd = email; 
     652        DataLayer.put( 'filter', idd,  
     653                                        { name: email, isExact: false,  
     654                                                criteria:{ 0: {value: email, operator: "=", field: "from"} }, 
     655                                                /* To-do: Arrumar para popular a tela com o reject, pois não há essa opção na interface. */ 
     656                                                actions: { 0: {parameter: "INBOX/Spam", type: "fileinto"}},  
     657                                                enabled: true,  
     658                                                id: email, 
     659                                                block: true  
     660                                        }); 
     661         
     662        DataLayer.commit("filter"); 
     663} 
     664 
    645665function list_filters(html){ 
    646666        var filters = DataLayer.get("filter", true); 
  • trunk/prototype/modules/filters/interceptors/FilterMapping.php

    r5629 r5630  
    7575        public function formatSieveScript( $rules ) 
    7676    { 
     77         
    7778                $require_fileinto = $require_flag = $require_reject = $require_vacation = $require_body = $require_imapflag = $vacation = $startswith = $endswith = false; 
    7879 
     
    8384                foreach( $rules as $name => $data ) 
    8485                { 
    85  
     86                        /* Usado na opção Bloquear usuário do ExpressoMail */ 
     87                        if($data['block']) { 
     88                                ($i >0) ? $script_match = 'elsif anyof' : $script_match = 'if anyof'; 
     89                                $script_match = $script_match . "(address :is \"from\" [\"" .$data['name'] . "\"]) {\r\n";   
     90                                $script_match .= "fileinto \"INBOX/Spam\"; \r\n}\r\n"; 
     91                                $script_rules .= $script_match; 
     92                                $script_match = ""; 
     93                                $script_criteria = ""; 
     94                                $require_fileinto = true; 
     95                                $i++; 
     96                                continue; 
     97                        } 
     98                         
    8699                        if( $data['enabled'] == 'false' ) 
    87100                                continue; 
     
    384397        public function setRule( &$uri , &$params , &$criteria , $original  ) 
    385398        { 
    386             if( !$this->rules ) 
     399                if( !$this->rules ) 
    387400                $this->rules = $this->getRules(); 
    388401 
Note: See TracChangeset for help on using the changeset viewer.