/[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.3 by wakaba, Sat Dec 1 12:06:09 2001 UTC revision 1.24 by wakaba, Sat Dec 1 15:15:08 2001 UTC
# Line 326  function address_decode($adrstring,$defa Line 326  function address_decode($adrstring,$defa
326    $result["mailbox"]=trim($mailbox);    $result["mailbox"]=trim($mailbox);
327    $result["host"]=trim($host);    $result["host"]=trim($host);
328  //  $personal = mb_convert_encoding($personal, "EUC-JP", "auto");  //  $personal = mb_convert_encoding($personal, "EUC-JP", "auto");
   $personal = ereg_replace("\\(.)", $regs[1], $personal);  
329    if ($personal!="") $result["personal"]=$personal;    if ($personal!="") $result["personal"]=$personal;
330    $complete[]=$result;    $complete[]=$result;
331    return ($complete);    return ($complete);
# Line 448  function headerDecode($value) { Line 447  function headerDecode($value) {
447      else      else
448        $newvalue=headerDecode($newvalue);  // maybe there are more encoded        $newvalue=headerDecode($newvalue);  // maybe there are more encoded
449      return(mb_convert_encoding($newvalue, "EUC-JP", "auto"));      // parts      return(mb_convert_encoding($newvalue, "EUC-JP", "auto"));      // parts
450    } else {   // there wasn't anything encoded, return the original string    } else {
451      return(mb_convert_encoding($value, "EUC-JP", "auto"));      if (eregi('".*"',$value)) {  // quoted-pair
452          ereg('([^"]*)"(([^"]+|\\\\.)*)"(.*)',$value,$vals);
453          $newvalue = $vals[1].decode_quoted_pair($vals[2]).$vals[4];
454          return(mb_convert_encoding($newvalue, "EUC-JP", "auto"));
455        } else {   // there wasn't anything encoded, return the original string
456          return(mb_convert_encoding($value, "EUC-JP", "auto"));
457        }
458    }    }
459  }  }
460    
# Line 551  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 566  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) {
# Line 755  function read_message($id,$bodynum=0,$gr Line 771  function read_message($id,$bodynum=0,$gr
771        return false;        return false;
772      $rawmessage=array();      $rawmessage=array();
773      $line=lieszeile($ns);      $line=lieszeile($ns);
774   $line=mb_convert_encoding($line, "EUC-JP", "ISO-2022-JP");   #$line=mb_convert_encoding($line, "EUC-JP", "ISO-2022-JP");
775      while(strcmp($line,".") != 0) {      while(strcmp($line,".") != 0) {
776        $rawmessage[]=$line;        $rawmessage[]=$line;
777        $line=lieszeile($ns);        $line=lieszeile($ns);
778   $line=mb_convert_encoding($line, "EUC-JP", "ISO-2022-JP");   #$line=mb_convert_encoding($line, "EUC-JP", "ISO-2022-JP");
779      }      }
780      $message=parse_message($rawmessage);      $message=parse_message($rawmessage);
781      if (ereg('^[0-9]+$',$id)) $message->header->number=$id;      if (ereg('^[0-9]+$',$id)) $message->header->number=$id;
# Line 1683  function verschicken($subject,$from,$new Line 1699  function verschicken($subject,$from,$new
1699  //    fputs($ns,"Mime-Version: 1.0\r\n");  //    fputs($ns,"Mime-Version: 1.0\r\n");
1700  //    fputs($ns,"Content-Type: text/plain; charset=ISO-8859-1\r\n");  //    fputs($ns,"Content-Type: text/plain; charset=ISO-8859-1\r\n");
1701  //    fputs($ns,"Content-Transfer-Encoding: 8bit\r\n");  //    fputs($ns,"Content-Transfer-Encoding: 8bit\r\n");
1702      fputs($ns,"User-Agent: $text_ua["user_agent"]\r\n");      fputs($ns,"User-Agent: ".$text_ua["user_agent"]."\r\n");
1703      if ($send_poster_host)      if ($send_poster_host)
1704        fputs($ns,'X-HTTP-Posting-Host: '.gethostbyaddr(getenv("REMOTE_ADDR"))."\r\n");        fputs($ns,'X-HTTP-Posting-Host: '.gethostbyaddr(getenv("REMOTE_ADDR"))."\r\n");
1705      if ($ref!=false) fputs($ns,'References: '.$ref."\r\n");      if ($ref!=false) fputs($ns,'References: '.$ref."\r\n");

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24