#!/usr/bin/perl

sub main {

	&in_cookie;
	&idcheck;
	if (($f) && ($value{'mid'} eq $mm_mid) && ($value{'pass'} eq $mm_pass)) {
		&ot_cookie;
		if ($value{'mode'} eq "detail") { &detail; }
		elsif ($value{'mode'} eq "regist") { &regist; }
		elsif ($value{'mode'} eq "history") { &history; }
		else { &init; }
	}
	else { &login; }

}

# ------------------------------------------------------------------------------

sub login {

	&header("会員画面 - 認証");

	$html  .= qq(
<FORM METHOD="post" ACTION="$script12">
<INPUT TYPE=hidden NAME="mode" VALUE="init">
◆ ＩＤ<br>
<INPUT TYPE=text NAME="mid" VALUE="" SIZE=20$styl2>$hr
◆ パスワード<br>
<INPUT TYPE=text NAME="pass" VALUE="" SIZE=20$styl2>$hr
<INPUT TYPE=submit NAME="submit" VALUE="ログイン">$hr
<a href="./reissue.cgi">ＩＤ・パスワードをお忘れの方はこちら</a>
$hr
);

	&footer;

}

# ------------------------------------------------------------------------------

sub init {

#	if ($value{'payment'}) { &payment; }

	&header("会員画面");
	&lnk;

	$upidfile = $file . '/' . $mm_mid . '/upid.cgi';
	if (!open(UPID,"+< $upidfile")) { &error("ファイルが開けませんでした。upidfile","管理者までご連絡ください。"); }
	$upid = <UPID>;
	flock(UPID,2);
	seek(UPID,0,0);
	$upid =~ s/\n//g;
	@up_mid = split(/ /,$upid);
	$max = $ms_max + 2;
	if (@up_mid > $max) { pop(@up_mid); }
	$upid = "@up_mid";
	print UPID "$upid\n";
	truncate(UPID, tell(UPID));
	close(UPID);

	if (!open(MPAY,"$mpayfile")) { &error("ファイルが開けませんでした。mpayfile","管理者までご連絡ください。"); }
	@mpay = <MPAY>;
	close(MPAY);
	$payout = 0;
	foreach $mpay (@mpay) {
		$mpay =~ s/\n//g;
		&mpay_split;
		if ($value{'mid'} eq $mp_mid) {
			$payout = $payout + $mp_payout;
		}
	}

	$amt2 = $mm_accum - $mm_payout - $payout;
	$pay_3 = qq(請求可能\額);
	if ($payout) {
		$pay_3 = qq(請求中);
	}
#	elsif (($amt2 ne 0) && ($amt2 >= $ms_delay)) {
#		$payout = $amt2;
#		$pay_1 = qq(請求：\n);
#		$pay_2 = qq(<input type=submit name=payment value="請求"><br>\n);
#	}
	else {
		$payout = $amt2;
		$pay_3 = qq(現在残高);
	}

	$upctfile = $file . '/' . $mm_mid . '/upct.cgi';
	if (!open(UPCT,"$upctfile")) { &error("ファイルが開けませんでした。upctfile","管理者までご連絡ください。"); }
	$upct = <UPCT>;
	close(UPCT);
	$upct =~ s/\n//g;
	@up_cnt = split(/ /,$upct);

	$mm_accum = &yen("$mm_accum");
	$mm_payout = &yen("$mm_payout");
	$payout = &yen("$payout");

	$ms_delay = &yen("$ms_delay");

	if (!$up_cnt[0]) { $up_cnt[0] = 0; }
	$downline = qq(
紹介者数合計：$up_cnt[0]人
);

	foreach ( 1 .. $ms_max+1 ) {
		if ($_ eq 1) { $dan = "直接紹介"; }
		else { $i = $_ - 1; $dan = "間接紹介（$i段目）"; }
		if (!$up_cnt[$_]) { $up_cnt[$_] = 0; }
		$downline .= qq(
<br>$dan：$up_cnt[$_]人
);
	}

	$html  .= qq($ms_msg2
<br>
<div align=center>ようこそ$mm_nameさん</div>
<form method="post" action="$script12">
<input type=hidden name="mid" value="$value{'mid'}">
<input type=hidden name="pass" value="$value{'pass'}">
<input type=hidden name="mode" value="init">
<input type=hidden name="amt2" value="$amt2">
$hr
報酬合計：$mm_accum$ms_unit<br>
払出合計：$mm_payout$ms_unit<br>
$pay_3：$payout$ms_unit<br>
$pay_1$pay_2
払出は$ms_delay$ms_unit以上から受け付けています。
</form>
$hr
$downline
$hr
【宣伝用ＵＲＬ】
<br>----------------------<br>
◆全商材用<br>
<a href="$script00\?sid=$mm_mid" target="_blank">$script00\?sid=$mm_mid</a>
);

	if (!open(MGOD,"$mgodfile")) { &error("ファイルが開けませんでした。mgodfile","管理者までご連絡ください。"); }
	@mgod = <MGOD>;
	close(MGOD);
	$f = 0;
	foreach $mgod (@mgod) {
		$mgod =~ s/\n//g;
		&mgod_split;
		if ($mg_page) {
			$html  .= qq(
<br>----------------------<br>
◆$mg_goods<br>
<a href="$script00\?sid=$mm_mid\&gid=$mg_gid" target="_blank">$script00\?sid=$mm_mid\&gid=$mg_gid</a>
);
		}
	}

	&footer;

}

# ------------------------------------------------------------------------------

sub history {

	&header("会員画面");
	&lnk;

	$html  .= qq($ms_msg2
<div align=center>販売実績</div>
);

	if (!open(MGOD,"$mgodfile")) { &error("ファイルが開けませんでした。mgodfile","管理者までご連絡ください。"); }
	@mgod = <MGOD>;
	close(MGOD);
	foreach $mgod (@mgod) {
		$mgod =~ s/\n//g;
		&mgod_split;
		$cnt = 0;
		$amt = 0;
		$ggetfile = $file . '/' . $mm_mid . '/gget_' . $mg_gid . '.cgi';
		if (-e "$ggetfile") {
			if (!open(GGET,"$ggetfile")) { &error("ファイルが開けませんでした。ggetfile","管理者までご連絡ください。"); }
			@gget = <GGET>;
			close(GGET);
			foreach $gget (@gget) {
				$gget =~ s/\n//g;
				&gget_split;
				$cnt = $cnt + 1;
				$amt = $amt + $gg_amt;
			}
		}
		$cnt = &yen("$cnt");
		$amt = &yen("$amt");
		$html  .= qq(
<br>----------------------<br>
◆$mg_goods<br>
販売件数：$cnt件<br>
販売報酬：$amt円
);
	}

	&footer;

}

# ------------------------------------------------------------------------------

sub detail {

	&header("会員画面");
	&lnk;

	&detail_disp;

	&footer;

}

# ------------------------------------------------------------------------------

sub detail_disp {

	if ((!$mm_bank) || (!$mm_branch) || (!$mm_actp) || (!$mm_acct) || (!$mm_acnm)) {
		$bb = qq($hr振込先銀行情報が不完全です$hr);
	}

	$cc1 = ""; $cc2 = "";
	if ($mm_actp eq "1") { $cc1 = " selected"; }
	elsif ($mm_actp eq "2") { $cc2 = " selected"; }

	$mm_info =~ s/<br>/\n/g;

	$html  .= qq($ms_msg2
<div align=center>登録情報更新</div>
<br>
$bb
<FORM METHOD="post" ACTION="$script12">
<INPUT TYPE=hidden NAME="mode" VALUE="regist">
<input type=hidden name="mid" value="$value{'mid'}">
<input type=hidden name="pass" value="$value{'pass'}">
◆ＩＤ：$mm_mid$hr
◆パスワード<br>
<input type=text name="passnew" value="$mm_pass" size=20$styl2>$hr
◆メールアドレス<br>
<input type=text name="mail" value="$mm_mail" size=20$styl2>$hr
◆お名前<br>
<input type=text name="name" value="$mm_name" size=20>$hr
◆銀行名<br>
<input type=text name="bank" value="$mm_bank" size=20>$hr
◆支店名<br>
<input type=text name="branch" value="$mm_branch" size=20>$hr
◆口座番号<br>
	<select name="actp">
		<option value="1"$cc1>$actp[1]</option>
		<option value="2"$cc2>$actp[2]</option>
	</select>
	<input type=text name="acct" value="$mm_acct" size=20$styl>$hr
◆口座名義<br>
<input type=text name="acnm" value="$mm_acnm" size=20>$hr
<input type=submit name=upd value="　更　新　">
</form>
);

}

# ------------------------------------------------------------------------------

sub regist {

	if ($value{'upd'}) {
		if (!$value{'mail'}) { &error("入力がありません","メールアドレス"); }
		elsif ($value{'mail'} !~ /^[\w.-]+\@([\w-]+\.)+\w+$/) { &error("メールアドレスエラー","メールアドレスを半角英数字と-_.\@で入力してください。"); }
		if (!$value{'name'}) { &error("入力がありません","お名前"); }
		if (!$value{'passnew'}) { &error("入力がありません","パスワード"); }
		elsif ($value{'passnew'} =~ /\W/) { &error("パスワードエラー","半角英数字で入力してください"); }
		if (!$value{'bank'}) { &error("入力がありません","銀行名"); }
		if (!$value{'branch'}) { &error("入力がありません","支店名"); }
		if (!$value{'acct'}) { &error("入力がありません","口座番号"); }
		elsif ($value{'acct'} =~ /[^0-9]/) { &error("口座番号エラー","半角数字で入力してください"); }
		if (!$value{'acnm'}) { &error("入力がありません","口座名義"); }
	}

	$value{'pass'} = $value{'passnew'};

	if (!open(MMST,"+< $mmstfile")) { &error("ファイルが開けませんでした。mmstfile","管理者までご連絡ください。"); }
	$mmst = <MMST>;
	flock(MMST,2);
	seek(MMST,0,0);
	$mmst =~ s/\n//g;
	&mmst_split;
	$mm_pass = $value{'pass'};
	$mm_name = $value{'name'};
	$mm_mail = $value{'mail'};
	$mm_bank = $value{'bank'};
	$mm_branch = $value{'branch'};
	$mm_actp = $value{'actp'};
	$mm_acct = $value{'acct'};
	$mm_acnm = $value{'acnm'};
	&mmst_join;
	print MMST "$mmst\n";
	truncate(MMST, tell(MMST));
	close(MMST);

	$mmstfile = $file . '/mmst.cgi';
	if (!open(MMST,"+< $mmstfile")) { &error("ファイルが開けませんでした。mmstfile","管理者までご連絡ください。"); }
	@mmst = <MMST>;
	flock(MMST,2);
	seek(MMST,0,0);

	foreach $mmst (@mmst) {
		$mmst =~ s/\n//g;
		&mmst_split;
		if ($value{'mid'} eq $mm_mid) {
			$mm_pass = $value{'pass'};
			$mm_name = $value{'name'};
			$mm_mail = $value{'mail'};
			$mm_bank = $value{'bank'};
			$mm_branch = $value{'branch'};
			$mm_actp = $value{'actp'};
			$mm_acct = $value{'acct'};
			$mm_acnm = $value{'acnm'};
			&mmst_join;
		}
		print MMST "$mmst\n";
	}

	truncate(MMST, tell(MMST));
	close(MMST);

	&header("会員画面");
	&lnk;

	$html  .= qq(
<br>
<div align=center>更新完了</div>
);

	&footer;

}

# ------------------------------------------------------------------------------

sub lnk {

	$html  .= qq(
<form method="post" action="$script12">
<input type=hidden name="mid" value="$value{'mid'}">
<input type=hidden name="pass" value="$value{'pass'}">
<input type=hidden name="mode" value="init">
<input type=submit value="トップ" width=100%>
</form>
<form method="post" action="$script12">
<input type=hidden name="mid" value="$value{'mid'}">
<input type=hidden name="pass" value="$value{'pass'}">
<input type=hidden name="mode" value="history">
<input type=submit value="販売実績" width=100%>
</form>
<form method="post" action="$script12">
<input type=hidden name="mid" value="$value{'mid'}">
<input type=hidden name="pass" value="$value{'pass'}">
<input type=hidden name="mode" value="detail">
<input type=submit value="登録情報更新" width=100%>
</form>
);

}
1;
