#!/bin/perl

# 　　↑多くの場合このままでいいですが、
# 上のperlのパスはサーバーによって違うことがあるので、
# プロバイダーのCGI設置案内を参照して下さい。

# ===================================================================
# EASY 投票アンケート（EASY Tohyo Ver2.2）
# File name: eztohyo.cgi
# Copyright; Hiroshi Ishikawa (e-mail; laut@net-easy.com)
#            (URL; http://www.net-easy.com)
# Last Update: 2000/01/14
#
# EASY Tohyo Ver2.2は個人使用に限りフリーウェアです。
# 課金の発生する商用利用などはお問い合わせ下さい。
# また、改造は自由ですが、この欄は削除しないで下さい。
# ===================================================================

require 'cgi-lib.pl';	#他の場所にあるときは相対パスで指定
require 'jcode.pl';	#他の場所にあるときは相対パスで指定
&ReadParse;

# タイトル
$title = '満福統計館';

# 戻るページのURL
$back = 'http://www.manpuku.co.jp/';	#相対パスでも可

# サンクスページ
$thanks = 'en_thanks.html';	#相対パスでも可

# この投票の説明文
$kaisetsu = 'あなたの好きな焼肉は何ですか？<br>コメントを見るといろんな人の味わい方が分かって、意外なおいしさが発見できるかも？<br>投票していただいた方には満福店頭で使える５％割引チケットをプレゼント！';

# グラフ用のGIFファイルの設置場所
$gif = "img/bar1.gif";	#左は同じディレクトリの場合。別の場所に置く時はパスも記入。

# 記録保存ファイル
$file = 'enquete.txt';

# パスワード（投稿記事の削除の際必要・適宜変更して下さい）
$psw = 'R3A2rxkw';

# 各コメントの最大保存数、これを越えると古いものから削除される
$max = 10;

# 各項目の最大文字数（日本語の場合の文字数）
$length_max = '20';

# cookieを使用するかしないか
# １を選ぶと,１回の訪問につき１回だけの投票になります。
$cook = '0';	#使用は1、使用しないは0

# cookieの初期設定
# 上の項目で「1」を選んだ場合のみ必要,「0」を選んだときはそのまま。
$cookie = 'easytohyo';	#変更してもしなくても可

# 項目の追加を認めるか
$koumoku_add = 'no';	#認めない時は'no'に変更

# =====================================================================
# 初期設定が必要なのはここまでです
# ---------------------------------------------------------------------
# これ以下は変更の必要はありませんが、BODYタグなどを変更するだけなら
# 変更可能です。ただし、$xxxxのように変数を使っているところを変更すると
# エラーの原因となるので注意して下さい。 
# =====================================================================

# cookie用に時間を取得
$time = time;
$time_last = $time - (60 * 10);

# cookieの有無を調べ、あれば取得サブルーチンへ
if($cook eq '1'){
	if ($ENV{'HTTP_COOKIE'} =~ /$cookie/){
		&CookieCutter;
	}
}

# 時間の取得
($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime;
$mon++;
@week = ('日','月','火','水','木','金','土');
$wday = $week[$wday];
$mon = sprintf("%.2d",$mon);
$mday = sprintf("%.2d",$mday);
$hour = sprintf("%.2d",$hour);
$min = sprintf("%.2d",$min);
$sec = sprintf("%.2d",$sec);

$year = substr($year,1,2);

$jikan = "$year/$mon/$mday($wday) $hour:$min:$sec";

# CGIを呼び出された場合分けに応じて条件分岐
if($in{'forked'} eq 'tohyo'){
	&tohyo;
	&html;
	print  "<br><br>投票ありがとうございました。<br>投票していただいたお礼に、満福の店頭で使えるお食事サービス券を差し上げます。<br>
満福でお食事の際は、<a href=\"ticket.html\" onClick=\"detailWindow()\" target=\"detail\">ここをクリックして</a>出てくるサービス券を印刷してお持ち下さい。<br>
今後とも満福をよろしくお願い\申\し上げます。\n";
}elsif($in{'forked'} eq 'add'){
	&add;
	&html;
}elsif($in{'forked'} eq 'add_admin'){
	&add_admin;
	&delete_html;
}elsif($in{'forked'} eq 'link'){
	&comment_link_html;
}elsif(($in{'forked'} eq 'admin') && ($in{'psw'} eq "$psw")){
	&delete_html;
}elsif(($in{'forked'} eq 'delete') && ($in{'psw'} eq "$psw")){
	&delete;
	&delete_html;
}elsif($in{'action'} eq 'add_com'){
	&add_com;
}else{
	&html;
}

# 最初に呼び出されたときのサブルーチン
sub html{
	if(!open(TXT,"$file")){&error(err_fail);}
	flock(TXT,2);
	@DATA = <TXT>;
	flock(TXT,8);
	close(TXT);

	if($DATA[0] eq ''){
		if(!open(TXT,"$file")){&error(err_fail);}
		flock(TXT,2);
		print TXT "0,$jikan\n";
		flock(TXT,8);
		close(TXT);
		$DATA[0] = "0,$jikan\n";
	}

	@line1 = split(/\,/,$DATA[0]);
	$total = $line1[0];
	$last_time = $line1[1];

	print "Content-type: text/html\n";
	&SetCookie;
	print "\n";
print <<EOM;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="Robots" content="index, follow">
<meta name="Keywords" content="黒毛和牛,たき鍋,ホルモン鍋,レバ刺,北九州,焼肉,販売,サーロイン,ステーキ,ギフト,店舗経営">
<meta name="Description" content="焼肉スロット、満福焼肉博物館、焼肉おみくじなど遊びのページです。店舗ムービーなど店舗紹介動画もあります。">
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<title>焼肉統計[有限会社まんぷくカンパニ]</title>
<link href="../css/main.css" rel="stylesheet" type="text/css" />
<link href="../css/page.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../js/main.js"></script>
<script language="JavaScript">


<!--
function detailWindow() {
myWindow = window.open("", "detail", 
"toolbar=0,menubar=0,status=1,location=0,directories=0,scrollbars=1,resizable=1,copyhistory=0,width=500,height=250");
   }

<!---->


</script>
<link rel="shortcut icon" href="../img/favicon.ico">
</head>

<body onload="MM_preloadImages('img/top_bt_b.jpg','img/map_bt_b.jpg','Library/img/menu_manpuku_b.jpg','Library/img/menu_rasankan_b.jpg','Library/img/menu_hatago_b.jpg','Library/img/menu_shopping_b.jpg','Library/img/menu_enta_b.jpg','Library/img/menu_toiawase_b.jpg')">
<div id="allcont"><!-- #BeginLibraryItem "/Library/side_mimi.lbi" -->
<div id="banar"><a href="http://www.hotpepper.jp/A_20100/strJ000030554.html" target="_blank"><img src="../img/banar_01.jpg" alt="羅山韓　移動個室の新感覚韓国居酒屋　大勢で楽しめるコース料理が一杯　予約受付中！" border="0" /></a><br />
  <br />
  <a href="http://www.hotpepper.jp/A_20100/strJ000062567.html" target="_blank"><img src="../img/banar_02.jpg" border="0" /></a></div>
<!-- #EndLibraryItem --><div id="main">
  <div id="banar2"><a href="../rasankan_deli" target="_blank"><img src="../img/banar_03.jpg" alt="" width="90" height="360" border="0" /></a><br />
  </div>
  <h1 id="disc"><a name="top" id="top"></a>焼肉満福が送る焼肉エンターテイメント　スロット、おみくじ、店舗紹介ムービーなど盛り沢山</h1>
  <table width="800" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="200"><a href="http://www.manpuku.co.jp/"><img src="img/head_01.gif" width="200" height="50" border="0" /></a></td>
    <td width="364"><img src="img/head_02.jpg" width="364" height="50" /></td>
    <td width="105"><a href="http://www.manpuku.co.jp/" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image3','','img/top_bt_b.jpg',1)"><img src="img/top_bt_a.jpg" alt="トップページへ" name="Image3" width="105" height="50" border="0" id="Image3" /></a></td>
    <td width="102"><a href="../site_map/" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image4','','img/map_bt_b.jpg',1)"><img src="img/map_bt_a.jpg" alt="サイトマップへ" name="Image4" width="102" height="50" border="0" id="Image4" /></a></td>
    <td width="22"><img src="img/head_03.gif" width="29" height="50" /></td>
  </tr>
  <tr>
    <td colspan="5"><img src="img/main_img.jpg" width="800" height="145" /></td>
  </tr>
</table>
<table width="800" border="0" cellspacing="0" cellpadding="0" id="content">
  <tr>
    <td width="604" valign="top"><table width="600" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td align="center" valign="top"><h2 class="page_title">満福　焼肉統計</h2>
<img src="img/title_stats.gif" width="400" height="70"> <br>$kaisetsu
<br><br>$last_time　　現在、投票総数$totalです。<br>
下の項目１つにチェックして、投票ボタンを押してください。
		  
</td>
      </tr>
      <tr>
<td valign="top"  height="862">
EOM
	if($koumoku_add eq 'yes'){
		print "<BR>お探しの項目がない時は一番下のフォームで項目を追加して下さい。\n";
	}

	if($cook eq '1'){
		print "<BR><FONT size=\"-1\">１回のご訪問で１回だけ投票（または項目の追加）ができます。</FONT>\n";
	}

print <<EOM;
        
<form action="enquete.cgi" method="POST">
<input type="hidden" name="forked" value="tohyo">
<table border="0" width="600" align="left">
<tr><td colspan="5"><input type="submit" value="投票する"> <input type="reset" value="RESET">項目に<FONT color="#ff66cc">*</FONT>印がついているものはコメントがあります</TD></TR>
<tr><td bgcolor="#660000"><font color="#FFFFFF" size="2">順位</font></td><td bgcolor="#660000"><font color="#FFFFFF" size="2">項目</font></td><td bgcolor="#660000"><font color="#FFFFFF" size="2">票数</font></td><td bgcolor="#660000"><font color="#FFFFFF" size="2">割合</font></td><td bgcolor="#660000"><font color="#FFFFFF" size="2">グラフ</font></td></tr>
EOM

	$count = @DATA;
	$count--;
	$i = 1;
	$j = 0;
	$juni = 1;
	$gr_check = 'yes';
	while($count > 0){
		@line = split(/\,/,$DATA[$i]);
		if($line[1] == 0){$per = 0;}
		if($line[1] != 0){
			$per = int(1000 * ($line[1] / $total)) / 10;
			if($line[1] != $tokuten){
				$juni = $i;
				$tokuten = $line[1];
			}else{
				$tokuten = $line[1];
			}
		}
		$rank = $juni;
		if($line[1] == 0){$rank = 0;}
		print "<TR><TH>$rank</TH>\n";

		$convert_url = $line[2];
		$convert_url =~ s/./sprintf("%%%2X",ord($&))/eg;

		$koumoku = "<A HREF=\"enquete.cgi?forked=link&link=$convert_url\" target=\"_blank\">$line[2]</A>\n";

		print "<td  align=\"left\"><INPUT type=\"radio\" name=\"choice\" value=\"$line[2]\">$koumoku\n";
		if($line[3] ne ''){
			print "<FONT color=\"\#ff66cc\">*</FONT>\n";
		}
		print "</TD>\n";
		print "<TD align=\"center\">$line[1]</TD>\n";
#パーセント表示が小数点以下何位も表示されてしまう時は下の行頭の#をとって下さい
		#$per = substr($per,0,4);	#この場合４桁までになります
		print "<TD align=\"center\">$per\%</TD>\n";
		if($gr_check eq 'yes'){
			if($per < 40){
				$m = 15;
			}elsif($per >= 40){
				if($per > 60){
					$m = 2;
				}else{
					$m = 4;
				}
			}
			$gr_check = 'no';
		}
		$r = int($per * $m);
		if($per != 0){
			print "<TD nowrap align=\"left\"><IMG src=\"$gif\" height=\"12\" width=\"$r\" border=\"0\"><img src=\"img/bar2.gif\" height\"12\" width=\"6\" border=\"0\"></TD>\n";
		}else{
			print "<TD></TD>\n";
		}
		print "</TR>\n";
		$i++;
		$j--;
		$count--;
	}

print <<EOM;
</form>
</table>

EOM
	if($koumoku_add eq 'yes'){
print <<EOM;
<center>
<TABLE border="1">
  <TR>
    <TD align="left">
    <FORM action="enquete.cgi" method="POST">
    <INPUT type="hidden" name="forked" value="add">
追加する項目を書いて[項目の追加]ボタンを押して下さい<BR>
<INPUT name="touroku" size="25"><BR>
追加する項目にコメントを加えたい場合はさらに下に書いてください<BR>
お名前（ハンドルネーム）：<INPUT name="name" size="20"><BR>
コメント：<INPUT name="comment" size="65"><BR>
<INPUT type="submit" value="項目の追加">　<INPUT type="reset" value="RESET">
    </FORM>
</TD></TR>
</TABLE>
</CENTER>
</TD></TR>
</TABLE>
</TD></TR>
</TABLE>

</CENTER>
EOM
}
# 以下13行は削除しないで下さい。(Copyrightです)
print <<EOM;
<BR>
<TABLE width="100%" border=0>
  <TR>
    <TD align="left" valign="top"><FORM action="enquete.cgi" method="POST">
    <INPUT type="hidden" name="forked" value="admin">
<INPUT type="submit" value="管理用"><INPUT type="password" name="psw" size="15">
    </FORM></TD>
    <TD align="right" valign="top">
 <B><A href="http://www.net-easy.com/" target="_blank">EasyTohyo Ver2.1</A></B>
</TD></TR>

<tr><td colspan="2" align="center">
 </td></tr>
</TABLE></td>
      </tr>
    </table></td>
    <td align="center" valign="top" class="side_menu"><!-- #BeginLibraryItem "/Library/side_menu.lbi" -->
<a href="../movie"><img src="../img/menu_new.gif" width="192" height="130" border="0" class="menu_new" /></a>
<table width="192" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><img src="../img/menu_t.jpg" width="192" height="15" /></td>
  </tr>
  <tr>
    <td><a href="../manpuku" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image9','','../img/menu_manpuku_b.jpg',1)"><img src="../img/menu_manpuku_a.jpg" alt="たき鍋・焼肉　満福（まんぷく）" name="Image9" width="192" height="39" border="0" id="Image9" /></a></td>
  </tr>
  <tr>
    <td><a href="../rasankan" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image10','','../img/menu_rasankan_b.jpg',1)"><img src="../img/menu_rasankan_a.jpg" alt="韓国創作居酒屋　羅山韓（らさんかん）" name="Image10" width="192" height="40" border="0" id="Image10" /></a></td>
  </tr>
  <tr>
    <td><a href="../hatago" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image11','','../img/menu_hatago_b.jpg',1)"><img src="../img/menu_hatago_a.jpg" alt="炭やぐら　旅籠（はたご）" name="Image11" width="192" height="40" border="0" id="Image11" /></a></td>
  </tr>
  <tr>
    <td><a href="../shop" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image12','','../img/menu_shopping_b.jpg',1)"><img src="../img/menu_shopping_a.jpg" alt="自宅で焼き肉　オンライン販売" name="Image12" width="192" height="40" border="0" id="Image12" /></a></td>
  </tr>
  <tr>
    <td><a href="../enta" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image13','','../img/menu_enta_b.jpg',1)"><img src="../img/menu_enta_a.jpg" alt="おもしろ満福劇場　ゲーム　占い　ギャラリー" name="Image13" width="192" height="40" border="0" id="Image13" /></a></td>
  </tr>
  <tr>
    <td><a href="../toiawase" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image14','','../img/menu_toiawase_b.jpg',1)"><img src="../img/menu_toiawase_a.jpg" alt="お問合せ" name="Image14" width="192" height="40" border="0" id="Image14" /></a></td>
  </tr>
  <tr>
    <td><a href="../employment/index.html"><img src="../img/menu_etc.jpg" width="192" height="88" border="0" /></a></td>
  </tr>
  <tr>
    <td><img src="../img/menu_u.jpg" width="192" height="10" /></td>
  </tr>
</table>
<!-- #EndLibraryItem --></td>
</tr>
  <tr>
    <td align="right"><a href="#top"><font size="2">▲ページTOPへ</font></a>　</td>
    <td align="center" class="side_menu">&nbsp;</td>
  </tr>
  <tr>
    <td colspan="2" align="center" bgcolor="#000000"><font color="#FFFFFF" size="2">Copyright(C) 2008 manpukuCompany. All Rights Reserved.</font></td>
    </tr>
</table>
</div>
</div>
</body>
</html>

EOM
}

# 投票をするときの加算サブルーチン
sub tohyo{
	if($in{'choice'} eq ''){
		&error(bad_choice);
	}

	if(($cook eq '1') && ($check_time > $time_last)){
		&html;
		exit;
	}

	if(!open(TXT,"$file")){&error(err_fail);}
	flock(TXT,2);
	@DATA = <TXT>;
	flock(TXT,8);
	close(TXT);

	@log = split(/\,/,$DATA[0]);
	$total = $log[0] + 1;
	$line1 = "$total,$jikan\n";

	$choice = $in{'choice'};
	&jcode'convert(*choice,"sjis");

	$i = 1;
	$count = @DATA;
	$count--;
	while($count > 0){
		@line = split(/\,/,$DATA[$i]);
		if($line[2] eq $choice){
			$tokuten = $line[1] + 1;
			$tokuten_5keta = sprintf("%.5d",$tokuten);
			$DATA[$i] = "$tokuten_5keta,$tokuten,$line[2],$line[3],$line[4],$line[5],$line[6]\=";
		}else{
			$DATA[$i] = "$DATA[$i]\=";
		}
		$data_new = "$data_new$DATA[$i]";
		$i ++;
		$count--;
	}
	@DATA_new = split(/\=/,$data_new);
	@DATA_new = sort(@DATA_new);
	@DATA_new = reverse(@DATA_new);
	@DATA = ($line1,@DATA_new);

	if(!open(TXT,">$file")){&error(err_fail);}
	flock(TXT,2);
	print TXT @DATA;
	flock(TXT,8);
	close(TXT);
}

# 新たに項目を追加したときのサブルーチン
sub add{
	if($in{'touroku'} eq ''){
		&error(bad_touroku);
	}

	if(($cook eq '1') && ($check_time > $time_last)){
		&html;
		exit;
	}

	$length_check = length($in{'touroku'});
	$length_max = int($length_max * 2);
	if($length_check > $length_max){
		&error(bad_length);
	}

	$touroku = $in{'touroku'};
	$name = $in{'name'};
	$comment = $in{'comment'};
	&jcode'convert(*touroku,"sjis");
	&jcode'convert(*name,"sjis");
	&jcode'convert(*comment,"sjis");

	$touroku =~ s/&/＆/g;
	$touroku =~ s/</&lt;/g;
	$touroku =~ s/>/&gt;/g;
	$touroku =~ s/,/./g;
	$touroku =~ s/ /　/g;
	$name =~ s/&/&amp;/g;
	$name =~ s/</&lt;/g;
	$name =~ s/>/&gt;/g;
	$name =~ s/,/./g;
	$name =~ s/ /　/g;
	$comment =~ s/&/&amp;/g;
	$comment =~ s/</&lt;/g;
	$comment =~ s/>/&gt;/g;
	$comment =~ s/,/./g;
	$comment =~ s/ /　/g;

	if(!open(TXT,"$file")){&error(err_fail);}
	flock(TXT,2);
	@DATA = <TXT>;
	flock(TXT,8);
	close(TXT);

	$count = @DATA;
	$count--;
	$i = 1;

	$check = 'no';
	while($count > 0){
		@line = split(/\,/,$DATA[$i]);
		if($line[2] eq $touroku){
			&error(bad_touroku_check);
		}else{
			$check = 'yes';
		}
		$i++;
		$count--;
	}
	if($DATA[1] eq ''){$check = 'yes';}
	if($check eq 'yes'){
		@line1 = split(/\,/,$DATA[0]);
		$total = $line1[0] + 1;
		$DATA[0] = "$total,$jikan\n";
		if(($comment eq '') && ($name ne '')){
				&error(bad_comment);
		}
		if(($comment ne '') && ($name eq '')){
				$name ='匿名';
		}

		$remote_addr = $ENV{'REMOTE_ADDR'};
		$remote_host = ((gethostbyaddr(pack('C4',split(/\./,$remote_addr)),2))[0]);

		$value = "00001,1,$touroku,$name,$comment,$remote_host,$remote_addr\n";

		push(@DATA,$value);

	$i = 2;
	$count = @DATA;
	$count = $count-2;
	$data_new = $DATA[1];
	while($count > 0){
		$data_new = "$data_new\=$DATA[$i]";
		$i ++;
		$count--;
	}
	@DATA_new = split(/\=/,$data_new);
	@DATA_new = sort(@DATA_new);
	@DATA_new = reverse(@DATA_new);
	@DATA_new = ($DATA[0],@DATA_new);

		if(!open(TXT,">$file")){&error(err_fail);}
		flock(TXT,2);
		print TXT @DATA_new;
		flock(TXT,8);
		close(TXT);
	}
}

# 削除する行を選ぶHTML画面を出力するサブルーチン
sub delete_html{
	print "Content-type: text/html\n\n";
print <<EOM;
<HTML>
<HEAD>
<TITLE>管理者画面</TITLE>
</HEAD>
<BODY bgcolor="#F7F7E0">
<H2>管理者画面</H2>
<P align="right">
<FONT size="+1"><A href="enquete.cgi">戻る</A></FONT>
</P>
<BODY>
<CENTER>
<TABLE border="1">
  <TR>
    <TD align="left">
    <FORM action="enquete.cgi" method="POST">
    <INPUT type="hidden" name="forked" value="add_admin">
追加する項目を書いて[項目の追加]ボタンを押して下さい<BR>
ここでの追加は得票になりません<BR>
<INPUT name="touroku" size="25"><BR>
追加する項目にコメントを加えたい場合はさらに下に書いてください<BR>
お名前（ハンドルネーム）：<INPUT name="name" size="20"><BR>
コメント：<INPUT name="comment" size="65"><BR>
<INPUT type="submit" value="項目の追加">　<INPUT type="reset" value="RESET">
    </FORM>
</TD></TR>
</TABLE>
</CENTER>
</TD></TR>
</TABLE>

</CENTER>
<BR>
削除する記事をチェックして送信して下さい
<BR>
項目を作った人の、リモートホストが各行最後から２番目の項目、最後がリモートアドレスになっています。
<BR>
<FORM action="enquete.cgi" method="POST">
<INPUT type="hidden" name="forked" value="delete">
<INPUT type="hidden" name="psw" value="$in{'psw'}">
<INPUT type="submit" value="削除する"> <INPUT type="reset" value="Reset"><BR><BR>
EOM

	if(!open(OUT,"$file")){&error(err_fail);}
	flock(OUT,2);
	@DATA = <OUT>;
	flock(OUT,8);
	close(OUT);

	$count = @DATA;
	$count--;
	$i = 1;
	while($count > 0){
		@line = split(/\,/,$DATA[$i]);
		print "<INPUT type=\"checkbox\" name=\"delete\" value=\"$line[2]\">$line[1]票 $line[2] $line[3] \- $line[4] $line[5] $line[6]<BR>\n";
		$i ++;
		$count --;
	}

print <<EOM;
</FORM>
</BODY>
</HTML>
EOM
}

# 削除サブルーチン
sub delete{
	if(!open(OUT,"$file")){&error(err_fail);}
	flock(OUT,2);
	@DATA = <OUT>;
	flock(OUT,8);
	close(OUT);

	@line1 = split(/\,/,$DATA[0]);
	$total_old = $line1[0];

	$count = @DATA;
	@code = split(/\0/,$in{'delete'});
	$countcode = @code;

	$i = 0;
	$j = 0;

	while(($count > 0) || ($countcode > $j)){
	@line = split(/\,/,$DATA[$i]);
	
		if($line[2] eq $code[$j]){
			@data_line = split(/\,/,$DATA[$i]);
			$tokuten = $data_line[1];
			$delete_tokuten = $delete_tokuten + $tokuten;
			$DATA[$i] = '';
			$j ++;
		}
		$i ++;
		$count --;
	}

	$total_new = $total_old - $delete_tokuten;
	$DATA[0] = "$total_new,$jikan\n";
	$line = $DATA[0];
	shift(@DATA);
	@DATA = sort(@DATA);
	@DATA = reverse(@DATA);
	@DATA = ($line,@DATA);

	if(!open(TXT,">$file")){&error(err_fail);}
	flock(TXT,2);
	print TXT @DATA;
	flock(TXT,8);
	close(TXT);
}

# 項目に対するコメントを表示するサブルーチン
sub comment_link_html{
	if(!open(OUT,"$file")){&error(err_fail);}
	flock(OUT,2);
	@DATA = <OUT>;
	flock(OUT,8);
	close(OUT);
	$count = @DATA;
	$count--;
	$i = 1;
	while($count > 0){
		@line = split(/\,/,$DATA[$i]);
		if($in{'link'} eq "$line[2]"){
		print "Content-type: text/html\n\n";
print <<EOM;
<html>
<head>
<title>$line[2]のコメント</title>
</head>

<body bgcolor="#990000" text="#FFFFFF" link="#FFCC00" vlink="#FF6600" alink="#FF6666" background="img/back_stats.gif">


EOM

	if(($line[3] ne '') && ($line[4] ne '')){

	@NAME = split(/\//,$line[3]);
	@COMMENT = split(/\//,$line[4]);
	$count = @NAME;

print <<EOM;
<center>
  <table width="600" border="0">
    
  <tr> 
      <td align="center"><img src="img/title_stats.gif" width="400" height="70"><br><br><b>$line[2]</b>のコメント<br>
最新の$max件までが表\示されます（現在コメント保存件数$count件）

EOM

	$j = 0;
	while($count > 0){
		print "<center><table width=\"600\" border=\"0\">\n<tr>\n";
		print "<td bgcolor=\"\#660000\"><b>$NAME[$j]</b>さん</td></tr>\n";
		print "<tr><td>$COMMENT[$j]</td></tr>\n";
		print "</table>\n</center>\n<br>\n";
		$j++;
		$count--;
	}
}else{
	print "<div align=\"center\"><img src=\"img/title_stats.gif\" width=\"400\" height=\"70\"></div><br><br>\n";
	print "<CENTER><B>コメントは現在ありません</B></CENTER>\n<BR>\n";
}
print <<EOM;
<center><a href="javascript:function voi(){};voi()" onClick="self.close()" onMouseOver="window.status='Window Close'; return true">このウィンドウを閉じる</a>
　　<FORM action="enquete.cgi" method="POST">
    <INPUT type="hidden" name="action" value="add_com">
    <INPUT type="hidden" name="koumoku" value="$line[2]">
	<INPUT type="hidden" name="link" value="$line[2]">
<TABLE border="0">
  <TR>
    <TD>
<B>コメントの追加をする時は下にお書きください</B><BR>
お名前（ハンドルネーム）：<BR>
<INPUT name="name" size="20"><BR>
コメント：<BR>
<INPUT name="comment" size="75"><BR><BR>
<INPUT type="submit" value="コメント追加"> <INPUT type="reset" value="Reset">
</td></tr>
</table>
</td></tr>
</table>
   </form>
</center>

EOM

		}
	$i++;
	$count--;
	}
}

# cookieの取得サブルーチン
sub CookieCutter {
	foreach(split(/; /,$ENV{'HTTP_COOKIE'})){
		($key,$value) = split(/=/);
		if ($key eq $cookie){
			$cookieJar{$cookie} = $value;
		}
	}
	$check_time = $cookieJar{$cookie};
}

# cookieセットサブルーチン
sub SetCookie{
	if($cook eq '1'){
		if(($in{'forked'} eq 'tohyo') || ($in{'forked'} eq 'add')){
			print "Set-Cookie: ";
			print "$cookie=$time;\n";
		}
	}
}

# コメント追加サブルーチン
sub add_com{
		if($in{'comment'} eq ''){
		&error(bad_touroku);
	}

	$koumoku = $in{'koumoku'};
	$comment = $in{'comment'};
	$name = $in{'name'};
	&jcode'convert(*comment,"sjis");
	&jcode'convert(*name,"sjis");

	$name =~ s/&/&amp;/g;
	$name =~ s/</&lt;/g;
	$name =~ s/>/&gt;/g;
	$name =~ s/,/./g;
	$comment =~ s/&/&amp;/g;
	$comment =~ s/</&lt;/g;
	$comment =~ s/>/&gt;/g;
	$comment =~ s/,/./g;
	$comment =~ s/\//\-/g;


	if(!open(TXT,"$file")){&error(err_fail);}
	flock(TXT,2);
	@DATA = <TXT>;
	flock(TXT,8);
	close(TXT);

	$count = @DATA;
	$count--;
	$i = 1;
	@NEW_DATA = "$DATA[0]";
	while($count > 0){
		@line = split(/\,/,$DATA[$i]);
			if($line[2] eq $koumoku){
				if($name eq ''){$name = '匿名';}
				if($line[3] eq ''){
					$line[3] = "$name";
				}else{
					$line[3] = "$line[3]\/$name";
					@check_name = split(/\//,$line[3]);
					$check_n = @check_name;
					if($check_n > $max){
						shift(@check_name);
						foreach $write(@check_name){
							if($new_line3 eq ""){
								$new_line3 = $write;
							}else{
								$new_line3 = "$new_line3\/$write";
							}
						}
						$line[3] = $new_line3;
						$flag = 'yes';
					}
				}
				if($line[4] eq ''){
					$line[4] = "$comment";
				}else{
					$line[4] = "$line[4]\/$comment";
					if($flag eq "yes"){
							@check_comment = split(/\//,$line[4]);
						shift(@check_comment);
						foreach $write_c(@check_comment){
							if($new_line4 eq ""){
								$new_line4 = $write_c;
							}else{
								$new_line4 = "$new_line4\/$write_c";
							}
						}
						$line[4] = $new_line4;
					}
				}
			}
		$value = "$line[0],$line[1],$line[2],$line[3],$line[4],$line[5],$line[6]";
		push(@NEW_DATA,$value);
		$i++;
		$count--;
	}
		if(!open(TXT,">$file")){&error(err_fail);}
		flock(TXT,2);
		print TXT @NEW_DATA;
		flock(TXT,8);
		close(TXT);
	&comment_link_html;
}

# 管理者用項目追加サブルーチン
# 管理者が項目を追加するときは投票数がゼロで項目追加される
sub add_admin{
	if($in{'touroku'} eq ''){
		&error(bad_touroku);
	}

	$touroku = $in{'touroku'};
	$name = $in{'name'};
	$comment = $in{'comment'};
	&jcode'convert(*touroku,"sjis");
	&jcode'convert(*name,"sjis");
	&jcode'convert(*comment,"sjis");

	$touroku =~ s/&/＆/g;
	$touroku =~ s/</&lt;/g;
	$touroku =~ s/>/&gt;/g;
	$touroku =~ s/,/./g;
	$name =~ s/&/&amp;/g;
	$name =~ s/</&lt;/g;
	$name =~ s/>/&gt;/g;
	$name =~ s/,/./g;
	$comment =~ s/&/&amp;/g;
	$comment =~ s/</&lt;/g;
	$comment =~ s/>/&gt;/g;
	$comment =~ s/,/./g;

	if(!open(TXT,"$file")){&error(err_fail);}
	flock(TXT,2);
	@DATA = <TXT>;
	flock(TXT,8);
	close(TXT);

	$count = @DATA;
	$count--;
	$i = 1;

	$check = 'no';
	while($count > 0){
		@line = split(/\,/,$DATA[$i]);
		if($line[2] eq $touroku){
			&error(bad_touroku_check);
		}else{
			$check = 'yes';
		}
		$i++;
		$count--;
	}
	if($DATA[1] eq ''){$check = 'yes';}
	if($check eq 'yes'){
		if($DATA[0] == ''){
			@line1 = split(/\,/,$DATA[0]);
			$total = 0;
			$DATA[0] = "$total,$jikan\n";
		}
		if(($comment eq '') && ($name ne '')){
				&error(bad_comment);
		}
		if(($comment ne '') && ($name eq '')){
				$name ='匿名';
		}

		$value = "00000,0,$touroku,$name,$comment,$remote_host,$remote_addr\n";

		push(@DATA,$value);
		if(!open(TXT,">$file")){&error(err_fail);}
		flock(TXT,2);
		print TXT @DATA;
		flock(TXT,8);
		close(TXT);
	}
}

# エラーサブルーチン
sub error{
	$error = $_[0];
	if ($error eq "bad_choice"){
		$msge = '項目から<FONT color=#ff0000>１つ選んで</FONT>「投票ボタン」押してください';
	}elsif($error eq "bad_touroku"){
		$msge = '項目が記入されていません';
	}elsif($error eq "bad_comment"){
		$msge = 'コメントを書いてください。<BR>書かない場合は名前もコメントも空欄にして下さい。';
	}elsif($error eq "bad_touroku_check"){
		$msge = '登録しようとしている項目は既にあります';
	}elsif($error eq "err_fail"){
		$msge = 'ファイルオープンできません';
	}elsif($error eq "bad_length"){
		$bad_max_length = int($length_max / 2);
		$msge = "追加する項目の文字数を$bad_max_length文字以内にしてください";
	}else{
		$msge = '何らかのエラーです';
	}

	print "Content-type: text/html\n\n";
	print "<HTML><HEAD><TITLE>ERROR</TITLE></HEAD>\n";
	print "<BODY bgcolor=\"#ffffff\">\n";
	print "<H1 align=\"center\">$msge</H1><HR>\n";
	print "<A href=\"javascript:history.back()\">BACK</A></BODY></HTML>\n";

	exit;
}

