Ignore:
Timestamp:
05/23/12 16:26:07 (12 years ago)
Author:
airton
Message:

Ticket #2764 - Implementacao de alerta ao usuario para criterio atendido nos filtros de mensagens

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.4.1-1/prototype/modules/filters/interceptors/FilterMapping.php

    r6213 r6285  
    217217                        $script_criteria .= ")";  
    218218 
    219                         $script_action = " {\r\n "; 
     219                        //$script_action = " {\r\n "; 
     220                        /* Somente para controlar que o addFlag virá antes de qualquer ação. Modificar isso depois */ 
     221                        $action_addFlag = ''; 
    220222                         
    221223                        if( is_array($action) ) 
     
    223225                        { 
    224226                                switch ($action[$k]['type']) { 
     227                                        case 'setflag': 
     228                                                $require_flag = true; 
     229                                                $action[$k]['parameter'] = "\\\\" . $action[$k]['parameter']; 
     230                                                break; 
     231                                        case 'addflag':  
     232                                                $require_flag = true; 
     233                                                $action_addFlag = "addflag \"" . $action[$k]['parameter'] . "\";\r\n "; 
     234                                                break; 
    225235                                        case 'redirect': 
    226236                                                break; 
     
    238248                                                $vacation = true; 
    239249                                                continue; 
    240                                         case 'setflag': 
    241                                                 $require_flag = true; 
    242                                                 $action[$k]['parameter'] = "\\\\" . $action[$k]['parameter']; 
    243                                                 break; 
    244250                                        case 'discard': 
    245251                                                break; 
    246252                                } 
    247                                 if ($vacation == false) $script_action .= $action[$k]['type'] . " \"" . $action[$k]['parameter'] . "\";\r\n "; 
     253                                if ($vacation == false && $action[$k]['type'] != 'addflag') $script_action .= $action[$k]['type'] . " \"" . $action[$k]['parameter'] . "\";\r\n "; 
    248254                        } 
    249                         $script_action .= "}"; 
    250255                         
     256                        /* ATENÇÃO: Colocar sempre o comando addflag antes de qualquer outro no caso de ações compostas no Sieve */ 
     257                        if ($action_addFlag != '') $script_action = $action_addFlag . $script_action;  
     258                         
     259                        $script_action = "{\r\n " . $script_action . "}"; 
     260                        $action_addFlag = ''; 
    251261                        if($vacation == false) 
    252262                                $script_rules .= $script_match . $script_criteria . $script_action . "\r\n"; 
     
    256266                        $script_match = ""; 
    257267                        $script_criteria = "";   
     268                        $script_action = ""; 
    258269                        $data['applyMessages'] = "";                                                     
    259270                } 
     
    281292 
    282293                $content = $script_begin . $script_header . $script_rules . "\r\n\r\n#PseudoScript#" . "\r\n#" . $json_data; 
    283                  
     294 
    284295                return( $content ); 
    285296        } 
Note: See TracChangeset for help on using the changeset viewer.