#!/usr/bin/perl ######################################### # # web拍手送信CGI # # 作・だんでぃ # ######################################### # このCGIのファイル名 $base = "./clap.cgi"; #----------外部ファイル読み込み(サーバーによっては絶対パスで指定) require './jcode.pl'; require './clapinit.cgi'; #---------フォームデコード &decode; ######################################### #---------ログの読み込み、加算、保存 &lockon; #ロック開始 open(IN,"$logfile"); #===========ログファイルから読み込み @logdata = ; close(IN); #---------ログの分解 ($logdate,$logtotal,$log[0],$log[1],$log[2],$log[3],$log[4],$log[5],$log[6],$log[7],$log[8],$log[9],$log[10],$log[11],$log[12] ,$log[13],$log[14],$log[15],$log[16],$log[17],$log[18],$log[19],$log[20],$log[21],$log[22],$log[23]) = split( /<>/ , $logdata[$#logdata] ); #---------日付取得 $day = 0; &dateload; #---------日付チェック if ($getdate ne $logdate){ #---------日付変更時、ゼロログ追加、過去ログ削除 @log = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); $logtotal = 0; @logdata = (@logdata,"\n"); $data = "$getdate<>"; $data = "$data$logtotal<>"; for ($i=0 ; $i<=23 ; $i++){ $data = "$data$log[$i]<>"; } $logdata[$#logata] = "$data\n"; $day = 14; & dateload; $j = $#logdata; for ( $i=0 ; $i<=$j ; $i++ ){ ($logdate,$xxx) = split(/<>/,$logdata[0]); if ($logdate < $getdate){shift (@logdata);} } #---------日付変更時、過去ログメッセージ削除 open(IN,"$mesfile"); @mesdata = ; close(IN); $j = $#mesdata; for ( $i=0 ; $i<=$j ; $i++ ){ ($logdate,$xxx) = split(/<>/,$mesdata[0]); if ($logdate < $getdate){shift (@mesdata);} } open(OUT,">$mesfile"); print OUT @mesdata; close(OUT); } #---------ログ加算 $log[$tohour] ++; $logtotal ++; #---------保存用ログ作成 $day = 0; & dateload; $data = "$getdate<>"; $data = "$data$logtotal<>"; for ($i=0 ; $i<=23 ; $i++){ $data = "$data$log[$i]<>"; } $logdata[$#logata] = "$data\n"; #---------ログ上書き保存 open(OUT,">$logfile"); print OUT @logdata; close(OUT); #---------------------------------------一言メッセージ処理 if ($hitokoto ne ''){ $mesdata = "$getdate<>$tohour<>$hitokoto<>\n"; open(OUT,">>$mesfile"); print OUT $mesdata; close(OUT); } &lockoff; #ロック終了 #-----------------------------------HTML表示 $title = "web拍手送信完了"; &header; print "\n"; #------メッセージ $i = int(rand(5)); print "
\n"; print "$message[$i]


\n"; #====================さらに送るフォーム&メッセージ if ($kaisuu < 9){ $kaisuu ++; print "
\n"; print '

',"\n"; print "\n"; print 'ついでに一言あればどうぞ(拍手だけでも送れます)
',"\n"; print '
',"\n"; print '',"\n"; }else{ print 'いたずら防止のため、10回以上連続で拍手を送れないようになっています。'; } print "
\n"; #---------------------著作権表示、web拍手公式サイトへのリンク(削除不可) print 'web拍手CGI公式サイト
',"\n"; print "
\n"; print "\n"; exit;