#!/usr/bin/perl
#################################################################
$|=1;
use DBI;

require '/home/yymail/public_html/lib/jcode.pl';
require '/home/yymail/public_html/lib/cgi-lib.pl';
require '/home/movie/public_html/lib/moviealive.pl';
$sendmail = '/usr/sbin/sendmail';
$infomail = 'info@moviealive.com';
$ktmail = '09085292494@jp-k.ne.jp';
$cgifile = "vi_member.film";

&ReadParse(*in);
$mode = $in{'mode'};
$remode = $in{'remode'};
$regname = $in{'regname'};
$freename = $in{'freename'};
$realname = $in{'realname'};
$sex = $in{'sex'};
$birthy = $in{'birthy'};
$birthm = $in{'birthm'};
$birthd = $in{'birthd'};
$email = $in{'email'};
$url = $in{'url'};
$msg = $in{'msg'};
$country = $in{'country'};
$acount = $in{'acount'};
$pass = $in{'pass'};

$login = $in{'login'};
$loginacount = $in{'loginacount'};
$loginpass = $in{'loginpass'};

&getmember;
#文字コード設定##########################################
jcode::convert(*regname, 'euc');
jcode::convert(*freename, 'euc');
jcode::convert(*spellname, 'euc');
jcode::convert(*realname, 'euc');
jcode::convert(*country1, 'euc');
jcode::convert(*country2, 'euc');
jcode::convert(*info, 'euc');
jcode::convert(*msg, 'euc');

jcode::h2z_euc(*regname);
jcode::h2z_euc(*freename);
jcode::h2z_euc(*spellname);
jcode::h2z_euc(*realname);
jcode::h2z_euc(*country1);
jcode::h2z_euc(*country2);
jcode::h2z_euc(*info);

#ヘッダー設定##########################################

#ログイン用のクッキーを与える。
if($mode eq "c"){
		($ck_sec,$ck_min,$ck_hour,$ck_mday,$ck_mon,$ck_year,$ck_wday) = gmtime(time + 30*24*60*60);
		$ck_wday = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday') [$ck_wday];
		$ck_mon = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')[$ck_mon];
		$datec = sprintf("%s, %02d\-%s\-%04d %02d:%02d:%02d GMT",
		$ck_wday,$ck_mday,$ck_mon,$ck_year+1900,$ck_hour,$ck_min,$ck_sec);
		print "Set-Cookie: moviealive=$acount; expires=$datec\n";
}

print "Content-type: text/html\n\n";
open(TEMP,"</home/movie/public_html/temp_euc.html");
while(<TEMP>){
	if($_ =~ /<!--title-->/ && $remode eq "remake"){
		print "<title>[MovieAlive]ユーザー情報更新</title>\n";
	}elsif($_ =~ /<!--title-->/){
		print "<title>[MovieAlive]ユーザー登録</title>\n";
	}elsif($_ =~ /<!--login-->/){
		&login;
	}elsif($_ =~ /<!--menu-->/){
		&disp_menu;
	}elsif($_ =~ /<!--here-->/){

		if($mode eq "b"){ &mode_b; }
		elsif($mode eq "c"){ &mode_c; }
		else{ &mode_a; }

	}else{
		print $_;
	}
}
close(TEMP);
exit(0);

sub mode_a {

	if($remode eq "remake"){
		$ds = 'dbi:Pg:dbname=moviealive';
		$user = 'pgsql';
		$dbpass = '';
		$dbh = DBI->connect($ds,$user)or exitError("Cannot connect.");

		#映画情報
		$sth = $dbh->prepare("select * from members where acount = '$loginacount'");
		$sth->execute;
		$num = $sth->{'NUM_OF_FIELDS'};
		while($ref = $sth->fetchrow_arrayref){
			$moviedata = join(':-snichcode-:',@$ref);
		}
		($acount,$pass,$email,$regname,$realname,$sex,$birthy,$birthm,$birthd,$country,$msg,$url,$time) = split(/:-snichcode-:/,$moviedata);

		$sth->finish;
		$dbh->disconnect;
	}

	if($sex eq "m"){ $checked1 = "checked"; }elsif($sex eq "w"){ $checked2 = "checked"; }

	print <<"EOF";
				<br>
				<img src="images/tag_memberregist.gif" width="119" height="47" border="0">
					<hr size="1" color="#ff9900">
EOF
						if($remode eq "remake"){
							print <<"EOF";
								
								<font size="2">変更してください。</font>
EOF
						}else{
							print <<"EOF";
								<font size="2">ユーザー登録すると、レビューに名前が載ったり自己紹介することができます。</font>
EOF
						}

						print <<"EOF";
					<hr size="1" color="#ff9900">
					<table border="0" width="550" cellspacing="1" cellpadding="3">
						<form action="$cgifile" method="POST">
							<tr>
								<td colspan="3"><b><font color="#330000" size="2">あなたの情報をご記入下さい。</font></b></td>
							</tr>
							<tr>
								<td width="110" bgcolor="#ffcc66" rowspan="3"><font color="#330000" size="2">ログイン設定<br>（非公開です）</font></td>
								<td bgcolor="#ffcc99" width="110"><font color="#330000" size="2">ご本名</font></td>
								<td bgcolor="#ffcc99"><font color="#330000" size="2"><input type="text" name="realname" size="40" value="$realname"></font></td>
							</tr>
							<tr>
								<td bgcolor="#ffcc99"><font color="#330000" size="2">アカウント</font></td>
								<td bgcolor="#ffcc99"><font color="#330000" size="2">
EOF
						if($remode eq "remake"){
							print <<"EOF";
								$acount
								<input type="hidden" name="acount" size="40" value="$acount">
								<input type="hidden" name="remode" size="40" value="$remode">
EOF
						}else{
							print <<"EOF";
								<input type="text" name="acount" size="10" maxlength="8">※半角英数字8字以内
EOF
						}

						print <<"EOF";
								</font></td>
							</tr>
							<tr>
								<td bgcolor="#ffcc99"><font color="#330000" size="2">パスワード</font></td>
								<td bgcolor="#ffcc99">
								<font color="#330000" size="2">
								<input type="password" name="pass" size="10" maxlength="8" value="$pass">※半角英数字8字以内
								</font>
								</td>
							</tr>
							<tr>
								<td bgcolor="#ffff99" width="110" rowspan="6"><font color="#330000" size="2">ユーザー情報<br>（公開情報です）</font></td>
								<td bgcolor="#ffffcc"><font color="#330000" size="2">サイトで使う名前</font></td>
								<td bgcolor="#ffffcc"><input type="text" name="regname" size="40" value="$regname"></td>
							</tr>
							<tr>
								<td width="110" bgcolor="#ffffcc"><font color="#330000" size="2">性別</font></td>
								<td bgcolor="#ffffcc">
								<input type="radio" value="m" name="sex" $checked1><font color="#330000" size="2">男性　</font>
								<input type="radio" value="w" name="sex" $checked2><font color="#330000" size="2">女性　</font>
								</td>
							</tr>
							<tr>
								<td width="110" bgcolor="#ffffcc"><font color="#330000" size="2">誕生日</font></td>
								<td bgcolor="#ffffcc"><font color="#330000" size="2">
								<input type="text" name="birthy" size="5" maxlength="4" value="$birthy">年
								<input type="text" name="birthm" size="3" maxlength="2" value="$birthm">月
								<input type="text" name="birthd" size="3" maxlength="2" value="$birthd">日</font>
								</td>
							</tr>
							<tr>
								<td width="110" bgcolor="#ffffcc"><font color="#330000" size="2">メールアドレス</font></td>
								<td bgcolor="#ffffcc"><input type="text" name="email" size="40" value="$email"></td>
							</tr>
							<tr>
								<td width="110" bgcolor="#ffffcc"><font color="#330000" size="2">ウェブサイト</font></td>
								<td bgcolor="#ffffcc"><input type="text" name="url" size="40" value="$url"></td>
							</tr>
							<tr>
								<td width="110" bgcolor="#ffffcc"><font color="#330000" size="2">自己紹介</font></td>
								<td bgcolor="#ffffcc"><font color="#330000" size="2"><textarea name="msg" rows="5" cols="40">$msg</textarea></font></td>
							</tr>
							<tr>
								<td colspan="3" align="center">
								<font color="#330000" size="2"><input type="submit" value="この内容で登録する"><input type="hidden" name="mode" value="b"></font>
								</td>
							</tr>
						</form>
					</table>
EOF
}



sub mode_b {
	unless($realname){ &error('おなまえが入力されていません。'); }
	unless($regname){ &error('サイトで使う名前が入力されていません。'); }
	unless($acount){ &error('アカウントが入力されていません。'); }
	unless($pass){ &error('パスワードが入力されていません。'); }
	unless($email){ &error('メールアドレスが入力されていません。'); }
	unless($sex){ &error('性別が選択されていません。'); }
	unless($birthy || $birthm || $birthd){ &error('誕生日の入力が正しくありません。'); }
	
	$ds = 'dbi:Pg:dbname=moviealive';
	$user = 'pgsql';
	$dbpass = '';
	$dbh = DBI->connect($ds,$user)or exitError("Cannot connect.");

	#サイト内で使う名前を得る
	$sth = $dbh->prepare("select * from members where regname='$regname'");
	$sth->execute;
	$num = $sth->{'NUM_OF_FIELDS'};
	while($ref = $sth->fetchrow_arrayref){$regname_r = @$ref[0];}

	#サイト内で使うアカウントを得る
	$sth = $dbh->prepare("select * from members where acount='$acount'");
	$sth->execute;
	$num = $sth->{'NUM_OF_FIELDS'};
	while($ref = $sth->fetchrow_arrayref){$acount_r = @$ref[0];}

	$sth->finish;
	$dbh->disconnect;
	
	if($regname_r){ &error('すでに同じハンドルネーム（サイト内で使う名前）が存在します。'); }
	if($acount_r && $remode ne "remake"){ &error('すでに同じログインアカウントが存在します。'); }
	if($sex eq "m"){ $sexdisp = "男性";}elsif($sex eq "w"){ $sexdisp = "女性";}else{ $sexdisp = "指定無し";}
	$msgdisp = $msg;
	$msgdisp =~ s/\n/<br>/g;

	print <<"EOF";
		<br>
		<img src="../images/tag_memberregist.gif">
		<hr size="1" color="#ff9900">
		
<table border="0" width="550" cellspacing="1" cellpadding="3">
							<tr>
								<td colspan="3"><b><font color="#330000" size="2">あなたの情報をご確認下さい。以下の内容で宜しければ「上記で決定」を押して登録を完了してください。訂正がある場合はブラウザの「戻る」を押して訂正してください。</font></b></td>
							</tr>
							<tr>
								<td width="110" bgcolor="#ffcc66" rowspan="3"><font color="#330000" size="2">ログイン設定<br>（非公開です）</font></td>
								<td bgcolor="#ffcc99" width="110"><font color="#330000" size="2">漢字</font></td>
								<td bgcolor="#ffcc99"><font color="#330000" size="2">$realname</font></td>
							</tr>
							<tr>
								<td bgcolor="#ffcc99"><font color="#330000" size="2">アカウント</font></td>
								<td bgcolor="#ffcc99"><font color="#330000" size="2">$acount</font></td>
							</tr>
							<tr>
								<td bgcolor="#ffcc99"><font color="#330000" size="2">パスワード</font></td>
								<td bgcolor="#ffcc99"><font color="#330000" size="2">********</font></td>
							</tr>
							<tr>
								<td bgcolor="#ffff99" width="110" rowspan="6"><font color="#330000" size="2">ユーザー情報<br>（公開情報です）</font></td>
								<td bgcolor="#ffffcc"><font color="#330000" size="2">サイトで使う名前</font></td>
								<td bgcolor="#ffffcc"><font color="#330000" size="2">$regname</font></td>
							</tr>
							<tr>
								<td width="110" bgcolor="#ffffcc"><font color="#330000" size="2">性別</font></td>
								<td bgcolor="#ffffcc"><font color="#330000" size="2">$sexdisp</font></td>
							</tr>
							<tr>
								<td width="110" bgcolor="#ffffcc"><font color="#330000" size="2">誕生日</font></td>
								<td bgcolor="#ffffcc"><font color="#330000" size="2">$birthy年$birthm月$birthd日</font></td>
							</tr>
							<tr>
								<td width="110" bgcolor="#ffffcc"><font color="#330000" size="2">メールアドレス</font></td>
								<td bgcolor="#ffffcc"><font color="#330000" size="2">$email</font></td>
							</tr>
							<tr>
								<td width="110" bgcolor="#ffffcc"><font color="#330000" size="2">ウェブサイト</font></td>
								<td bgcolor="#ffffcc"><font color="#330000" size="2">$url</font></td>
							</tr>
							<tr>
								<td width="110" bgcolor="#ffffcc"><font color="#330000" size="2">自己紹介</font></td>
								<td bgcolor="#ffffcc"><font color="#330000" size="2">$msgdisp</font></td>
							</tr>
					</table>
					<hr size="1" color="#ff9900">
	<form method=post action=$cgifile>
		<INPUT type="hidden" value="$regname" name="regname">
		<INPUT type="hidden" value="$realname" name="realname">
		<INPUT type="hidden" value="$sex" name="sex">
		<INPUT type="hidden" value="$birthy" name="birthy">
		<INPUT type="hidden" value="$birthm" name="birthm">
		<INPUT type="hidden" value="$birthd" name="birthd">
		<INPUT type="hidden" value="$email" name="email">
		<INPUT type="hidden" value="$url" name="url">
		<INPUT type="hidden" value="$msg" name="msg">
		<INPUT type="hidden" value="$pass" name="pass">
		<INPUT type="hidden" value="$acount" name="acount">
		<INPUT type="hidden" value="c" name="mode">
		<input type="hidden" name="remode" size="40" value="$remode">
		<center>
		<INPUT type="submit" value="上記で決定">
		</center>
	</form>
		<hr size="1" color="#ff9900">
EOF
}

sub mode_c {

	$ds = 'dbi:Pg:dbname=moviealive';
	$user = 'pgsql';
	$dbpass = '';
	$dbh = DBI->connect($ds,$user)or exitError("Cannot connect.");
	$time = time;

	$time = time;
	if($remode eq "remake"){
		$sth = $dbh->prepare("update members set pass = '$pass',email = '$email',regname = '$regname',realname = '$realname',sex = '$sex',birthy = '$birthy',birthm = '$birthm',birthd = '$birthd',country = '$country',info = '$msg',url = '$url',time = '$time' where acount = '$acount'");
		$sth->execute;
	}else{
		$sth = $dbh->prepare("insert into members values('$acount','$pass','$email','$regname','$realname','$sex','$birthy','$birthm','$birthd','$country','$msg','$url','$time')");
		$sth->execute;
	}
	$sth->finish;
	$dbh->disconnect;

$subject = '[MovieAlive]ユーザー登録完了通知';

$mailhead = <<"EOM";
Return-Path: <$infomail>
Reply-To: $infomail
Content-type: Text/Plain; charset=iso-2022-jp
Content-transfer-Encoding: 7bit
From: $infomail
Subject: $subject

EOM
$mailbody = <<"EOF";
$regname様

ムービーアライブにご登録いただき、本当にありがとうございます。
早速情報をサイトに反映させていただきます。
$realname様の情報はムービーアライブが責任を持って管理させて
いただきますのでご安心下さい！

※ユーザー登録をされたことによって広告メールやメルマガなどを勝手
に送りつけることはありません。但し、コンテンツやその移動などサイ
ト運営に関するものは送るかも知れませんが( ^_^ ;)

では$realname様がご登録された情報をご確認下さい。
また、登録した覚えがないのにこのメールが届いた方は、お手数ですが
$infomailまでお知らせ下さい。
------------------------------------------------------------
お名前　　　　　　 $realname
ハンドルネーム　　 $regname
性別　　　　　　　 $sex
誕生日　　　　　　 $birthy年$birthm月$birthd日
メール　　　　　　 $email
ウェブサイト　　　 $url
自己紹介　　　　　 $msg
アカウント　　　　 $acount
パスワード　　　　 ご入力時のもの
------------------------------------------------------------
ムービーアライブを使うときは、ご登録のアカウントとパスワードで
ログインしてからご利用下さい。じゃないと名前が「ゲストさん」の
ままになっちゃいますので・・・。

$regnameさんは映画が好きですか？
どんな映画が好きですか？
いい映画があればぜひ教えてください！
ムービーアライブのどこかでお会いしましょう！

　ムービーアライブ管理人　ジンノ

------------------------------------------------------------
【MovieAlive：ムービーアライブ】

URL→http://www.moviealive.com/
Mail→$infomail
------------------------------------------------------------





$regnameさんがいい映画に出会えますように！

EOF
jcode::convert(*mailhead, 'jis');
jcode::convert(*mailbody, 'sjis');
open(MAIL, "| $sendmail $email");
print MAIL $mailhead;
print MAIL $mailbody;
close(MAIL);

$subject = '[MovieAlive]ユーザー登録報告';

$mailhead = <<"EOM";
Return-Path: <$infomail>
Reply-To: $infomail
Content-type: Text/Plain; charset=iso-2022-jp
Content-transfer-Encoding: 7bit
From: $email
Subject: $subject

EOM
$mailbody = <<"EOF";
------------------------------------------------------------
お名前　　　　　　 $realname
ハンドルネーム　　 $regname
性別　　　　　　　 $sex
誕生日　　　　　　 $birthy年$birthm月$birthd日
メール　　　　　　 $email
ウェブサイト　　　 $url
自己紹介　　　　　 $msg
アカウント　　　　 $acount
パスワード　　　　 $pass
------------------------------------------------------------
【MovieAlive：ムービーアライブ】
EOF
jcode::convert(*mailhead, 'jis');
jcode::convert(*mailbody, 'sjis');
open(MAIL, "| $sendmail $infomail");
print MAIL $mailhead;
print MAIL $mailbody;
close(MAIL);

$subject = 'MovieAlive/登録報告';

$mailhead = <<"EOM";
Return-Path: <$infomail>
Reply-To: $infomail
Content-type: Text/Plain; charset=iso-2022-jp
Content-transfer-Encoding: 7bit
From: $email
Subject: $subject

EOM
$mailbody = <<"EOF";
■お名前
$realname
■ハンドルネーム
$regname
■性別
$sex
■誕生日
$birthy年$birthm月$birthd日
■メール
$email
■自己紹介
$msg

おわり
EOF
jcode::convert(*mailhead, 'jis');
jcode::convert(*mailbody, 'sjis');
open(MAIL, "| $sendmail $ktmail");
print MAIL $mailhead;
print MAIL $mailbody;
close(MAIL);


	print <<"EOF";
	<br>
	<img src="../images/tag_memberregist.gif"><br>
	<br>
	<font size="2"><b>▼ご登録＆更新が完了しました。</b><br>
	登録確認メールを書かれたメールアドレス宛に送信していますので、必ずご確認下さい。<br>
	24時間以内にメールが届かない場合は$infomail宛にご連絡下さい。<br>
	<br>
	ムービーアライブを使うときは、ご登録のアカウントとパスワードでログインしてからご利用下さい。じゃないと名前が「ゲストさん」のままになっちゃいますので・・・。<br>
	<br>
	$regnameさんは映画が好きですか？<br>
	どんな映画が好きですか？<br>
	いい映画があればぜひ教えてください！<br>
	ムービーアライブのどこかでお会いしましょう！<br>
	<br>
	ムービーアライブ管理人　ジンノ
	<hr size="1" color="#ff9900">
	Myシアターへ→<a href="mytheater.film">『$regnameさん専用ページへ』</a>
	</font>
	<hr size="1" color="#ff9900">
EOF
}

exit(0);

sub error {
		print <<"EOF";
		<center>◆ｴﾗｰ通知◆</center><br>
		<hr size="1" color="#ff9900">
		▼$_[0]入力画面にお戻り下さい。
		<hr size="1" color="#ff9900">
		$emoji[0]<a href="$cgifile?mode=mode_a&regname=$regname&email=$email&ken=$ken&sex=$sex&tel=$tel&msg=$msg&pass=$pass" $ackey="0">戻る</a><br>
		<hr size="1" color="#ff9900">
		<center>(c)MTY</center></body></html>
EOF
	exit(0);
}

