#!/usr/bin/perl

require 'lib/jcode.pl';

$MAILADDRESS = ' sales@medix-jp.co.jp';

$HOST = 'medix-jp.co.jp';

$SARVERDOMAIN = 'webmaster@medix-jp.co.jp';

$SENDMAILPATH = '|/usr/sbin/sendmail -bm';

$TOPURL = 'http://www.medix-jp.co.jp/main.html';

%q_s;

&init_form();

if($q_s{'01-postvalue'} eq ""){
&error_end("郵便番号が入力されていません。");
}
if($q_s{'02-address'} eq ""){
&error_end("住所が入力されていません。");
}
if($q_s{'03-usrname'} eq ""){
&error_end("名前が入力されていません。");
}
if($q_s{'03-usrfname'} eq ""){
&error_end("フリガナが入力されていません。");
}
if($q_s{'04-telno'} eq ""){
&error_end("電話番号が入力されていません。");
}
if($q_s{'05-email'} eq ""){
&error_end("電子メールアドレスが入力されていません。");
}
if($q_s{'06-goodsname'} eq ""){
&error_end("購入商品が入力されていません。");
}
if($q_s{'07-price'} eq ""){
&error_end("送料が入力されていません。");
}
if($q_s{'08-paymethod'} eq ""){
&error_end("お支払い方法が入力されていません。");
}
if( ($q_s{'08-paymethod'} eq "VISA") || ($q_s{'08-paymethod'} eq "MASTER") ){
if($q_s{'09-cardnum'} eq ""){
&error_end("カード番号が入力されていません。");
} elsif($q_s{'10-cardmon'} eq ""){
&error_end("カード有効期限の月が入力されていません。");
} elsif($q_s{'11-cardyear'} eq ""){
&error_end("カード有効期限の年が入力されていません。");
} elsif($q_s{'12-cardname'} eq ""){
&error_end("カード名義人が入力されていません。");
} elsif($q_s{'12-cardname'} =~ /\W/){
&error_end("カード名義人を記載とおりに入力してください。");
}
}
if($q_s{'07-price'} eq "1000円"){
if( ($q_s{'02-address'} =~ /北海道/) || ($q_s{'02-address'} =~ /沖縄/) ){
&print_header();
&print_confilm();
}
}

&print_header();
&send_mail_corp();
&send_mail_usr();
&print_endpage();

sub send_mail_usr{
local($index,$msg,$subject,$address_num,$address,$name,$tel_num,$email,$itemname,$paymaney,$pay_way);
local($msg_text, $msg_bank, $msg_pbank, $msg_post, $msg_footer);

unless(open(MAIL,"$SENDMAILPATH $q_s{'05-email'}")){
&error_end("メールを送信出来ませんでした");
}
$subject = 'ご注文ありがとうございました';
$name = "$q_s{'03-usrname'}";
$fname = "$q_s{'03-usrfname'}";
$email = "$q_s{'05-email'}";
$itemname = "購入商品 $q_s{'06-goodsname'}";
$paymaney = "送料 $q_s{'07-price'}";
$pay_way = "支払方法 $q_s{'08-paymethod'}";
$msg_text = "この度は、下記商品をお申\し込みいただきまことにありがとうございました。";
$msg_bank = "銀行振込でのお支払方法\n\n振込先銀行は下記のとおりです。\n\n振込み銀行 東京三菱銀行上六支店\n普通預金 0109018\n口座名 株式会社メディックス";
$msg_pbank = "郵便振替でのお支払方法\n\n振替先は下記のとおりです。\n\n口座番号 00950-5-321352 \n口座名 株式会社メディックス";
$msg_post = "現金書留でのお支払方法\n\n〒543-0002\n大阪市天王寺区上本町6-9-24-50E\n株式会社メディックス\n入金確認後、商品をお送りいたします。";
$msg_footer = "ご不明な点、ご質問等は下記までお願いいたします。\n\nありがとうございました。\n\n\n\n_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/\n販売\n株式会社メディックス\ne-mail/ sales\@medix-jp.co.jp\nURL/ http://www.medix-jp.co.jp/\n_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/";

&jcode::convert(\$subject,'jis');
&jcode::convert(\$name,'jis');
&jcode::convert(\$fname,'jis');
&jcode::convert(\$email,'jis');
&jcode::convert(\$itemname,'jis');
&jcode::convert(\$paymaney,'jis');
&jcode::convert(\$pay_way,'jis');
&jcode::convert(\$msg_text,'jis');
&jcode::convert(\$msg_bank,'jis');
&jcode::convert(\$msg_post,'jis');
&jcode::convert(\$msg_footer,'jis');

# print MAIL $msg;
print MAIL ("MIME-Version: 1.0\n");
print MAIL ("Content-Type: text/plain;\n\tcharset=\"iso-2022-jp\"\n");
print MAIL ("Content-Transfer-Encoding: 7bit\n");
print MAIL ("Subject: $subject\n");
print MAIL ("To: $email\n");
print MAIL ("From: $SARVERDOMAIN\n\n");
print MAIL ("$name ($fname) 様\n\n");
print MAIL ("$itemname\n");
print MAIL ("$paymaney\n");
print MAIL ("$pay_way\n\n");
print MAIL ("$msg_text\n\n");

if($q_s{'08-paymethod'} eq "銀行振込"){
print MAIL ("$msg_bank\n\n");
} elsif($q_s{'08-paymethod'} eq "郵便振替"){
print MAIL ("$msg_pbank\n\n");
} elsif($q_s{'08-paymethod'} eq "現金書留"){
print MAIL ("$msg_post\n\n");
}

print MAIL ("$msg_footer\n\n");

close(MAIL);
}

sub send_mail_corp{
local($index,$msg,$subject,$address_num,$address,$name,$tel_num,$email,$itemname,$paymaney,$pay_way);
unless(open(MAIL,"$SENDMAILPATH $MAILADDRESS")){
&error_end("メールを送信出来ませんでした");
}
$subject = '商品購入';
$address_num = "郵便番号 $q_s{'01-postvalue'}";
$address = "住所 $q_s{'02-address'}";
$name = "氏名 $q_s{'03-usrname'}";
$fname = "フリガナ $q_s{'03-usrfname'}";
$tel_num = "電話番号 $q_s{'04-telno'}";
$email = "メールアドレス $q_s{'05-email'}";
$itemname = "購入商品 $q_s{'06-goodsname'}";
$paymaney = "送料 $q_s{'07-price'}";
$pay_way = "支払 $q_s{'08-paymethod'}";
$card_num = "カード番号 $q_s{'09-cardnum'}";
$card_term = sprintf("カード有効期限 %02d 月 %04d 年", $q_s{'10-cardmon'}, $q_s{'11-cardyear'});
$card_name = "カード名義人 $q_s{'12-cardname'}";
&jcode::convert(\$subject,'jis');
&jcode::convert(\$address_num,'jis');
&jcode::convert(\$address,'jis');
&jcode::convert(\$name,'jis');
&jcode::convert(\$fname,'jis');
&jcode::convert(\$tel_num,'jis');
&jcode::convert(\$email,'jis');
&jcode::convert(\$itemname,'jis');
&jcode::convert(\$paymaney,'jis');
&jcode::convert(\$pay_way,'jis');
&jcode::convert(\$card_num,'jis');
&jcode::convert(\$card_term,'jis');
&jcode::convert(\$card_name,'jis');

# print MAIL $msg;
print MAIL ("MIME-Version: 1.0\n");
print MAIL ("Content-Type: text/plain;\n\tcharset=\"iso-2022-jp\"\n");
print MAIL ("Content-Transfer-Encoding: 7bit\n");
print MAIL ("Subject: $subject\n");
print MAIL ("To: $MAILADDRESS\n");
print MAIL ("From: $SARVERDOMAIN\n\n");
print MAIL ("$address_num\n");
print MAIL ("$address\n");
print MAIL ("$name\n");
print MAIL ("$fname\n");
print MAIL ("$tel_num\n");
print MAIL ("$email\n");
print MAIL ("$itemname\n");
print MAIL ("$paymaney\n");
print MAIL ("$pay_way\n");

if( ($q_s{'08-paymethod'} eq "VISA") || ($q_s{'08-paymethod'} eq "MASTER") ){
print MAIL ("$card_num\n");
print MAIL ("$card_term\n");
print MAIL ("$card_name\n");
}

close(MAIL);
}

sub print_endpage{
print qq |<html><body><center>\n|;
print qq |ありがとうございました。<br>\n|;
print qq |後日確認のメールを送りますので、間違い等ありましたら連絡下さい。<br>\n|;
print qq |<a href = "$TOPURL" target = "_top">\n|;
print qq |トップページへ</a></center></body></html>\n|;
}


sub print_header{
print "Content-Type: text/html\n\n";
print qq |<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\n|;
}

sub print_confilm{
print qq |<html><body><center>\n|;
print qq |お客様の送料は<font color="#FF0000">2000円</font>になります。<br>\n|;
print qq |ブラウザの戻るボタンで再度設定してください。<br>\n|;
print qq |<a href = "$TOPURL" target = "_top">\n|;
print qq |トップページへ</a></center></body></html>\n|;

exit;

}

#エラー終了
sub error_end{
&print_header();
print qq|<html><body>\n|;
print qq|<center><font color = "#FF0000"> $_[0] \n|;
print qq|</font><br>Back to browser button<br>\n|;
print qq|</center></body></html>\n|;

exit 1;
}

#現在時刻の取得[2000-00-00(Sun)00:00:00]の形式で
sub get_time{
local(@w_day) = ("Sun","Mon","Tue","Wed","Thu","Fri","Sta");
local($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);

return sprintf("%4d-%02d-%02d(%s)%02d:%02d:%02d",
$year + 1900,
$mon + 1,
$mday,
$w_day[$wday],
$hour,
$min,
$sec);
}


#入力内容の正規化
sub init_form{
local($name,$value,$input_str,@divide_data);

if($ENV{'REQUEST_METHOD'} eq 'POST'){
local($input_len) = $ENV{'CONTENT_LENGTH';
read(STDIN,$input_str,$input_len)};
}
else{
$input_str = $ENV{'QUERY_STRING'};
}

@divide_data = split(/&/,$input_str);
foreach(@divide_data){
($name,$value) = split(/=/,$_);
$value =~ tr/+/ /;
$value =~ s/%(..)/pack("C",hex($1))/eg;
$value =~ s/[<>%"]/-/g;
# &jcode'convert(*value,'sjis');
$q_s{$name} = $value;
}
}