#! /usr/local/bin/perl $Cgi_Main = "./jinro.cgi"; ##################### require './jcode.pl'; &STDIN_QUERY_STRING; &FILEIN_MSG; print "Content-type: text/html\n\n"; print "人狼BBS - $Vil_Name\n"; print "\n"; print "\n"; print "
\n"; print "\"人狼BBS\"
\n"; print "
\n"; print "
$Vil_Name
\n"; print "
    \n"; for($index = 1; $index <= $Day_Count_Max; $index++){ if($index == $Day_Count){ print "
  • $index日目
  • "; }else{ print "
  • $index日目
  • "; } } print "

\n"; print "
\n"; for($index = 0 ; $index < @Msg_Data; $index++ ){ &STDOUT_MSG( $index ); } print "
\n"; print "
$Vil_Name
\n"; print "
    \n"; for($index = 1; $index <= $Day_Count_Max; $index++){ if($index == $Day_Count){ print "
  • $index日目
  • "; }else{ print "
  • $index日目
  • "; } } print "

\n"; print "
\n"; print "
\n"; print "\n"; exit(0); ##################### sub FILEIN_MSG { if( open( LOGFILE, "<./msg.txt" ) ){ flock( LOGFILE, 1 ); ($Vil_Name, $Char_Count, $Day_Count_Max, $Vil_Img, $Vil_Css) = split( /<>/, ); if( $Query_Tbl{'day'} ){ $Day_Count = $Query_Tbl{'day'}; }else{ $Day_Count = $Day_Count_Max; } for($index = 0 ; $index < $Char_Count; $index++ ){ $Char_Data[$index] = ; } $index = 0; while($temp = ){ ($Msg_Date, $Msg_Type, $Msg_Char_Index, $Msg_Time, $Msg_Text) = split( /<>/, $temp); if($Msg_Date == $Day_Count){ $Msg_Data[$index++] = $temp; } } close( LOGFILE ); } } ##################### sub STDOUT_MSG { ($Msg_Date, $Msg_Type, $Msg_Char_Index, $Msg_Time, $Msg_Text) = split( /<>/, $Msg_Data[@_[0]] ); ($Char_Name, $Char_Icon) = split( /<>/, $Char_Data[$Msg_Char_Index] ); if( $Msg_Type < 80 ){ print "
\n"; print "\"$Char_Name\"
\n"; print "
$Char_Name [$Msg_Time]
\n"; print "
$Msg_Text

\n"; print "
\n"; }else{ print "
\n"; print "
システムメッセージ [$Msg_Time]
\n"; print "
$Msg_Text

\n"; print "
\n"; } } ##################### sub STDIN_QUERY_STRING { if( $ENV{'REQUEST_METHOD'} eq "POST" ){ read( STDIN, $query, $ENV{'CONTENT_LENGTH'} ); }else{ $query = $ENV{'QUERY_STRING'}; } @pairs = split( /&/, $query ); foreach $pair (@pairs) { local($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/ge; &jcode'convert(*value,'euc'); $value =~ s/\r\n/\n/g; $value =~ s/\r|\n/\n/g; $value =~ s//>/g; $value =~ s/\"/"/g; $Query_Tbl{ $name } = $value; } }