###################################################### # # # web拍手CGI基本設定&主要サブルーチン # # ###################################################### #----------- # 基本設定 #----------- # 解析にパスワード認証を # 0…かけない # 1…かける $passlock = '0'; # 解析閲覧用パスワード(パスワード認証をかけない場合は不要) $password = '0000'; # 拍手送信後画面用お礼メッセージ1(タグ使用可) $message[0]='拍手が送信されました。
ありがとうございました!'; # 拍手送信後画面用お礼メッセージ2(タグ使用可) $message[1]='拍手が送信されました。
ありがとうございました!'; # 拍手送信後画面用お礼メッセージ3(タグ使用可) $message[2]='拍手が送信されました。
ありがとうございました!'; # 拍手送信後画面用お礼メッセージ4(タグ使用可) $message[3]='拍手が送信されました。
ありがとうございました!'; # 拍手送信後画面用お礼メッセージ5(タグ使用可) $message[4]='拍手が送信されました。
ありがとうございました!'; # ログファイル $logfile = './log.dat'; # 一言メッセージ保存ファイル $mesfile = './mes.dat'; # ファイルロックを # 0…しない # 1…する # かなりの数の拍手が送られてくると思われる場合は1にしてください。 # ファイルロックにはflock関数を使用します。サーバーのOSの対応状況をご確認ください $lock = '0'; # ロックファイル名(ファイルロックをしない場合は不要) $lockfile = 'lock.dat'; # グラフURL(サーバーによっては絶対パス) # cgiフォルダに画像が置けないサーバーもあるので注意してください $graph1 = './graph1.gif'; #横 $graph2 = './graph2.gif'; #縦 #---------- # 設定終了 #---------- #-------------- # HTMLヘッダー #-------------- sub header{ print "Content-type: text/html\n\n"; print '',"\n"; print '',"\n"; print "$title\n"; print "\n"; } #---------- # 日付取得 #---------- sub dateload{ $ENV{'TZ'} = "JST-9"; ($sec,$min,$tohour,$today,$tomon,$toyear,$wday,$yday,$isdst) = (localtime(time-$day*86400)); $toyear += 1900; $tomon ++; $getdate = "$toyear"; if ($tomon <= 9){ $getdate = "$getdate"."0$tomon"; } else { $getdate = "$getdate$tomon"; } if ($today <= 9){ $getdate = "$getdate"."0$today"; } else { $getdate = "$getdate$today"; } } #------------------ # フォームデコード #------------------ sub decode { local($buf, $key, $val); if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buf, $ENV{'CONTENT_LENGTH'}); } %in=(); foreach (split(/&/, $buf)) { ($key, $val) = split(/=/); $val =~ tr/+/ /; $val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; # S-JISコード変換 &jcode'convert(*val, "sjis", "", "z"); # タグ処理 $val =~ s/&/&/g; $val =~ s/"/"/g; $val =~ s//>/g; $val =~ s/\0//g; # 改行処理 if ($key eq "comment") { $val =~ s/\r\n/
/g; $val =~ s/\r/
/g; $val =~ s/\n/
/g; } else { $val =~ s/\r//g; $val =~ s/\n//g; } $in{$key} .= "\0" if (defined($in{$key})); $in{$key} .= $val; } $pass = $in{'pass'}; $hitokoto = $in{'hitokoto'}; $kaisuu = $in{'kaisuu'}; } #--------------------- # ファイルロック開始 #--------------------- sub lockon{ if ($lock eq '1'){ open(LOCK,">$lockfile"); #====ロック開始 flock (LOCK,2); } } #--------------------- # ファイルロック終了 #--------------------- sub lockoff{ if ($lock eq '1'){ unlink( "$lockfile" ); flock( LOCK, 8 ); close( LOCK ); #=================ロック終了 } }