Ignore:
Timestamp:
07/19/11 09:00:57 (13 years ago)
Author:
roberto.santosjunior
Message:

Ticket #1820 - Aplicada correção para cirar filtros com acentuação. r4641

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/inc/class.ScriptS.inc.php

    r4735 r4789  
    215215 
    216216    function convert_specialchar($input) { 
    217         $special_char = false; 
    218         for ($i = 0; $i < strlen($input); $i++) { 
    219             if (preg_match('/[^a-z0-9.@~_+=&\'*^\ \-\[\]]/i', $input[$i])) { 
    220                 $special_char = true; 
    221                 $input = preg_replace('/\\' . $input[$i] . '/', '=' . bin2hex($input[$i]), $input); 
    222             } 
    223         } 
    224  
    225         if ($special_char) { 
    226             /*             * 
    227              * When using arrays with pattern and replacement,  
    228              * the keys are processed in the order they appear in the array.  
    229              * See preg_replace in php.net/preg_replace  
    230              * */ 
    231             $patterns[0] = '/=c3/i'; 
    232             $patterns[1] = '/ /'; 
    233             $replacements[1] = ''; 
    234             $replacements[0] = '_'; 
    235             $input = preg_replace($patterns, $replacements, $input); 
    236         } 
    237  
    238         return($input); 
     217        $temp_input = $input;   
     218        $temp_input = imap_8bit($temp_input);  
     219                  
     220        $patterns[0] = '/ /';  
     221        $replacements[0] = '_';   
     222        $temp_input = preg_replace($patterns, $replacements, $temp_input);   
     223        return ($temp_input); 
    239224    } 
    240225 
     
    267252            $rule['to']         = $this->convert_specialchar($tmp1[4]); 
    268253            $tmpSubject         = $tmp1[5]; 
    269             $rule['subject']    = $this->convert_specialchar($tmp1[5]); 
     254            $rule['subject']    = $rule['subject'] = " [\"" . $this->convert_specialchar($tmp1[5]) . "\", \"" . base64_encode($tmp1[5]) . "\"]"; 
    270255            $rule['action']     = $tmp1[6]; 
    271256            $rule['action_arg'] = utf8_encode(preg_replace("/\\r\\n/", "\r\n", $tmp1[7])); 
     
    361346                            $match = ':regex'; 
    362347                        $newruletext .= "header " . $match . " \"subject\""; 
    363                         $newruletext .= " \"" . $rule['subject'] . "\""; 
     348                        $newruletext .= "" . $rule['subject'] . ""; 
    364349                        $started = 1; 
    365350                    } 
Note: See TracChangeset for help on using the changeset viewer.