/[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.35 by wakaba, Mon Feb 11 13:35:52 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 urlencode (str_replace ('.', ':', $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          "/\(((?:[^()\\\\]+|\\\\.|(?:\((?:[^()\\\\]+|\\\\.|(?:\((?:[^)\\\\]+|\\\\.\
558    )*\)))*\)))*)\)/e",
559      );
560      $replace = array (
561        "mb_convert_encoding(fake_jisx0213(decode_quoted_pair('\\1')),'EUC-JP','auto')",
562        "'('.mb_convert_encoding(fake_jisx0213(decode_quoted_pair('\\1')),
563                                 'EUC-JP','auto').')'",
564      );
565      return preg_replace ($patterns, $replace, $body);
566    }
567    
568    function decode_quoted_pair($value) {
569      $value = ereg_replace('\\\\(\\\\")', "\\1", $value);
570      return ereg_replace('\\\\(.)', "\\1", $value);
571    }
572    
573    function fake_jisx0213 ($value) {
574      $value = preg_replace ("/\\x1B\\\$\\(O/", "\x1B\\\$B", $value);
575      $value = preg_replace ("/\\x1B\\\$\\(P/", "\x1B\\\$(D", $value);
576      return $value;
577    }
578    
579  function decode_body($body,$encoding) {  function decode_body($body,$encoding) {
580    $bodyzeile="";    $bodyzeile="";
581    switch ($encoding) {    switch ($encoding) {
# Line 682  function parse_message($rawmessage) { Line 693  function parse_message($rawmessage) {
693  //      if ($body=="") $body=" ";  //      if ($body=="") $body=" ";
694  //    }  //    }
695      $body=decode_body($body,$message->header->content_transfer_encoding);      $body=decode_body($body,$message->header->content_transfer_encoding);
696      $message->body[0]=$body;      $message->body[0] = mb_convert_encoding($body, "EUC-JP", "auto");
697    }    }
698      if (!isset($message->header->content_type_charset))      if (!isset($message->header->content_type_charset))
699        $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 765  function read_message($id,$bodynum=0,$gr
765        return false;        return false;
766      $rawmessage=array();      $rawmessage=array();
767      $line=lieszeile($ns);      $line=lieszeile($ns);
768   $line=mb_convert_encoding($line, "EUC-JP", "ISO-2022-JP");   #$line=mb_convert_encoding($line, "EUC-JP", "ISO-2022-JP");
769      while(strcmp($line,".") != 0) {      while(strcmp($line,".") != 0) {
770        $rawmessage[]=$line;        $rawmessage[]=$line;
771        $line=lieszeile($ns);        $line=lieszeile($ns);
772   $line=mb_convert_encoding($line, "EUC-JP", "ISO-2022-JP");   #$line=mb_convert_encoding($line, "EUC-JP", "ISO-2022-JP");
773      }      }
774      $message=parse_message($rawmessage);      $message=parse_message($rawmessage);
775      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 854  function html_parse($comment, $group = "
854    return($comment);    return($comment);
855  }  }
856    
857    function uri_to_link($comment, $group = "", $msgidregex = "") {
858      global $frame_externallink;
859      global $file_article;
860      $comment = preg_replace (
861         '"((?:https?|mailto|urn|news|ftp|irc|mid|data|nntp|gother)):((?:[-_.!~*\'()A-Z0-9:;@=+$,%?/]+|&amp;)+)(#(?:[-_.!~*\'()A-Z0-9;/?:@&=+$,%]+|&amp;)+)?"ie',
862         'uri_to_link_uri("\1", "\2", "\3")',
863      $comment);
864      return($comment);
865    }
866    
867    function uri_to_link_uri ($scheme, $body, $fragment) {
868      global $file_article;
869      switch (strtolower($scheme)) {
870        case "urn":
871        case "data":
872          $uri = '/uri-res/N2L?'.urlencode($scheme.':'.$body);
873          break;
874        case "news":
875          if (!preg_match('"^//"', $body)) {
876            $uri = "../../".addslashes($file_article).'/junk/%3C'.$nbody.'%3E';
877          } else {
878            $uri = $scheme.':'.$body;
879          }
880          break;
881        case "mid":
882          $nbody = preg_replace('"/.*$"', "", $body);
883          $uri = "../../".addslashes($file_article).'/junk/%3C'.$nbody.'%3E';
884          break;
885        default:
886          $uri = $scheme.':'.$body;
887          break;
888      }
889      $uri = $uri . $fragment;
890      if (!empty($uri)) {
891        $uri = '<a href="'.$uri.'">'.$scheme.':'.$body.$fragment.'</a>';
892      }
893      return $uri;
894    }
895    
896    
897    
# Line 906  function interpretOverviewLine($zeile,$o Line 955  function interpretOverviewLine($zeile,$o
955        $article->subject=$subject;        $article->subject=$subject;
956      }      }
957      if ($overviewfmt[$i]=="Date:") {      if ($overviewfmt[$i]=="Date:") {
958        $article->date=getTimestamp($over[$i+1]);        $article->date = strtotime($over[$i+1]);
959      }      }
960      if ($overviewfmt[$i]=="From:") {      if ($overviewfmt[$i]=="From:") {
961        $fromline=address_decode(headerDecode($over[$i+1]),"nirgendwo");        $fromline=address_decode(headerDecode($over[$i+1]),"nirgendwo");
# Line 1177  function formatTreeGraphic($newtree) { Line 1226  function formatTreeGraphic($newtree) {
1226          break;          break;
1227        }        }
1228      $return .= '" alt="'.$alt.'"';      $return .= '" alt="'.$alt.'"';
1229      if (strcmp($k,".") == 0) $return .=(' width="12" height="9"');      if (strcmp($k,".") == 0) $return .=(' style="width: 12px; height: 9px"');
1230      $return .= ' />';      $return .= '>';
1231    }    }
1232    return($return);    return($return);
1233  }  }
# Line 1256  function showThread(&$headers,&$liste,$d Line 1305  function showThread(&$headers,&$liste,$d
1305            echo "<br>\n";            echo "<br>\n";
1306            break;            break;
1307          case 1: // html-auflistung, kein baum          case 1: // html-auflistung, kein baum
1308            echo "<li><nobr>".$thread_fontPre;            echo "<li>".$thread_fontPre;
1309            if ($thread_showDate)            if ($thread_showDate)
1310              echo formatDate($c)." ";              echo formatDate($c)." ";
1311            if ($thread_showSubject)            if ($thread_showSubject)
1312              echo formatSubject($c,$group)." ";              echo formatSubject($c,$group)." ";
1313            if ($thread_showAuthor)            if ($thread_showAuthor)
1314              echo "<i>(".formatAuthor($c).")</i>";              echo "<em>(".formatAuthor($c).")</em>";
1315            echo $thread_fontPost."</nobr></li>";            echo $thread_fontPost."</li>";
1316            break;            break;
1317          case 2:   // table          case 2:   // table
1318            echo "<tr>";            echo "<tr>";
# Line 1275  function showThread(&$headers,&$liste,$d Line 1324  function showThread(&$headers,&$liste,$d
1324            }            }
1325            if ($thread_showAuthor) {            if ($thread_showAuthor) {
1326              echo "<td></td>";              echo "<td></td>";
1327              echo '<td nowrap="nowrap">'.$thread_fontPre.formatAuthor($c);              echo '<td>'.$thread_fontPre.formatAuthor($c);
1328              echo $thread_fontPost."</td>";              echo $thread_fontPost."</td>";
1329            }            }
1330            echo "</tr>\n";            echo "</tr>\n";
1331            break;            break;
1332          case 3: // html-tree          case 3: // html-tree
1333            echo "<li><nobr>".$thread_fontPre;            echo "<li>".$thread_fontPre;
1334            if ($thread_showDate)            if ($thread_showDate)
1335              echo formatDate($c)." ";              echo formatDate($c)." ";
1336            if ($thread_showSubject)            if ($thread_showSubject)
1337              echo formatSubject($c,$group)." ";              echo formatSubject($c,$group)." ";
1338            if ($thread_showAuthor)            if ($thread_showAuthor)
1339              echo "<i>(".formatAuthor($c).")</i>";              echo "<em>(".formatAuthor($c).")</em>";
1340            echo $thread_fontPost."</nobr>\n";            echo $thread_fontPost."\n";
1341            break;            break;
1342          case 4:  // thread          case 4:  // thread
1343            echo "<nobr><tt>".$thread_fontPre;            echo "".$thread_fontPre;
1344            if ($thread_showDate)            if ($thread_showDate)
1345              echo formatDate($c)." ";              echo formatDate($c)." ";
1346            echo formatTreeText($newtree)." ";            echo formatTreeText($newtree)." ";
1347            if ($thread_showSubject)            if ($thread_showSubject)
1348              echo formatSubject($c,$group)." ";              echo formatSubject($c,$group)." ";
1349            if ($thread_showAuthor)            if ($thread_showAuthor)
1350              echo "<i>(".formatAuthor($c).")</i>";              echo "<em>(".formatAuthor($c).")</em>";
1351            echo $thread_fontPost."</tt></nobr><br>";            echo $thread_fontPost."<br>";
1352            break;            break;
1353          case 5:  // thread, graphic          case 5:  // thread, graphic
1354            echo "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr>\n";            echo "<table><tr>\n";
1355            if ($thread_showDate)            if ($thread_showDate)
1356              echo '<td nowrap="nowrap">'.$thread_fontPre.formatDate($c)." ".$thread_fontPost."</td>";              echo '<td>'.$thread_fontPre.formatDate($c)." ".$thread_fontPost."</td>";
1357            echo "<td>".$thread_fontPre.formatTreeGraphic($newtree).$thread_fontPost."</td>";            echo "<td>".$thread_fontPre.formatTreeGraphic($newtree).$thread_fontPost."</td>";
1358            if ($thread_showSubject)            if ($thread_showSubject)
1359              echo '<td nowrap="nowrap">'.$thread_fontPre."&nbsp;".formatSubject($c,$group)." ";              echo '<td>'.$thread_fontPre."&nbsp;".formatSubject($c,$group)." ";
1360            if ($thread_showAuthor)            if ($thread_showAuthor)
1361              echo "(".formatAuthor($c).")".$thread_fontPost."</td>";              echo "(".formatAuthor($c).")".$thread_fontPost."</td>";
1362            echo "</tr></table>";            echo "</tr></table>";
# Line 1315  function showThread(&$headers,&$liste,$d Line 1364  function showThread(&$headers,&$liste,$d
1364          case 6:  // thread, table          case 6:  // thread, table
1365            echo "<tr>";            echo "<tr>";
1366            if ($thread_showDate)            if ($thread_showDate)
1367              echo '<td nowrap="nowrap"><tt>'.$thread_fontPre.formatDate($c)." ".$thread_fontPost."</tt></td>";              echo '<td>'.$thread_fontPre.formatDate($c)." ".$thread_fontPost."</td>";
1368            echo '<td nowrap="nowrap"><tt>'.$thread_fontPre.formatTreeText($newtree)." ";            echo '<td>'.$thread_fontPre.formatTreeText($newtree)." ";
1369            if ($thread_showSubject) {            if ($thread_showSubject) {
1370              echo formatSubject($c,$group).$thread_fontPost."</tt></td>";              echo formatSubject($c,$group).$thread_fontPost."</td>";
1371              echo "<td></td>";              echo "<td></td>";
1372            }            }
1373            if ($thread_showAuthor)            if ($thread_showAuthor)
1374              echo '<td nowrap="nowrap"><tt>'.$thread_fontPre.formatAuthor($c).$thread_fontPost."</tt></td>";              echo '<td>'.$thread_fontPre.formatAuthor($c).$thread_fontPost."</td>";
1375            echo "</tr>";            echo "</tr>";
1376            break;            break;
1377          case 7:  // thread, table, graphic          case 7:  // thread, table, graphic
1378            echo "<tr>";            echo "<tr>";
1379            if ($thread_showDate)            if ($thread_showDate)
1380              echo '<td nowrap="nowrap">'.$thread_fontPre.formatDate($c)." ".$thread_fontPost."</td>";              echo '<td>'.$thread_fontPre.formatDate($c)." ".$thread_fontPost."</td>";
1381            echo "<td><table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n";            echo "<td><table>\n";
1382            echo "<td>".formatTreeGraphic($newtree)."</td>";            echo "<td>".formatTreeGraphic($newtree)."</td>";
1383            if ($thread_showSubject)            if ($thread_showSubject)
1384              echo '<td nowrap="nowrap">'.$thread_fontPre."&nbsp;".formatSubject($c,$group).$thread_fontPost."</td>";              echo '<td>'.$thread_fontPre."&nbsp;".formatSubject($c,$group).$thread_fontPost."</td>";
1385            echo "</table></td>";            echo "</table></td>";
1386            if ($thread_showSubject) echo "<td></td>";            if ($thread_showSubject) echo "<td></td>";
1387            if ($thread_showAuthor)            if ($thread_showAuthor)
1388              echo '<td nowrap="nowrap">'.$thread_fontPre.formatAuthor($c).$thread_fontPost."</td>";              echo '<td>'.$thread_fontPre.formatAuthor($c).$thread_fontPost."</td>";
1389            echo "</tr>";            echo "</tr>";
1390            break;            break;
1391        }        }
# Line 1472  function show_header($head,$group) { Line 1521  function show_header($head,$group) {
1521      echo $text_header["newsgroups"].htmlspecialchars(str_replace(',',', ',$head->newsgroups))."<br>\n";      echo $text_header["newsgroups"].htmlspecialchars(str_replace(',',', ',$head->newsgroups))."<br>\n";
1522    if (isset($head->followup) && ($article_show["Followup"]) && ($head->followup != ""))    if (isset($head->followup) && ($article_show["Followup"]) && ($head->followup != ""))
1523      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";  
1524    if ($article_show["Date"])    if ($article_show["Date"])
1525      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";
1526    if ($article_show["Message-ID"])    if ($article_show["Message-ID"])
# Line 1490  function show_header($head,$group) { Line 1535  function show_header($head,$group) {
1535      }      }
1536      echo "<br>";      echo "<br>";
1537    }    }
1538    if (isset($head->user_agent)) {    $fields = array ("x-moe", "x-brother", "x-syster", "x-wife",
1539      if ((isset($article_show["User-Agent"])) &&                     "x-daughter", "x-respect",
1540         ($article_show["User-Agent"])) {                     "user-agent", "x-mailer", "x-newsreader",
1541        echo $text_header["user-agent"].htmlspecialchars($head->user_agent)."<br>\n";                     "list-id", "x-uri", "x-mail-count", "keywords");
1542      } else {    for ($i = 0; $i < count($fields); $i++) {
1543        echo "<!-- User-Agent: ".htmlspecialchars($head->user_agent)." -->\n";      if (count($head->field[$fields[$i]])) {
1544          if ((isset($article_show[$fields[$i]])) && ($article_show[$fields[$i]])) {
1545            echo "<div class=\"field ".$fields[$i]."\"><span class=\"name\">"
1546                .$text_header[$fields[$i]]."</span> <span class=\"body\">"
1547                .uri_to_link(htmlspecialchars(decode_structured_body(
1548                                    join(', ', $head->field[$fields[$i]]))))
1549                ."</span></div>\n";
1550          }
1551        }
1552      }
1553      $fields = array ("x-weather", "x-copyright", "comments", "organization");
1554      for ($i = 0; $i < count($fields); $i++) {
1555        if (count($head->field[$fields[$i]])) {
1556          if ((isset($article_show[$fields[$i]])) && ($article_show[$fields[$i]])) {
1557            for ($j = 0; $j > count($head->field[$fields[$i]]); $j++) {
1558              echo "<div class=\"field ".$fields[$i]."\"><span class=\"name\">"
1559                  .$text_header[$fields[$i]]."</span> <span class=\"body\">"
1560                  .uri_to_link(htmlspecialchars(decode_unstructured_body(
1561                                               $head->field[$fields[$i]][$j])))
1562                  ."</span></div>\n";
1563            }
1564          }
1565      }      }
1566    }    }
1567    if ((isset($attachment_show)) && ($attachment_show==true) &&    if ((isset($attachment_show)) && ($attachment_show==true) &&
# Line 1564  function show_article($group,$id,$attach Line 1630  function show_article($group,$id,$attach
1630  //        }  //        }
1631  //      echo $body[$i]."\n";  //      echo $body[$i]."\n";
1632          $b=$body[$i];          $b=$body[$i];
1633          echo html_parse(htmlspecialchars($b)."\n", $group, $msgidregex);          echo uri_to_link(htmlspecialchars($b)."\n", $group, $msgidregex);
1634        }        }
1635        echo "\n</pre>\n";        echo "\n</pre>\n";
1636      } else {      } else {
# Line 1667  function quoted_printable_encode($line) Line 1733  function quoted_printable_encode($line)
1733   * $body: The article itself   * $body: The article itself
1734   */   */
1735  function verschicken($subject,$from,$newsgroups,$ref,$body) {  function verschicken($subject,$from,$newsgroups,$ref,$body) {
1736    global $server,$port,$send_poster_host,$organization,$text_error;    global $server,$port,$send_poster_host,$organization,$text_error,$text_ua;
1737    global $file_footer;    global $file_footer;
1738    flush();    flush();
1739    $ns=OpenNNTPconnection($server,$port);    $ns=OpenNNTPconnection($server,$port);
# Line 1675  function verschicken($subject,$from,$new Line 1741  function verschicken($subject,$from,$new
1741      fputs($ns,"post\r\n");      fputs($ns,"post\r\n");
1742      $weg=lieszeile($ns);      $weg=lieszeile($ns);
1743  //    fputs($ns,'Subject: '.quoted_printable_encode($subject)."\r\n");  //    fputs($ns,'Subject: '.quoted_printable_encode($subject)."\r\n");
1744  //    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");
1745      fputs($ns,'Subject: '.mb_encode_mimeheader($subject)."\r\n");  //    fputs($ns,'Subject: '.mb_encode_mimeheader($subject)."\r\n");
1746      fputs($ns,'From: '.$from."\r\n");      fputs($ns,'From: '.$from."\r\n");
1747      fputs($ns,'Newsgroups: '.$newsgroups."\r\n");      fputs($ns,'Newsgroups: '.$newsgroups."\r\n");
1748  //    fputs($ns,"Mime-Version: 1.0\r\n");  //    fputs($ns,"Mime-Version: 1.0\r\n");
1749  //    fputs($ns,"Content-Type: text/plain; charset=ISO-8859-1\r\n");  //    fputs($ns,"Content-Type: text/plain; charset=ISO-8859-1\r\n");
1750  //    fputs($ns,"Content-Transfer-Encoding: 8bit\r\n");  //    fputs($ns,"Content-Transfer-Encoding: 8bit\r\n");
1751      fputs($ns,"User-Agent: NewsPortal 0.24pre3\r\n");      fputs($ns,"User-Agent: ".$text_ua["user_agent"]."\r\n");
1752      if ($send_poster_host)      if ($send_poster_host)
1753        fputs($ns,'X-HTTP-Posting-Host: '.gethostbyaddr(getenv("REMOTE_ADDR"))."\r\n");        fputs($ns,'X-HTTP-Posting-Host: '.gethostbyaddr(getenv("REMOTE_ADDR"))."\r\n");
1754      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.35

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24