#!/usr/bin/perl

use CGI;
$q = CGI->new;

$id = $q->param('id');
$pass = $q->param('pass');

$title = &cutTab($q->param('title'));
$abs = &cutTab($q->param('abstract'));
$jud = &cutTab($q->param('judge'));
$name = &cutTab($q->param('name'));
$email = &cutTab($q->param('email'));
$win = &cutTab($q->param('win'));
$url = &cutTab($q->param('url'));
$mc = &cutTab($q->param('mc'));
$captcha = $q->param('captcha');

if ($mc eq 'on') {
	$mc = 'YES';
	$mcon = "checked";
} else {
	$mc = 'NO';
	$mcon = "";
}
if ($win eq '') { $win = "未定"; }

if ($pass eq '') {
	if ($id ne '') {
		&inputPassPhrase;
	} else {
		&printHeader;
		print "X";
		exit;
	}
} else {
	open (FILE, "./cons/$id".".cgi");
	$info = <FILE>;
	$entryer = "";
	while(<FILE>) {
		$entryer .= $_;
	}
	chomp($info);
	close (FILE);
	
	if ($pass eq 'editmode') {
		if ($title eq '' || $abs eq '' || $name eq '' || $email eq '' || $jud eq '') {
			&error;
		} else {
			&editDone;
		}
	} else {
		($title,$abs,$jud,$win,$name,$email,$date,$url,$mc) = split(/\t/,$info);
		if ($mc eq 'YES') {
			$mcon = "checked";
		} else {
			$mcon = "";
		}
		if ($pass eq $email) {
			&template_out("entry2.html");
		} else {
			&inputPassPhrase;
		}
	}
}


sub template_out {
	$tmp = $_[0];
	open (TMPL, "$tmp");
	while(<TMPL>) {
		$tmpl .= $_;
	}
	close (TMPL);
	
	$hidden = "<input type='hidden' name='pass' value='editmode'><input type='hidden' name='id' value='$id'>";
	$tmpl =~ s/\<\!\-\-X\-\-\>/$hidden/;
	$tmpl =~ s/entry\.cgi/eachedit\.cgi/g;
	$rbegin = "<!--RULE BEGIN-->";
	$rend = "<!--RULE END-->";
	$tmpl =~ s/$rbegin(.*)$rend//;
	
	$tmpl =~ s/\$([\w]+)/${$1}/g;
	
	print "Content-type: text/html\nPragma: no-cache\n\n$tmpl";
}

sub inputPassPhrase {
	&printHeader;
print <<"EOD";
<form action="eachedit.cgi" method="POST">
登録したときのメールアドレスを入力してください。<br>
<input type="text" name="pass" size="30"><input type="submit" value=" 続行 "><br>
<input type="hidden" name="id" value="$id"></form>
</body></html>

EOD

exit;	
}

sub printHeader {
		print <<"EOM";
Content-type: text/html
Pragma: no-cache

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="style.css" type="text/css">
<title>ドークボット東京 頂上決戦 - ザ・コンテスツ</title>
<style type="text/css">
input,textarea,td {
	font-size:25px;
}
</style>
</head>
<body>

EOM
}

sub error {
	&printHeader;
	print<<"EOZ";
	*必須項目に入力してください.<br>
	<a href="javascript:history.back();">戻る</a>
	</body></html>
EOZ
exit;
}


sub editDone {
	$tsv = "$title\t$abs\t$jud\t$win\t$name\t$email\t$date\t$url\t$mc\n" . $entryer;
	umask(0);
	$file = "./cons/$id".".cgi";
	open (FILE, ">$file");
	print FILE $tsv;
	close(FILE);
	chmod (0646,"$file");
	&printHeader;
print <<"EOP";
修正しました。<br>
<a href="list.cgi">一覧へ</a>
</body></html>
EOP

$mbody = <<"EOM";
コンテストが修正されました。
-----------------------------------
タイトル：$title
概要：$abs
勝利の条件：$jud
優勝賞品：$win
主催者：$name
主催者URL：$url
メール：$email
登録日時：$date
司会進行	主催者側でやる $mc
コンテストID $id 
-----------------------------------
コンテストページ： http://dorkbot.org/dorkbottokyo/contests/each.cgi?id=$id
コンテスト一覧：http://dorkbot.org/dorkbottokyo/contests/list.cgi
EOM

	open(MAIL,"| /usr/sbin/sendmail -tif  dorkbottokyo\@dorkbot.org") || ERROR ("sending email");
	print MAIL "From: dorkbottokyo\@dorkbot.org\r\n";
	print MAIL "To: dorkbottokyo\@dorkbot.org\r\n";
	print MAIL "Subject: CONTEST MODIFIED\r\n";
	print MAIL "\r\n";
	print MAIL  $mbody;
	close(MAIL);

exit;
}
sub cutTab {
	$tmp = $_[0];
	$tmp =~ s/\t//g;
	return $tmp;
}
