#!/usr/local/bin/perl require 'cgi-lib/jcode.pl'; require 'cgi-lib/perl-lib.pl'; #-------------------------------------- # 管理者のメールアドレス # メールを使用する場合は、このアドレスに # 注文書が送付される $masteremail = 'shop@asiwatch.co.jp'; #-------------------------------------- # sendmailのパスを指定 # このサンプルではメール送信を停止しています。 # 次の行の先頭の#を削除して設定してください。 # メールを送信しない場合は''にする $sendmail = '/usr/sbin/sendmail'; #-------------------------------------- # 完了後戻るページ $homepage = 'index.html'; #-------------------------------------- # ショップのタイトル $title = 'アジワッチ'; #-------------------------------------- # バックグランドカラー $bg = '#FFFFFF'; # テキストの文字色 $text = '#000000'; # リンク文字色 $link = '#0000DD'; # Vリンク文字色 $vlink = '#DD0000'; # Aリンク色 $alink = '#DDDD00'; #-------------------------------------- # 文字の大きさ(ピクセル) $fontsize = '13px'; #-------------------------------------- # 売り場テーブルの幅(ピクセル) $tablewidth = 940; #-------------------------------------- # サーバの時差(日本の場合は9時間) $timelag = 9; #-------------------------------------- # デフォルトの商品のファイル名 $itemfile = 'thanks-t-a4.txt'; #-------------------------------------- # 決済方法の選択肢 $SETTLE[0] = '銀行振り込'; $SETTLE[1] = '代金引換'; #$SETTLE[2] = '郵便振替'; #-------------------------------------- # 都道府県情報 $AREA[0] = "北海道"; $AREA[1] = "青森県"; $AREA[2] = "岩手県"; $AREA[3] = "秋田県"; $AREA[4] = "山形県"; $AREA[5] = "宮城県"; $AREA[6] = "福島県"; $AREA[7] = "茨城県"; $AREA[8] = "栃木県"; $AREA[9] = "群馬県"; $AREA[10] = "埼玉県"; $AREA[11] = "千葉県"; $AREA[12] = "東京都"; $AREA[13] = "神奈川県"; $AREA[14] = "山梨県"; $AREA[15] = "新潟県"; $AREA[16] = "長野県"; $AREA[17] = "富山県"; $AREA[18] = "石川県"; $AREA[19] = "福井県"; $AREA[20] = "岐阜県"; $AREA[21] = "静岡県"; $AREA[22] = "愛知県"; $AREA[23] = "三重県"; $AREA[24] = "滋賀県"; $AREA[25] = "京都府"; $AREA[26] = "大阪府"; $AREA[27] = "兵庫県"; $AREA[28] = "奈良県"; $AREA[29] = "和歌山県"; $AREA[30] = "鳥取県"; $AREA[31] = "島根県"; $AREA[32] = "岡山県"; $AREA[33] = "広島県"; $AREA[34] = "山口県"; $AREA[35] = "徳島県"; $AREA[36] = "香川県"; $AREA[37] = "愛媛県"; $AREA[38] = "高知県"; $AREA[39] = "福岡県"; $AREA[40] = "佐賀県"; $AREA[41] = "長崎県"; $AREA[42] = "熊本県"; $AREA[43] = "大分県"; $AREA[44] = "宮崎県"; $AREA[45] = "鹿児島県"; $AREA[46] = "沖縄県"; #-------------------------------------- # メールに添付する署名 # メールアドレスを記入する場合は「@」の # 前に\を置いて\@とする $signature = << "END"; _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ 株式会社アジワッチ 住所 愛知県尾張旭市南栄町1−1 電話 0561-53-8255 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ END #-------------------------------------- # ページのトップに表示するヘッダー(HTML) # # 文字化けしやすい日本語には\を付ける # 表\示、機能\、申\し # $header = << "END";
END #-------------------------------------- # ページの下部に表示するフッター(HTML) $fooder = << "END";
| 会社概要 | | 個人情報取り扱いポリシー | | 特定商取引法に基づく\表\記 | | CONTACT |
〒488-0045 愛知県尾張旭市南栄町1−1 TEL:0561-53-1916
END #-------------------------------------- # 見積書の最下部に表示するメッセージ $message = <<"END";
  1. お客様の個人情報が漏洩する事はありません。
  2. お客様の個人情報は当サイト以外の目的で利用されることはありません。
  3. お名前、E-Mail、お届け先は必ずご記入ください。
  4. 銀行振り込み、郵便振替を選択した場合は、入金確認後の発送となります。
END #------------------------------------------------ # 設定はここまで # これ以降を変更すると動作保証できない #------------------------------------------------ sub boxtop { my($width, $boxtitle, $client) = @_; !$width && ($width = '100%'); my($bgcolor) = $tablebg; if ($client) { $bgcolor = $bg; } print "\n"; print "\n"; print "
\n"; } sub boxbottom { print "
\n"; } sub msgbox { my($caption, $icon, $msg, $button, $width) = @_; my($key, $value); &htmlhead(); print $header; print "
\n"; print "
\n"; print "\n"; print "\n"; # print "\n"; print "\n"; print "\n"; if ($button) { print "\n"; my(@BUTTON) = split(/,/, $button); print "\n"; } print "
■$caption
$msg
\n"; foreach (@BUTTON) { ($key, $value) = split(/:/, $_); if ($key =~ /return/i) { print "\n"; } else { if ($value =~ /\.cgi/i) { if ($value =~ /\?/) { $value .= "&id=$QUERY{'id'}&pw=$QUERY{'pw'}"; } else { $value .= "?id=$QUERY{'id'}&pw=$QUERY{'pw'}"; } } if ($value =~ /parent/) { print "\n"; } else { print "\n"; } } } print "
\n"; print "
\n"; foreach (0 .. 5) { print "
\n"; } print $fooder; print "\n"; print "\n"; exit; } sub htmlhead { my($flag) = @_; print "Content-type: text/html\n\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "$title\n"; print "\n"; print "\n"; print "\n"; } $sendmasteremail = 1; $ENV{'TZ'} = "GMT"; $datenow = time + $timelag * 3600; #if (!-e "trylicense.gif") { # open(IMG, ">trylicense.gif"); # foreach $line (@TRYROGO) { # $len = length($line); # for ($i = 0; $i < $len; $i+=2) { # $img = pack('C*',hex(substr($line, $i, 2))); # print IMG $img; # } # } # close IMG; #} readparts('QUERY', '<>=', 'sjis'); if ($QUERY{'file'}) { $datafile = $QUERY{'file'}; } else { $datafile = $itemfile; } readini($datafile); if ($QUERY{'action'} eq 'order') { #-------------------------------------- # 注文書 #-------------------------------------- # # 注文書の受け付け # $mailheader = "Mailer = アジワッチ\n"; $mailheader .= "DATE = " . jst_time($datenow, 3) . "\n"; $order = "-- Order ---------------------------------------------------\n"; $order .= "$INIT{'title'}\n"; @ITEMS = split(/\0/, $QUERY{'item'}); foreach (@ITEMS) { ($name, $value) = split(/:/, $_); $order .= "【$name】$value\n"; } $total = comma($QUERY{'total'}); $order .= "お買い上げ合計金額:$total\n"; $user .= "-- Sales ---------------------------------------------------\n"; $user .= "【お名前】$QUERY{'name'}\n"; $user .= "【E-Mail】$QUERY{'E-Mail'}\n"; $user .= "【ご住所】〒$QUERY{'postno'}\n"; ($a, $b) = split(/:/, $AREA[$QUERY{'division'}-1]); $user .= "$a$QUERY{'city'}$QUERY{'addr'}\n"; $user .= "$QUERY{'apart'}\n"; $user .= "【TEL】$QUERY{'tel'}\n"; $user .= "【FAX】$QUERY{'fax'}\n"; $user .= "【決済方法】$SETTLE[$QUERY{'settle'}]\n"; $user .= "【発送先】$QUERY{'cop'}\n"; $user .= "【メッセージ】\n"; $QUERY{'comment'} =~ s/\r/\n/g; $user .= "$QUERY{'comment'}\n"; $body = $mailheader . $order . $user; if ($sendmail) { if ($sendmasteremail) { # # 注文書を管理者に送信 # $subject = '注文書'; &jcode'convert(*subject,'jis'); &jcode'convert(*body,'jis'); send_email($sendmail, '', $subject, $QUERY{'E-Mail'}, $masteremail, $cc, '', $body) && msgbox("Error", "img/icon-email-2.png", "メールの送信に失敗しました。", 'return'); } if ($QUERY{'checkmail'}) { # # 注文書控えを送信 # $body = $order . $user . $signature; $body =~ s/\r/\n/g; $subject = '注文書(控)'; &jcode'convert(*subject,'jis'); &jcode'convert(*body,'jis'); send_email($sendmail, '', $subject, $masteremail, $QUERY{'E-Mail'}, '', '', $body) && msgbox("Error", "img/icon-email-2.png", "メールの送信に失敗しました。", 'return'); } } $msg = "

ありがとうございました。
\n"; $msg .= "正常にご注文をお受けしました。

\n"; if ($sendmail && $QUERY{'checkmail'}) { $msg .= "あなたのメールアドレスに注文書控えを送信しました。
\n"; } $msg .= "またのお越しをお待ち申\し上げております。"; msgbox("送信完了", "img/icon-email-2.png", $msg, "売り場に戻る:$homepage",'',1); } if ($QUERY{'action'} eq 'estimate') { #-------------------------------------- # 見積書 #-------------------------------------- # 入力項目のチェック # !$QUERY{'name'} && msgbox("Error", "img/icon-email-2.png", "お名前が記入されていません。", 'return'); $QUERY{'E-Mail'} = kaconv($QUERY{'E-Mail'}); $QUERY{'E-Mail'} !~ /^[\w\-\.]+\@[\w\-\.]+$/ && msgbox("Error", "img/icon-email-2.png", "メールアドレスが不正です。", 'return'); !$QUERY{'postno'} && msgbox("Error", "img/icon-email-2.png", "郵便番号が記入されていません。", 'return'); !$QUERY{'division'} && msgbox("Error", "img/icon-email-2.png", "都道府県が選択されていません。", 'return'); !$QUERY{'city'} && msgbox("Error", "img/icon-email-2.png", "市区町村名が記入されていません。", 'return'); !$QUERY{'addr'} && msgbox("Error", "img/icon-email-2.png", "番地が記入されていません。", 'return'); !$QUERY{'tel'} && msgbox("Error", "img/icon-email-2.png", "電話番号が記入されていません。", 'return'); htmlhead(); print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print $header; print "

\n"; $INIT{'itemimage'} && print "\n"; print "

\n"; print "
\n"; print "\n"; print "\n"; foreach (1 .. $INIT{'count'}) { $Variable = "ITEM$_"; $SelVariable = "itemITEM$_"; if ($QUERY{$SelVariable} ne '') { $titlefield = shift(@$Variable); ($item, $link) = split(/:/, $titlefield); print "\n"; print "\n"; } $row++; } print "\n"; $total = comma($QUERY{'total'}); print ""; print "
$INIT{'title'}
$item"; ($name, $price) = split(/:/, $$Variable[$QUERY{$SelVariable}]); print "\n"; print "$name
お買上げ金額$total
\n"; print "
\n"; &estimate(); print "\n"; print $fooder; print "
\n"; print "\n"; print "\n"; print "\n"; exit; } #-------------------------------------- # 売り場の生成 #-------------------------------------- htmlhead(); print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
\n"; print $header; print "

\n"; $INIT{'itemimage'} && print "\n"; # # 商品を陳列 # print @ITEMTITLE; $row = 1; $default = $INIT{'default'}; $fixation = $INIT{'default'}; print "
\n"; print "\n"; print "\n"; print "\n"; foreach (1 .. $INIT{'count'}) { $Variable = "ITEM$_"; if (@$Variable) { $titlefield = shift(@$Variable); $titlefield =~ s/http:\/\///g; ($name, $link, $msg) = split(/:/, $titlefield); $link && ($link = "http://".$link); print "\n"; print "\n"; print "\n"; $row++; } } if ($carriagetype) { print "\n"; print "\n"; print ""; print "\n"; } print "\n"; print "\n"; print "
$INIT{'title'}
$name"; if (@$Variable > 1) { push(@SELECT, "$_"); print "\n"; print ""; } else { ($name, $price) = split(/:/, $$Variable[0]); print $name; $default += $price; $fixation += $price; } if ($msg) { print "
$msg"; } print "
"; if ($INIT{'pagetype'} && $_ == 1) { print ""; } elsif ($link) { print ""; } print "
送料※お届けする地域を選択してください。
合計
\n"; print "
\n"; &estimate(); print "

\n"; print $fooder; print "

\n"; print "
\n"; print "

\n"; print "\n"; print "\n"; print "\n"; exit; sub estimate { print "\n"; if ($datafile && $QUERY{'selectitem'}) { print "\n"; } if ($changeflag) { print "\n"; } print "\n"; if ($QUERY{'conf'}) { if ($sendmail) { print "\n"; } } else { print "\n"; } print "
\n"; print &htmlcalc(); print "
お届先変更で送料が変更されました。
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; if ($QUERY{'conf'}) { if ($QUERY{'cop'}) { print "\n"; print "\n"; print "\n"; } } else { print "\n"; print "\n"; } if ($QUERY{'conf'}) { if ($QUERY{'comment'}) { print "\n"; $QUERY{'comment'} =~ s/\r/
/g; print "\n"; print "\n"; } } else { print "\n"; print "\n"; } print "
■お申\し込み
お名前:"; if ($QUERY{'conf'}) { print "\n"; print $QUERY{'name'}; } else { print ""; } print "
E-Mail:"; if ($QUERY{'conf'}) { print "\n"; print $QUERY{'E-Mail'}; } else { print ""; } print "
ご住所:〒"; if ($QUERY{'conf'}) { print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "$QUERY{'postno'}
\n"; ($a, $b) = split(/:/, $AREA[$QUERY{'division'}-1]); print "$a$QUERY{'city'}$QUERY{'addr'}
\n"; print $QUERY{'apart'}; } else { print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
市区町村番地

\n"; print "※アパート、マンション名、部屋番号まで詳しくお書きください。
\n"; } print "
連絡先:"; if ($QUERY{'conf'}) { $QUERY{'tel'} = kaconv($QUERY{'tel'}); $QUERY{'fax'} = kaconv($QUERY{'fax'}); print "\n"; print "\n"; print "TEL:$QUERY{'tel'}"; print "\ \FAX:$QUERY{'fax'}"; } else { print "TEL:"; print "\ \FAX:"; } print "
決済方法:"; if ($QUERY{'conf'}) { print "\n"; print $SETTLE[$QUERY{'settle'}]; } else { print "\n"; } print "
発送先:$QUERY{'cop'}
発送先:
\n"; print "※発送先を入力した住所以外【式場など】にする場合はご記入ください。代金引換はご利用できません
コメント:$QUERY{'comment'}
コメント:
\n"; print "※配達時間帯指定や、代金引換を局留にする場合、
\n"; print " その他何かありましたらご記入ください。
\n"; print "
"; print "注文書控えをメールで受信する"; print "
\n"; print "
$message
\n"; print "
\n"; print "

"; print "\n"; if ($QUERY{'conf'}) { print "\n"; } else { print "\n"; print "\n"; } print "

\n"; }