/[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.1.1.1 by wakaba, Sat Dec 1 11:17:31 2001 UTC revision 1.37 by wakaba, Mon Apr 1 01:40:44 2002 UTC
# Line 44  class headerType { Line 44  class headerType {
44    var $newsgroups;  // the Newsgroups where the article belongs to    var $newsgroups;  // the Newsgroups where the article belongs to
45    var $followup;    var $followup;
46    var $date;    var $date;
   var $organization;  
47    var $references;    var $references;
48    var $content_transfer_encoding;    var $content_transfer_encoding;
49    var $mime_version;    var $mime_version;
# Line 56  class headerType { Line 55  class headerType {
55    var $answers;    var $answers;
56    var $isAnswer;    var $isAnswer;
57    var $username;    var $username;
58    var $user_agent;    var $field;
59    var $isReply;    var $isReply;
60  }  }
61    
# Line 201  function get_mimetype_by_filename($name) Line 200  function get_mimetype_by_filename($name)
200  }  }
201    
202  function showPageSelectMenu($article_count,$first) {  function showPageSelectMenu($article_count,$first) {
203    global $articles_per_page,$file_thread,$file_framethread,$name;    global $articles_per_page,$name;
 /*  if (isset($file_framethread)) {  
     $thread=$file_framethread;  
   } else {  
     $thread=$file_thread;  
   }  
 */  
204    $pages=ceil($article_count / $articles_per_page);    $pages=ceil($article_count / $articles_per_page);
205    if ($article_count > $articles_per_page)    if ($article_count > $articles_per_page)
206      for ($i = 0; $i < $pages; $i++) {      for ($i = 0; $i < $pages; $i++) {
207        echo '[';        echo '[';
208        if ($first != $i*$articles_per_page+1)        if ($first != $i*$articles_per_page+1)
209          echo '<a href="'.($i*$articles_per_page+1).'_'.          echo '<a href="'.($i*$articles_per_page+1).'-'.
210               ($i+1)*$articles_per_page.'.html">';               ($i+1)*$articles_per_page.'">';
211        echo ($i*$articles_per_page+1).'-';        echo ($i*$articles_per_page+1).'-';
212        if ($i == $pages-1) {        if ($i == $pages-1) {
213          echo $article_count;          echo $article_count;
# Line 385  function readGroups($server,$port) { Line 378  function readGroups($server,$port) {
378   */   */
379  function showgroups($gruppen) {  function showgroups($gruppen) {
380    if ($gruppen == false) return;    if ($gruppen == false) return;
381    global $file_thread,$text_groups;    global $uri_thread,$text_groups;
382    $c = count($gruppen);    $c = count($gruppen);
383    echo "<table>\n";    echo "<table>\n";
384    echo "<tr><td>#</td><td>".$text_groups["newsgroup"].    echo "<tr><td>#</td><td>".$text_groups["newsgroup"].
# Line 397  function showgroups($gruppen) { Line 390  function showgroups($gruppen) {
390      echo '<a ';      echo '<a ';
391      if ((isset($frame_threadframeset)) && ($frame_threadframeset != ""))      if ((isset($frame_threadframeset)) && ($frame_threadframeset != ""))
392        echo 'target="'.$frame_threadframeset.'" ';        echo 'target="'.$frame_threadframeset.'" ';
393      echo 'href="'.$file_thread.'/'.urlencode($g->name).'/index.html">'.$g->name."</a></td>\n";      echo 'href="'.$uri_thread.'/'.encode_newsgroup ($g->name).'/">'.$g->name."</a></td>\n";
394      echo "<td>$g->description</td></tr>\n";      echo "<td>$g->description</td></tr>\n";
395      flush();      flush();
396    }    }
397    echo "</table>\n";    echo "</table>\n";
398  }  }
399    
400    function encode_newsgroup ($groupname) {
401      return str_replace ('.', ':', urlencode ($groupname));
402    }
403    
404  /*  /*
405   * gets a list of aviable articles in the group $groupname   * gets a list of aviable articles in the group $groupname
406   */   */
# Line 447  function headerDecode($value) { Line 444  function headerDecode($value) {
444      else      else
445        $newvalue=headerDecode($newvalue);  // maybe there are more encoded        $newvalue=headerDecode($newvalue);  // maybe there are more encoded
446      return(mb_convert_encoding($newvalue, "EUC-JP", "auto"));      // parts      return(mb_convert_encoding($newvalue, "EUC-JP", "auto"));      // parts
447    } else {   // there wasn't anything encoded, return the original string    } else {
448      return(mb_convert_encoding($value, "EUC-JP", "auto"));      return(mb_convert_encoding(decode_structured_body($value), "EUC-JP", "auto"));
449    }    }
450  }  }
451    
 function getTimestamp($value) {  
   $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);  
   $value=str_replace("  "," ",$value);  
   $d=split(" ",$value,5);  
   if (strcmp(substr($d[0],strlen($d[0])-1,1),",") == 0) {  
     $date[0]=$d[1];  // day  
     $date[1]=$d[2];  // month  
     $date[2]=$d[3];  // year  
     $date[3]=$d[4];  // hours:minutes:seconds  
   } else {  
     $date[0]=$d[0];  // day  
     $date[1]=$d[1];  // month  
     $date[2]=$d[2];  // year  
     $date[3]=$d[3];  // hours:minutes:seconds  
   }  
   $time=split(":",$date[3]);  
   $timestamp=mktime($time[0],$time[1],$time[2],$months[$date[1]],$date[0],$date[2]);  
   return $timestamp;  
 }  
452    
453  function parse_header($hdr,$number="") {  function parse_header($hdr,$number="") {
454    for ($i=count($hdr)-1; $i>0; $i--)    for ($i=count($hdr)-1; $i>0; $i--)
# Line 479  function parse_header($hdr,$number="") { Line 457  function parse_header($hdr,$number="") {
457    $header = new headerType;    $header = new headerType;
458    $header->isAnswer=false;    $header->isAnswer=false;
459    for ($count=0;$count<count($hdr);$count++) {    for ($count=0;$count<count($hdr);$count++) {
460      $variable=substr($hdr[$count],0,strpos($hdr[$count]," "));      $variable=substr($hdr[$count],0,strpos($hdr[$count],":"));
461      $value=trim(substr($hdr[$count],strpos($hdr[$count]," ")+1));      $value=trim(substr($hdr[$count],strpos($hdr[$count],":")+1));
462        $header->field[strtolower($variable)][] = $value;
463        switch (strtolower($variable)) {        switch (strtolower($variable)) {
464          case "from:":          case "from":
465            $fromline=address_decode(headerDecode($value),"nirgendwo");            $fromline=address_decode(headerDecode($value),"nirgendwo");
466            if (!isset($fromline[0]["host"])) $fromline[0]["host"]="";            if (!isset($fromline[0]["host"])) $fromline[0]["host"]="";
467            $header->from=$fromline[0]["mailbox"]."@".$fromline[0]["host"];            $header->from=$fromline[0]["mailbox"]."@".$fromline[0]["host"];
# Line 493  function parse_header($hdr,$number="") { Line 472  function parse_header($hdr,$number="") {
472              $header->name=$fromline[0]["personal"];              $header->name=$fromline[0]["personal"];
473            }            }
474            break;            break;
475          case "message-id:":          case "message-id":
476            $header->id=$value;            $header->id=$value;
477            break;            break;
478          case "subject:":          case "subject":
479            $header->subject=headerDecode($value);            $header->subject = decode_unstructured_body($value);
480            break;            break;
481          case "newsgroups:":          case "newsgroups":
482            $header->newsgroups=$value;            $header->newsgroups=$value;
483            break;            break;
484          case "organization:":          case "content-transfer-encoding":
           $header->organization=$value;  
           break;  
         case "content-transfer-encoding:":  
485            $header->content_transfer_encoding=trim(strtolower($value));            $header->content_transfer_encoding=trim(strtolower($value));
486            break;            break;
487          case "content-type:":          case "content-type":
488            $header->content_type=array();            $header->content_type=array();
489            $subheader=split(";",$value);            $subheader=split(";",$value);
490            $header->content_type[0]=strtolower(trim($subheader[0]));            $header->content_type[0]=strtolower(trim($subheader[0]));
# Line 533  function parse_header($hdr,$number="") { Line 509  function parse_header($hdr,$number="") {
509              }              }
510            }            }
511            break;            break;
512          case "references:":          case "references":
513            $ref=ereg_replace("> *<", "> <", trim($value));            $ref=ereg_replace("> *<", "> <", trim($value));
514            while (strpos($ref,"> <") != false) {            while (strpos($ref,"> <") != false) {
515              $header->references[]=substr($ref,0,strpos($ref," "));              $header->references[]=substr($ref,0,strpos($ref," "));
# Line 541  function parse_header($hdr,$number="") { Line 517  function parse_header($hdr,$number="") {
517            }            }
518            $header->references[]=trim($ref);            $header->references[]=trim($ref);
519            break;            break;
520          case "date:":          case "date":
521            $header->date=getTimestamp(trim($value));            $header->date = strtotime(trim($value));
522            break;            break;
523          case "followup-to:":          case "followup-to":
524            $header->followup=trim($value);            $header->followup=trim($value);
525            break;            break;
526          case "x-newsreader:":  /*
527          case "x-mailer:":          case "x-newsreader":
528          case "user-agent:":          case "x-mailer":
529            $header->user_agent=trim($value);          case "user-agent":
530            break;            $header->user_agent= decode_structured_body($value);
         case "x-face:":  
 //          echo "<p>-".base64_decode($value)."-</p>";  
531            break;            break;
532    */
533        }        }
534    }    }
535    if (!isset($header->content_type[0]))    if (!isset($header->content_type[0]))
# Line 565  function parse_header($hdr,$number="") { Line 540  function parse_header($hdr,$number="") {
540    return $header;    return $header;
541  }  }
542    
543    function decode_unstructured_body ($body) {
544      $patterns = array (
545          "/(=\\?[^\\x00-\\x20()<>@,;:\\\"\\/\\[\\]?.=\\x7F]+\\?[BQ]\\?[^\\x00-\\x20\\x3F\\x7F]*\\?=)/ei",
546      );
547      $replace = array (
548          "mb_decode_mimeheader('\\1')",
549      );
550      return preg_replace ($patterns, $replace,
551                           mb_convert_encoding(fake_jisx0213($body), "EUC-JP", "auto"));
552    }
553    
554    function decode_structured_body ($body) {
555      $patterns = array (
556          "/\"((?:[^\"\\\\]+|\\\\.)*)\"/e",
557          "/\(((?:[^()\\\\]+|\\\\.|(?:\((?:[^()\\\\]+|\\\\.|(?:\((?:[^)\\\\]+|\\\\.\)*\))*\)))*)))\)/e",
558      );
559      $replace = array (
560        "mb_convert_encoding(fake_jisx0213(decode_quoted_pair('\\1')),'EUC-JP','auto')",
561        "'('.mb_convert_encoding(fake_jisx0213(decode_quoted_pair('\\1')),
562                                 'EUC-JP','auto').')'",
563      );
564      return preg_replace ($patterns, $replace, $body);
565    }
566    
567    function decode_quoted_pair($value) {
568      $value = ereg_replace('\\\\(\\\\")', "\\1", $value);
569      return ereg_replace('\\\\(.)', "\\1", $value);
570    }
571    
572    function fake_jisx0213 ($value) {
573      $value = preg_replace ("/\\x1B\\\$\\(O/", "\x1B\\\$B", $value);
574      $value = preg_replace ("/\\x1B\\\$\\(P/", "\x1B\\\$(D", $value);
575      return $value;
576    }
577    
578  function decode_body($body,$encoding) {  function decode_body($body,$encoding) {
579    $bodyzeile="";    $bodyzeile="";
580    switch ($encoding) {    switch ($encoding) {
# Line 682  function parse_message($rawmessage) { Line 692  function parse_message($rawmessage) {
692  //      if ($body=="") $body=" ";  //      if ($body=="") $body=" ";
693  //    }  //    }
694      $body=decode_body($body,$message->header->content_transfer_encoding);      $body=decode_body($body,$message->header->content_transfer_encoding);
695      $message->body[0]=$body;      $message->body[0] = mb_convert_encoding($body, "EUC-JP", "auto");
696    }    }
697      if (!isset($message->header->content_type_charset))      if (!isset($message->header->content_type_charset))
698        $message->header->content_type_charset=array("ISO-8859-1");        $message->header->content_type_charset=array("ISO-8859-1");
# Line 754  function read_message($id,$bodynum=0,$gr Line 764  function read_message($id,$bodynum=0,$gr
764        return false;        return false;
765      $rawmessage=array();      $rawmessage=array();
766      $line=lieszeile($ns);      $line=lieszeile($ns);
767   $line=mb_convert_encoding($line, "EUC-JP", "ISO-2022-JP");   #$line=mb_convert_encoding($line, "EUC-JP", "ISO-2022-JP");
768      while(strcmp($line,".") != 0) {      while(strcmp($line,".") != 0) {
769        $rawmessage[]=$line;        $rawmessage[]=$line;
770        $line=lieszeile($ns);        $line=lieszeile($ns);
771   $line=mb_convert_encoding($line, "EUC-JP", "ISO-2022-JP");   #$line=mb_convert_encoding($line, "EUC-JP", "ISO-2022-JP");
772      }      }
773      $message=parse_message($rawmessage);      $message=parse_message($rawmessage);
774      if (ereg('^[0-9]+$',$id)) $message->header->number=$id;      if (ereg('^[0-9]+$',$id)) $message->header->number=$id;
# Line 843  function html_parse($comment, $group = " Line 853  function html_parse($comment, $group = "
853    return($comment);    return($comment);
854  }  }
855    
856    function uri_to_link($comment, $group = "", $msgidregex = "") {
857      global $frame_externallink;
858      global $file_article;
859      $comment = preg_replace (
860         '"((?:https?|mailto|urn|news|ftp|irc|mid|data|nntp|gother)):((?:[-_.!~*\'()A-Z0-9:;@=+$,%?/]+|&amp;)+)(#(?:[-_.!~*\'()A-Z0-9;/?:@&=+$,%]+|&amp;)+)?"ie',
861         'uri_to_link_uri("\1", "\2", "\3")',
862      $comment);
863      return($comment);
864    }
865    
866    function uri_to_link_uri ($scheme, $body, $fragment) {
867      global $file_article;
868      switch (strtolower($scheme)) {
869        case "urn":
870        case "data":
871          $uri = '/uri-res/N2L?'.urlencode($scheme.':'.$body);
872          break;
873        case "news":
874          if (!preg_match('"^//"', $body)) {
875            $uri = "../../".addslashes($file_article).'/junk/%3C'.$nbody.'%3E';
876          } else {
877            $uri = $scheme.':'.$body;
878          }
879          break;
880        case "mid":
881          $nbody = preg_replace('"/.*$"', "", $body);
882          $uri = "../../".addslashes($file_article).'/junk/%3C'.$nbody.'%3E';
883          break;
884        default:
885          $uri = $scheme.':'.$body;
886          break;
887      }
888      $uri = $uri . $fragment;
889      if (!empty($uri)) {
890        $uri = '<a href="'.$uri.'">'.$scheme.':'.$body.$fragment.'</a>';
891      }
892      return $uri;
893    }
894    
895    
896    
# Line 906  function interpretOverviewLine($zeile,$o Line 954  function interpretOverviewLine($zeile,$o
954        $article->subject=$subject;        $article->subject=$subject;
955      }      }
956      if ($overviewfmt[$i]=="Date:") {      if ($overviewfmt[$i]=="Date:") {
957        $article->date=getTimestamp($over[$i+1]);        $article->date = strtotime($over[$i+1]);
958      }      }
959      if ($overviewfmt[$i]=="From:") {      if ($overviewfmt[$i]=="From:") {
960        $fromline=address_decode(headerDecode($over[$i+1]),"nirgendwo");        $fromline=address_decode(headerDecode($over[$i+1]),"nirgendwo");
# Line 1177  function formatTreeGraphic($newtree) { Line 1225  function formatTreeGraphic($newtree) {
1225          break;          break;
1226        }        }
1227      $return .= '" alt="'.$alt.'"';      $return .= '" alt="'.$alt.'"';
1228      if (strcmp($k,".") == 0) $return .=(' width="12" height="9"');      if (strcmp($k,".") == 0) $return .=(' style="width: 12px; height: 9px"');
1229      $return .= ' />';      $return .= '>';
1230    }    }
1231    return($return);    return($return);
1232  }  }
# Line 1256  function showThread(&$headers,&$liste,$d Line 1304  function showThread(&$headers,&$liste,$d
1304            echo "<br>\n";            echo "<br>\n";
1305            break;            break;
1306          case 1: // html-auflistung, kein baum          case 1: // html-auflistung, kein baum
1307            echo "<li><nobr>".$thread_fontPre;            echo "<li>".$thread_fontPre;
1308            if ($thread_showDate)            if ($thread_showDate)
1309              echo formatDate($c)." ";              echo formatDate($c)." ";
1310            if ($thread_showSubject)            if ($thread_showSubject)
1311              echo formatSubject($c,$group)." ";              echo formatSubject($c,$group)." ";
1312            if ($thread_showAuthor)            if ($thread_showAuthor)
1313              echo "<i>(".formatAuthor($c).")</i>";              echo "<em>(".formatAuthor($c).")</em>";
1314            echo $thread_fontPost."</nobr></li>";            echo $thread_fontPost."</li>";
1315            break;            break;
1316          case 2:   // table          case 2:   // table
1317            echo "<tr>";            echo "<tr>";
# Line 1275  function showThread(&$headers,&$liste,$d Line 1323  function showThread(&$headers,&$liste,$d
1323            }            }
1324            if ($thread_showAuthor) {            if ($thread_showAuthor) {
1325              echo "<td></td>";              echo "<td></td>";
1326              echo '<td nowrap="nowrap">'.$thread_fontPre.formatAuthor($c);              echo '<td>'.$thread_fontPre.formatAuthor($c);
1327              echo $thread_fontPost."</td>";              echo $thread_fontPost."</td>";
1328            }            }
1329            echo "</tr>\n";            echo "</tr>\n";
1330            break;            break;
1331          case 3: // html-tree          case 3: // html-tree
1332            echo "<li><nobr>".$thread_fontPre;            echo "<li>".$thread_fontPre;
1333            if ($thread_showDate)            if ($thread_showDate)
1334              echo formatDate($c)." ";              echo formatDate($c)." ";
1335            if ($thread_showSubject)            if ($thread_showSubject)
1336              echo formatSubject($c,$group)." ";              echo formatSubject($c,$group)." ";
1337            if ($thread_showAuthor)            if ($thread_showAuthor)
1338              echo "<i>(".formatAuthor($c).")</i>";              echo "<em>(".formatAuthor($c).")</em>";
1339            echo $thread_fontPost."</nobr>\n";            echo $thread_fontPost."\n";
1340            break;            break;
1341          case 4:  // thread          case 4:  // thread
1342            echo "<nobr><tt>".$thread_fontPre;            echo "".$thread_fontPre;
1343            if ($thread_showDate)            if ($thread_showDate)
1344              echo formatDate($c)." ";              echo formatDate($c)." ";
1345            echo formatTreeText($newtree)." ";            echo formatTreeText($newtree)." ";
1346            if ($thread_showSubject)            if ($thread_showSubject)
1347              echo formatSubject($c,$group)." ";              echo formatSubject($c,$group)." ";
1348            if ($thread_showAuthor)            if ($thread_showAuthor)
1349              echo "<i>(".formatAuthor($c).")</i>";              echo "<em>(".formatAuthor($c).")</em>";
1350            echo $thread_fontPost."</tt></nobr><br>";            echo $thread_fontPost."<br>";
1351            break;            break;
1352          case 5:  // thread, graphic          case 5:  // thread, graphic
1353            echo "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr>\n";            echo "<table><tr>\n";
1354            if ($thread_showDate)            if ($thread_showDate)
1355              echo '<td nowrap="nowrap">'.$thread_fontPre.formatDate($c)." ".$thread_fontPost."</td>";              echo '<td>'.$thread_fontPre.formatDate($c)." ".$thread_fontPost."</td>";
1356            echo "<td>".$thread_fontPre.formatTreeGraphic($newtree).$thread_fontPost."</td>";            echo "<td>".$thread_fontPre.formatTreeGraphic($newtree).$thread_fontPost."</td>";
1357            if ($thread_showSubject)            if ($thread_showSubject)
1358              echo '<td nowrap="nowrap">'.$thread_fontPre."&nbsp;".formatSubject($c,$group)." ";              echo '<td>'.$thread_fontPre."&nbsp;".formatSubject($c,$group)." ";
1359            if ($thread_showAuthor)            if ($thread_showAuthor)
1360              echo "(".formatAuthor($c).")".$thread_fontPost."</td>";              echo "(".formatAuthor($c).")".$thread_fontPost."</td>";
1361            echo "</tr></table>";            echo "</tr></table>";
# Line 1315  function showThread(&$headers,&$liste,$d Line 1363  function showThread(&$headers,&$liste,$d
1363          case 6:  // thread, table          case 6:  // thread, table
1364            echo "<tr>";            echo "<tr>";
1365            if ($thread_showDate)            if ($thread_showDate)
1366              echo '<td nowrap="nowrap"><tt>'.$thread_fontPre.formatDate($c)." ".$thread_fontPost."</tt></td>";              echo '<td>'.$thread_fontPre.formatDate($c)." ".$thread_fontPost."</td>";
1367            echo '<td nowrap="nowrap"><tt>'.$thread_fontPre.formatTreeText($newtree)." ";            echo '<td>'.$thread_fontPre.formatTreeText($newtree)." ";
1368            if ($thread_showSubject) {            if ($thread_showSubject) {
1369              echo formatSubject($c,$group).$thread_fontPost."</tt></td>";              echo formatSubject($c,$group).$thread_fontPost."</td>";
1370              echo "<td></td>";              echo "<td></td>";
1371            }            }
1372            if ($thread_showAuthor)            if ($thread_showAuthor)
1373              echo '<td nowrap="nowrap"><tt>'.$thread_fontPre.formatAuthor($c).$thread_fontPost."</tt></td>";              echo '<td>'.$thread_fontPre.formatAuthor($c).$thread_fontPost."</td>";
1374            echo "</tr>";            echo "</tr>";
1375            break;            break;
1376          case 7:  // thread, table, graphic          case 7:  // thread, table, graphic
1377            echo "<tr>";            echo "<tr>";
1378            if ($thread_showDate)            if ($thread_showDate)
1379              echo '<td nowrap="nowrap">'.$thread_fontPre.formatDate($c)." ".$thread_fontPost."</td>";              echo '<td>'.$thread_fontPre.formatDate($c)." ".$thread_fontPost."</td>";
1380            echo "<td><table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n";            echo "<td><table>\n";
1381            echo "<td>".formatTreeGraphic($newtree)."</td>";            echo "<td>".formatTreeGraphic($newtree)."</td>";
1382            if ($thread_showSubject)            if ($thread_showSubject)
1383              echo '<td nowrap="nowrap">'.$thread_fontPre."&nbsp;".formatSubject($c,$group).$thread_fontPost."</td>";              echo '<td>'.$thread_fontPre."&nbsp;".formatSubject($c,$group).$thread_fontPost."</td>";
1384            echo "</table></td>";            echo "</table></td>";
1385            if ($thread_showSubject) echo "<td></td>";            if ($thread_showSubject) echo "<td></td>";
1386            if ($thread_showAuthor)            if ($thread_showAuthor)
1387              echo '<td nowrap="nowrap">'.$thread_fontPre.formatAuthor($c).$thread_fontPost."</td>";              echo '<td>'.$thread_fontPre.formatAuthor($c).$thread_fontPost."</td>";
1388            echo "</tr>";            echo "</tr>";
1389            break;            break;
1390        }        }
# Line 1472  function show_header($head,$group) { Line 1520  function show_header($head,$group) {
1520      echo $text_header["newsgroups"].htmlspecialchars(str_replace(',',', ',$head->newsgroups))."<br>\n";      echo $text_header["newsgroups"].htmlspecialchars(str_replace(',',', ',$head->newsgroups))."<br>\n";
1521    if (isset($head->followup) && ($article_show["Followup"]) && ($head->followup != ""))    if (isset($head->followup) && ($article_show["Followup"]) && ($head->followup != ""))
1522      echo $text_header["followup"].htmlspecialchars($head->followup)."<br>\n";      echo $text_header["followup"].htmlspecialchars($head->followup)."<br>\n";
   if ((isset($head->organization)) && ($article_show["Organization"]) &&  
      ($head->organization != ""))  
     echo $text_header["organization"].  
          html_parse(htmlspecialchars($head->organization))."<br>\n";  
1523    if ($article_show["Date"])    if ($article_show["Date"])
1524      echo $text_header["date"].date($text_header["date_format"],$head->date)."<br>\n";      echo $text_header["date"].date($text_header["date_format"],$head->date)."<br>\n";
1525    if ($article_show["Message-ID"])    if ($article_show["Message-ID"])
# Line 1490  function show_header($head,$group) { Line 1534  function show_header($head,$group) {
1534      }      }
1535      echo "<br>";      echo "<br>";
1536    }    }
1537    if (isset($head->user_agent)) {    $fields = array ("x-moe", "x-brother", "x-syster", "x-wife",
1538      if ((isset($article_show["User-Agent"])) &&                     "x-daughter", "x-respect",
1539         ($article_show["User-Agent"])) {                     "user-agent", "x-mailer", "x-newsreader",
1540        echo $text_header["user-agent"].htmlspecialchars($head->user_agent)."<br>\n";                     "list-id", "x-uri", "x-mail-count", "keywords");
1541      } else {    for ($i = 0; $i < count($fields); $i++) {
1542        echo "<!-- User-Agent: ".htmlspecialchars($head->user_agent)." -->\n";      if (count($head->field[$fields[$i]])) {
1543          if ((isset($article_show[$fields[$i]])) && ($article_show[$fields[$i]])) {
1544            echo "<div class=\"field ".$fields[$i]."\"><span class=\"name\">"
1545                .$text_header[$fields[$i]]."</span> <span class=\"body\">"
1546                .uri_to_link(htmlspecialchars(decode_structured_body(
1547                                    join(', ', $head->field[$fields[$i]]))))
1548                ."</span></div>\n";
1549          }
1550        }
1551      }
1552      $fields = array ("x-weather", "x-copyright", "comments", "organization");
1553      for ($i = 0; $i < count($fields); $i++) {
1554        if (count($head->field[$fields[$i]])) {
1555          if ((isset($article_show[$fields[$i]])) && ($article_show[$fields[$i]])) {
1556            for ($j = 0; $j > count($head->field[$fields[$i]]); $j++) {
1557              echo "<div class=\"field ".$fields[$i]."\"><span class=\"name\">"
1558                  .$text_header[$fields[$i]]."</span> <span class=\"body\">"
1559                  .uri_to_link(htmlspecialchars(decode_unstructured_body(
1560                                               $head->field[$fields[$i]][$j])))
1561                  ."</span></div>\n";
1562            }
1563          }
1564      }      }
1565    }    }
1566    if ((isset($attachment_show)) && ($attachment_show==true) &&    if ((isset($attachment_show)) && ($attachment_show==true) &&
# Line 1564  function show_article($group,$id,$attach Line 1629  function show_article($group,$id,$attach
1629  //        }  //        }
1630  //      echo $body[$i]."\n";  //      echo $body[$i]."\n";
1631          $b=$body[$i];          $b=$body[$i];
1632          echo html_parse(htmlspecialchars($b)."\n", $group, $msgidregex);          echo uri_to_link(htmlspecialchars($b)."\n", $group, $msgidregex);
1633        }        }
1634        echo "\n</pre>\n";        echo "\n</pre>\n";
1635      } else {      } else {
# Line 1667  function quoted_printable_encode($line) Line 1732  function quoted_printable_encode($line)
1732   * $body: The article itself   * $body: The article itself
1733   */   */
1734  function verschicken($subject,$from,$newsgroups,$ref,$body) {  function verschicken($subject,$from,$newsgroups,$ref,$body) {
1735    global $server,$port,$send_poster_host,$organization,$text_error;    global $server,$port,$send_poster_host,$organization,$text_error,$text_ua;
1736    global $file_footer;    global $file_footer;
1737    flush();    flush();
1738    $ns=OpenNNTPconnection($server,$port);    $ns=OpenNNTPconnection($server,$port);
# Line 1675  function verschicken($subject,$from,$new Line 1740  function verschicken($subject,$from,$new
1740      fputs($ns,"post\r\n");      fputs($ns,"post\r\n");
1741      $weg=lieszeile($ns);      $weg=lieszeile($ns);
1742  //    fputs($ns,'Subject: '.quoted_printable_encode($subject)."\r\n");  //    fputs($ns,'Subject: '.quoted_printable_encode($subject)."\r\n");
1743  //    fputs($ns,'Subject: '.mb_convert_encoding($subject, "ISO-2022-JP", "EUC-JP")."\r\n");      fputs($ns,'Subject: '.mb_convert_encoding($subject, "ISO-2022-JP", "EUC-JP")."\r\n");
1744      fputs($ns,'Subject: '.mb_encode_mimeheader($subject)."\r\n");  //    fputs($ns,'Subject: '.mb_encode_mimeheader($subject)."\r\n");
1745      fputs($ns,'From: '.$from."\r\n");      fputs($ns,'From: '.$from."\r\n");
1746      fputs($ns,'Newsgroups: '.$newsgroups."\r\n");      fputs($ns,'Newsgroups: '.$newsgroups."\r\n");
1747  //    fputs($ns,"Mime-Version: 1.0\r\n");  //    fputs($ns,"Mime-Version: 1.0\r\n");
1748  //    fputs($ns,"Content-Type: text/plain; charset=ISO-8859-1\r\n");  //    fputs($ns,"Content-Type: text/plain; charset=ISO-8859-1\r\n");
1749  //    fputs($ns,"Content-Transfer-Encoding: 8bit\r\n");  //    fputs($ns,"Content-Transfer-Encoding: 8bit\r\n");
1750      fputs($ns,"User-Agent: NewsPortal 0.24pre3\r\n");      fputs($ns,"User-Agent: ".$text_ua["user_agent"]."\r\n");
1751      if ($send_poster_host)      if ($send_poster_host)
1752        fputs($ns,'X-HTTP-Posting-Host: '.gethostbyaddr(getenv("REMOTE_ADDR"))."\r\n");        fputs($ns,'X-HTTP-Posting-Host: '.gethostbyaddr(getenv("REMOTE_ADDR"))."\r\n");
1753      if ($ref!=false) fputs($ns,'References: '.$ref."\r\n");      if ($ref!=false) fputs($ns,'References: '.$ref."\r\n");

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.37

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24