/[suikacvs]/messaging/newsportal/newsportal.php
Suika

Diff of /messaging/newsportal/newsportal.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.14 by wakaba, Sat Dec 1 12:55:49 2001 UTC revision 1.24 by wakaba, Sat Dec 1 15:15:08 2001 UTC
# Line 449  function headerDecode($value) { Line 449  function headerDecode($value) {
449      return(mb_convert_encoding($newvalue, "EUC-JP", "auto"));      // parts      return(mb_convert_encoding($newvalue, "EUC-JP", "auto"));      // parts
450    } else {    } else {
451      if (eregi('".*"',$value)) {  // quoted-pair      if (eregi('".*"',$value)) {  // quoted-pair
452        $newvalue=ereg_replace('(.*)"(.*)"(.*)','\1'.decode_quoted_pair('\2').'\3',$value);        ereg('([^"]*)"(([^"]+|\\\\.)*)"(.*)',$value,$vals);
453        #$result1=ereg_replace('(.*)"(.*)"(.*)','\1',$value);        $newvalue = $vals[1].decode_quoted_pair($vals[2]).$vals[4];
       #$result2=ereg_replace('(.*)"(.*)"(.*)','\2',$value);  
       #$result3=ereg_replace('(.*)"(.*)"(.*)','\3',$value);  
       #$result2=ereg_replace('\\\\(.)','\1',$result2);  
       #$newvalue=$result1.'"'.$result2.'"'.$result3;  
454        return(mb_convert_encoding($newvalue, "EUC-JP", "auto"));        return(mb_convert_encoding($newvalue, "EUC-JP", "auto"));
455      } else {   // there wasn't anything encoded, return the original string      } else {   // there wasn't anything encoded, return the original string
456        return(mb_convert_encoding($value, "EUC-JP", "auto"));        return(mb_convert_encoding($value, "EUC-JP", "auto"));
# Line 462  function headerDecode($value) { Line 458  function headerDecode($value) {
458    }    }
459  }  }
460    
 function decode_quoted_pair($value) {  
       return(ereg_replace('\\\\(.)','\1',$value));  
 }  
   
461  function getTimestamp($value) {  function getTimestamp($value) {
462    $months=array("Jan"=>1,"Feb"=>2,"Mar"=>3,"Apr"=>4,"May"=>5,"Jun"=>6,"Jul"=>7,"Aug"=>8,"Sep"=>9,"Oct"=>10,"Nov"=>11,"Dec"=>12);    $months=array("Jan"=>1,"Feb"=>2,"Mar"=>3,"Apr"=>4,"May"=>5,"Jun"=>6,"Jul"=>7,"Aug"=>8,"Sep"=>9,"Oct"=>10,"Nov"=>11,"Dec"=>12);
463    $value=str_replace("  "," ",$value);    $value=str_replace("  "," ",$value);
# Line 564  function parse_header($hdr,$number="") { Line 556  function parse_header($hdr,$number="") {
556          case "x-newsreader:":          case "x-newsreader:":
557          case "x-mailer:":          case "x-mailer:":
558          case "user-agent:":          case "user-agent:":
559            $header->user_agent=trim($value);            $header->user_agent=trim(decode_structured_body($value));
560            break;            break;
561          case "x-face:":          case "x-face:":
562  //          echo "<p>-".base64_decode($value)."-</p>";  //          echo "<p>-".base64_decode($value)."-</p>";
# Line 579  function parse_header($hdr,$number="") { Line 571  function parse_header($hdr,$number="") {
571    return $header;    return $header;
572  }  }
573    
574    function decode_structured_body ($body) {
575      $patterns = array ("/\"((?:[^\"\\\\]+|\\\\.)*)\"/e");
576      $replace = array ("mb_convert_encoding(decode_quoted_pair('\\1'), 'EUC-JP', 'auto')");
577      return preg_replace ($patterns, $replace, $body);
578    }
579    
580    function decode_quoted_pair($value) {
581      $value = ereg_replace('\\\\(\\\\")', "\\1", $value);
582      return ereg_replace('\\\\(.)', "\\1", $value);
583    }
584    
585  function decode_body($body,$encoding) {  function decode_body($body,$encoding) {
586    $bodyzeile="";    $bodyzeile="";
587    switch ($encoding) {    switch ($encoding) {

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.24

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24