#!/usr/bin/perl ## cart.cgi v1.21 (2002/12/30) ## Copyright (C) Kent Web 2002 # 外部ファイル取り込み require './jcode.pl'; require './init.cgi'; # メイン処理 &decode; if ($mode eq "cart") { &cart; } elsif ($mode eq "note") { ¬e; } elsif ($mode eq "check") { ✓ } &menu; #----------------# # メニュー表示 # #----------------# sub menu { local($i, $n, $next, $back); &header; print "
■オススメ商品
\n"; print <<"EOM"; EOM # 検索窓 if ($find) { print "
\n"; # 検索実行 if ($in{'word'} ne "") { &find; } print "
\n"; print "
\n"; print "\n"; foreach (0 .. $#key) { print "\n"; } print "\n"; print "
\n"; } # 買物受付け if ($key[0]) { &pick; } # カテゴリ表示 if ($category == 2) { &category; } if ($page eq '') { $page=0; } $gview *= $rview; print "\n"; $i=0; $n=0; open(IN,"$logfile") || &error("Open Error : $logfile"); while () { $n++; if ($n < $page + 1) { next; } if ($n > $page + $gview) { last; } if ($i >= $rview) { print ""; $i=0; } $i++; if ($category) { $span=4; } else { $span=3; } chop; ($no,$item,$price,$size,$color,$img,$memo,$w,$h,$intax,$nmb,$id,$cate,$link) = split(/<>/); if ($size) { $span++; } if ($color) { $span++; } if ($memo) { $span++; } if (!$imgview && $img) { $item = "$item"; } $price2 = &filler($price); if ($id eq "") { $id = $no; } print ""; } close(IN); print "
"; print "
\n"; print "\n"; print "\n"; # 注文オーダ蓄積 foreach (0 .. $#key) { print "\n"; } print "\n"; print ""; # 画像 if ($img && $imgview) { print "\n"; } else { print "\n"; } # 入力 $flag=0; $pnum=$psize=$pcol=''; foreach (0 .. $#key) { if ($no == $key[$_]) { $flag=1; ($pnum,$psize,$pcol) = split(/:/, $val[$_]); last; } } if (!$flag) { $pnum = 0; } if ($memo) { print "\n"; } if ($category) { if ($cate eq "") { $cate = 0; } print ""; print "\n"; } print ""; print "
$item
"; if ($w && $h) { $wh = "width=$w height=$h"; } print "" if ($link); print "\"$item\""; print "" if ($link); print "
$id
$memo
カテゴリ$cate[$cate]
\\ $price2"; if ($intax == 1) { print "(税込)"; } else { print "(税別)"; } print "
\n"; # ページ繰り越しボタン $next = $page + $gview; $back = $page - $gview; print "
\n"; if ($back >= 0) { print "\n"; } if ($next < $n) { print "\n"; } print "
\n"; print "\n"; foreach (0 .. $#key) { print "\n"; } print "
\n"; print "\n"; foreach (0 .. $#key) { print "\n"; } print "

\"もっと簡単ショッピング!ストアミックス\"
\n"; # 著作権表示(削除改編を禁止します) print <<"EOM";

CopyRight(c)2002  @\Beauty. All rights reserved.
EOM exit; } #--------------# # 買い物処理 # #--------------# sub pick { local($order,$flag,$all1,$all2,$tax); $order=0; open(IN,"$logfile") || &error("Open Error : $logfile"); foreach (0 .. $#key) { ($pnum) = split(/:/, $val[$_]); if (length($pnum) > $maxlen) { &error("注文個数は$maxlen桁までです"); } if ($pnum > 0) { $order++; } $flag=0; while ($file = ) { ($no,$item,$price,$size,$color,$img,$memo,$w,$h,$intax,$nmb) = split(/<>/, $file); if ($key[$_] == $no) { $flag=1; $price2 = $price * $pnum; if ($intax == 1) { $tax = 0; } else { $tax = int($price2*0.05); } last; } } if ($flag) { $all_pr2 += $price2; $all_tax += $tax; } seek(IN,0,0); } close(IN); # 0個の場合 if (!$order) { return; } # 桁区切り $all_pr3 = $all_pr2 + $all_tax; $all_pr3 = &filler($all_pr3); $all_pr2 = &filler($all_pr2); $all_tax = &filler($all_tax); print "
\n"; # 注文オーダ蓄積 foreach (0 .. $#key) { print "\n"; } # 合計金額表示 print <<"EOM";
小 計: \\ $all_pr2 消費税: \\ $all_tax 合計金額: \\ $all_pr3

EOM } #------------# # 注文処理 # #------------# sub cart { # 買い物締めチェック if ($in{'job'} == 2 && @key == 0) { &header; print "

", "

買い物カゴの中身が空です。

\n", "注文を行うにはメニューに戻って買い物カゴに商品を入れてください。\n", "

\n", "
\n", "\n"; exit; } # 住所入力チェック elsif ($in{'job'} == 3) { if ($in{'name'} eq "") { &error("名前の入力がありません"); } if ($in{'addr'} eq "") { &error("住所の入力がありません"); } if ($in{'tel'} eq "") { &error("電話の入力がありません"); } if ($in{'email'} !~ /[\w\.\-]+\@[\w\.\-]+\.[a-zA-Z]{2,5}$/) { &error("E-Mailの入力が不正です"); } # 支払選択の場合 if ($payment && $in{'payment'} eq "") { &error('支払方法の選択がありません'); } # 配達月日 if ($deliver) { if (($in{'mon'} eq "" && $in{'day'} ne "") || ($in{'mon'} ne "" && $in{'day'} eq "")) { &error('配達の月日が不完全です'); } elsif ($in{'mon'} && $in{'day'}) { if ($in{'mon'} > 12 || $in{'mon'} < 1) { &error('あり得ない月です'); } if ($in{'day'} > 31 || $in{'mon'} < 1) { &error('あり得ない日です'); } } } # 郵便番号 if ($postno && $in{'yuno'} !~ /^\d{3}\-?\d{4}$/) { &error('郵便番号は7桁の数字が必要です
「3桁 - 4桁」で入力してください'); } } # クッキー情報格納 elsif ($in{'job'} == 4) { $in{'addr'} =~ s/<br>/
/g; $in{'addr2'} =~ s/<br>/
/g; $in{'note'} =~ s/<br>/
/g; &set_cookie; } # 取り消し処理 if ($in{'del'} ne "") { @k=(); @v=(); foreach (0 .. $#key) { if ($_ == $in{'del'}) { next; } push(@k,$key[$_]); push(@v,$val[$_]); } @key=@k; @val=@v; } &header; print "
\n"; print "\n"; print "\n"; print "
\n"; print "
\n"; # 状況表示 &order_view($in{'job'}); # 確定処理 if ($in{'job'} == 4) { # ロック開始 &lock if ($lockkey); # 注文の受理 &sendmail; # ロック解除 &unlock if ($lockkey); # 完了メッセージ print "

ご利用ありがとうございました

\n", "
", "
\n", "\n"; exit; } # 注文表 print "

\n"; print ""; if ($in{'job'} eq "") { print "\n"; $colspan=5; } else { print "\n"; $colspan=4; } open(IN,"$logfile") || &error("Open Error : $logfile"); foreach (0 .. $#key) { ($pnum,$psize,$pcol) = split(/:/, $val[$_]); while ($file = ) { chop($file); ($no,$item,$price,$size,$color,$img,$memo,$w,$h,$intax,$nmb,$id,$cate,$link) = split(/<>/, $file); if ($key[$_] == $no) { # 合価 $price2 = $price * $pnum; # 税 if ($intax == 1) { $tax = 0; $zei = "税込み"; } else { $tax = int($price2*0.05); $zei = "税別"; } # 小計 $price3 = $price2 + $tax; # 合計処理 $all_pr2 += $price2; $all_tax += $tax; $ten += $pnum; # 桁区切り $price = &filler($price); $price2 = &filler($price2); $price3 = &filler($price3); $tax = &filler($tax); if ($psize eq "") { $psize="
"; } if ($pcol eq "") { $pcol="
"; } if ($memo eq "") { $memo="
"; } if ($id eq "") { $id = $no; } # 色定義 if ($_ % 2) { $line=$lin1; } else { $line=$lin2; } print "
"; print ""; if ($in{'job'} eq "") { print "\n"; } else { print "\n"; } last; } } seek(IN,0,0); } close(IN); # 桁区切り if ($all_pr2 eq "") { $all_pr2 = 0; } if ($all_tax eq "") { $all_tax = 0; } $all_pr3 = $all_pr2 + $all_tax; $all_pr3 = &filler($all_pr3); $all_pr2 = &filler($all_pr2); $all_tax = &filler($all_tax); if ($line eq $lin1) { $line = $lin2; } else { $line = $lin1; } print "\n"; print "
商品No商品名数量単 価合 価消費税商品計税種別$attr1$attr2備考取消
$id$item$pnum$price$price2$tax$price3$zei$psize$pcol$memo
\n"; print "\n"; print "\n"; foreach (0 .. $#key) { print "\n"; } print "
合計金額\\ $all_pr2\\ $all_tax\\ $all_pr3

\n"; $submit = '住所入力画面へ移動'; print "

\n"; print "\n"; if ($in{'job'}) { $job = $in{'job'}+1; } else { $job=2; } print "\n"; foreach (0 .. $#key) { print "\n"; } ## 住所入力 if ($in{'job'} == 2) { # ボタン名を定義 $submit = '注文確認画面へ移動'; # 支払方法 if ($payment) { print "\n"; print "\n
支払方法(選択必須)
\n"; foreach (0 .. $#payment) { print "$payment[$_]  \n"; } print "
\n"; } # 送料 if ($postage) { print "

\n"; print "\n
送料(上記金額とは別途にかかります)
\n"; print $postage2; print "
\n"; } # 配達日時 if ($deliver) { print "

\n"; print "\n
希望配達日時(ご希望がある場合に記入してください)
\n"; print "希望日 日   \n"; print "時間帯
\n"; } # クッキー取得 &get_cookie; $ck{'addr'} =~ s/
/\r/g; $ck{'addr2'} =~ s/
/\r/g; print "

\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; # CCメール if ($ccmail) { print "", "\n"; } print "
注文者 ( *入力必須 )
会社名
名前 *
郵便番号"; print " *" if ($postno); print "   (例 : 103-0225)
住所 *
電話 *
FAX
E-Mail *
注文控え ", "(ここにチェックを入れると注文内容の写しを送信します)
\n"; print "

\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
配送先(注文者の住所と異なる場合に記入)
会社名
名前
郵便番号   (例 : 103-0225)
住所
電話
FAX
\n"; print "

\n"; print "\n"; if ($ck{'cook'} eq "on") { $chk=" checked"; } else { $chk=""; } print "\n"; print "
クッキー情報(注文者と配達先情報を次回以降に自動表\示します)
保存する
\n"; print "

\n"; print "\n"; print "\n"; print "
備考(ご要望、ご質問などをどうぞ・・)
\n"; ## 確認画面 } elsif ($in{'job'} == 3) { $submit = '上記内容で確定処理をする'; print "

\n"; print "
\n"; if ($payment) { print "\n"; print "
▼支払い方法
$payment[$in{'payment'}]

\n"; } if ($postage) { print "
▼送料(上記金額とは別にかかります)\n"; print "
$postage2

\n"; } if ($deliver) { print "
▼希望配達日時
"; if ($in{'mon'} ne "" && $in{'day'} ne "") { print "$in{'mon'}月 $in{'day'}日 "; } else { print "月日指定なし "; } if ($in{'hour'} ne "") { print "$deli[$in{'hour'}]"; } else { print "時間帯指定なし"; } print "

\n"; } # 改行処理 $in{'addr'} =~ s/\r\n/
/g; $in{'addr'} =~ s/\r/
/g; $in{'addr'} =~ s/\n/
/g; $in{'addr2'} =~ s/\r\n/
/g; $in{'addr2'} =~ s/\r/
/g; $in{'addr2'} =~ s/\n/
/g; $in{'note'} =~ s/\r\n/
/g; $in{'note'} =~ s/\r/
/g; $in{'note'} =~ s/\n/
/g; 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"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
▼注文者情報\n"; print "
会社名
$in{'comp'}\n" if ($in{'comp'}); print "
名前
$in{'name'}\n"; print "
郵便番号
$in{'yuno'}\n" if ($in{'yuno'}); print "
住所
$in{'addr'}\n"; print "
電話
$in{'tel'}\n"; print "
FAX
$in{'fax'}\n" if ($in{'fax'}); print "
E-Mail
$in{'email'}\n"; if ($ccmail) { print "
注文控え"; if ($in{'cc'}) { print "
必要\n"; } else { print "
不要\n"; } } print "

\n"; print "
▼送付先情報\n"; print "
会社名
$in{'comp2'}\n" if ($in{'comp2'}); print "
名前
$in{'name2'}\n" if ($in{'name2'}); print "
郵便番号
$in{'yuno2'}\n" if ($in{'yuno2'}); print "
住所
$in{'addr2'}\n" if ($in{'addr2'}); print "
電話
$in{'tel2'}\n" if ($in{'tel2'}); print "
FAX
$in{'fax2'}\n" if ($in{'fax2'}); if (!$in{'comp2'} && !$in{'name2'} && !$in{'yuno2'} && !$in{'addr2'} && !$in{'tel2'} && !$in{'fax2'}) { print "
特になし\n"; } if ($in{'cook'} eq "on") { $ck = '保存する'; } else { $ck = '保存しない'; } print "

▼クッキー情報
$ck\n"; print "

▼備考
$in{'note'}\n" if ($in{'note'}); print "
\n"; } print "
\n"; if (!$in{'job'}) { print "\n"; print "\n"; foreach (0 .. $#key) { print "\n"; } print "\n"; } else { print ""; } print "
\n"; print "
\n", "\n"; exit; } #------------# # 検索実行 # #------------# sub find { # 戻りボタン print "

\n"; print "\n"; foreach (0 .. $#key) { print "\n"; } print "
\n"; print "\n"; # 買物受付け if ($key[0]) { &pick; } # 入力内容を整理 $in{'word'} =~ s/ / /g; @wd = split(/\s+/, $in{'word'}); # リスト print "\n", "", "\n"; # 検索 $i=0; open(IN,"$logfile") || &error("Open Error : $logfile"); while () { chop; ($no,$item,$price,$size,$col,$img,$memo,$w,$h,$intax,$nmb,$id,$cate,$link) = split(/<>/); $flag=0; foreach $wd (@wd) { if (index("$item$memo",$wd) >= 0) { $i++; if ($i % 2) { $line=$lin1; } else { $line=$lin2; } if ($img) { $item = "$item"; } $price = &filler($price); print ""; print "\n"; print "\n"; print "\n"; foreach (0 .. $#key) { print "\n"; } if ($intax == 1) { $zei="税込み"; } else { $zei="税別"; } if ($id eq "") { $id = $no; } print ""; if ($size) { @size = split(/\s+/, $size); print ""; foreach (@size) { print ""; } print "\n"; } else { print ""; } if ($col) { @col = split(/\s+/, $col); print "\n"; foreach (@col) { print ""; } print "\n"; } else { print ""; } print "\n"; } } } close(IN); print "
商品名単価備考
$item\\ $price ($zei)$memo
\n", "

CopyRight(c)2002  @\Beauty. All rights reserved.
\n"; exit; } #------------# # 状況表示 # #------------# sub order_view { local($job) = @_; local($col1,$col2,$col3,$col4,$col5,$col6,$col7,$col8,$msg); if ($job == 2) { $col1 = $col3 = $col4 = $col5 = $col7 = $col8 = "#808080"; $col2 = "white"; $col6 = "yellow"; $msg = "必要事項を入力してください。\n"; } elsif ($job == 3) { $col1 = $col2 = $col4 = $col5 = $col6 = $col8 = "#808080"; $col3 = "white"; $col7 = "yellow"; $msg = "これでよろしければ送信ボタンを押してください。\n"; } elsif ($job == 4) { $col1 = $col2 = $col3 = $col5 = $col6 = $col7 = "#808080"; $col4 = "white"; $col8 = "yellow"; $msg = "ありがとうございます。注文を受け付けました。\n"; } else { $col1 = "white"; $col2 = $col3 = $col4 = $col6 = $col7 = $col8 = "#808080"; $col5 = "yellow"; $msg = "ご注文ありがとうございます。内容をご確認ください。\n"; } print <<"EOM";
内容確認 住所入力 注文確認 確定

$msg EOM } #----------------# # カテゴリ表示 # #----------------# sub category { # カテゴリメニュー if ($in{'view'} eq "") { print "

\n", "\n", "\n"; $i=0; $f=0; open(IN,"$logfile") || &error("Open Error : $logfile"); while () { ($no,$item,$price,$size,$col,$img,$memo,$w,$h,$intax,$nmb,$id,$cate,$link) = split(/<>/); if ($cate2 ne $cate) { if ($f) { $f=0; print "\n"; $i=0; } $f=1; print "", ""; } $cate2 = $cate; $i++; } close(IN); if ($f) { print "\n"; } # 著作権表示(削除改編を禁止します) print "
▼最初にカテゴリーをお選びください。
内容閲覧カテゴリー商品数
$i
\n", "\n"; foreach (0 .. $#key) { print "\n"; } print "
   $cate[$cate]   $i


", "\n", "- Shopping Cart -\n"; # カテゴリの中身を表示 } else { print "

", "
\n", "$cate[$in{'view'}]
\n"; foreach (0 .. $#key) { print "\n"; } print "", "
\n", "\n", "", "\n"; open(IN,"$logfile") || &error("Open Error : $logfile"); while () { ($no,$item,$price,$size,$col,$img,$memo,$w,$h,$intax,$nmb,$id,$cate,$link) = split(/<>/); next if ($in{'view'} != $cate); $i++; if ($i % 2) { $line=$lin2; } else { $line=$lin1; } if ($intax == 1) { $zei="税込み"; } else { $zei="税別"; } if ($id eq "") { $id = $no; } $price = &filler($price); print "
\n"; print "\n"; print "\n"; foreach (0 .. $#key) { print "\n"; } print "
\n"; } close(IN); print "
商品No商品名単価属性情報数量購入
$id"; # 画像 if ($img) { if ($w && $h) { $wh="width=$w height=$h"; } print "" if ($link); print "\"$item\""; print "" if ($link); } print "$item", "\\ $price ($zei)"; if ($size) { @size = split(/\s+/, $size); print "$attr1

\n"; } else { print " "; } if ($col) { @col = split(/\s+/, $col); print "$attr2

\n"; } else { print " "; } if ($memo eq "" && $link eq "") { $memo="
"; } else { print "備考
"; } print "$memo

"; if ($nmb) { @nmb = split(/\s+/, $nmb); print "\n"; } else { print ""; } print "
\n"; } print "\n\n"; exit; } #------------------# # メール送信処理 # #------------------# sub sendmail { local($mail_sub, $mail_body, $ordlog); # メール本文 $date = &get_time; $host = &get_host; $mail_body = <<"EOM"; 注文日時:$date ホスト名:$host ブラウザ:$ENV{'HTTP_USER_AGENT'} EOM if ($ccmail) { $mail_body = "このメールは自動返信メールです。\n商品のお届け等については別途ご連絡致します。\n\n" . $mail_body; } $mail_body .= "\n▼注文内容:\n"; $mail_body .= "-" x 74 . "\n"; $i=0; open(IN,"$logfile") || &error("Open Error : $logfile"); foreach (0 .. $#key) { ($pnum,$psize,$pcol) = split(/:/, $val[$_]); while ($file = ) { chop($file); ($no,$item,$price,$size,$color,$img,$memo,$w,$h,$intax,$nmb,$id,$cate) = split(/<>/, $file); if ($key[$_] == $no) { $price2 = $price * $pnum; if ($intax == 1) { $tax = 0; $zei = "税込み"; } else { $tax = int($price2*0.05); $zei = "税別"; } # 合計処理 $all_pr2 += $price2; $all_tax += $tax; $ten += $pnum; # 桁区切り $price3 = $price2 + $tax; $price = &filler($price); $price2 = &filler($price2); $price3 = &filler($price3); $tax = &filler($tax); $i++; if ($id eq "") { $id = $no; } $mail_body .= "($i) $item ($id)"; $mail_body .= " $attr1($psize)" if ($psize ne ""); $mail_body .= " $attr2($pcol)" if ($pcol ne ""); $mail_body .= " [$zei]\n $price × $pnum = \\ $price2 "; $mail_body .= "消費税 \\ $tax 小計 \\ $price3\n"; $mail_body .= "-" x 74 . "\n"; last; } } seek(IN,0,0); } close(IN); # 総計 $all_pr3 = $all_pr2 + $all_tax; $all_pr3 = &filler($all_pr3); $mail_body .= "商品合計 : \\ $all_pr3\n"; $mail_body .= "-" x 74 . "\n"; # 改行等復元 $in{'addr'} =~ s/
/\n /g; $in{'addr2'} =~ s/
/\n /g; $in{'note'} =~ s/
/\n/g; $mail_body .= "\n▼支払方法:\n$payment[$in{'payment'}]\n" if ($payment); if ($deliver) { $mail_body .= "\n▼配達日時:\n"; if ($in{'mon'} ne "" && $in{'day'} ne "") { $mail_body .= "$in{'mon'}月 $in{'day'}日 "; } else { $mail_body .= "月日指定なし "; } if ($in{'hour'} ne "") { $mail_body .= "$deli[$in{'hour'}]\n"; } else { $mail_body .= "時間帯指定なし\n"; } } $mail_body .= "\n▼注文者:\n"; $mail_body .= "e-mail = $in{'email'}\n"; $mail_body .= "会社名 = $in{'comp'}\n" if ($in{'comp'}); $mail_body .= "名前 = $in{'name'}\n"; $mail_body .= "郵便番号 = $in{'yuno'}\n" if ($in{'yuno'}); $mail_body .= "住所 = $in{'addr'}\n"; $mail_body .= "電話 = $in{'tel'}\n"; $mail_body .= "FAX = $in{'fax'}\n" if ($in{'fax'}); if ($ccmail) { if ($in{'cc'}) { $cc='必要'; } else { $cc='不要'; } $mail_body .= "注文控 = $cc\n"; } $mail_body .= "\n▼配送先 :\n" if ($in{'comp2'} || $in{'name2'} || $in{'yuno2'} || $in{'addr2'} || $in{'tel2'} || $in{'fax2'}); $mail_body .= "会社名 = $in{'comp2'}\n" if ($in{'comp2'}); $mail_body .= "名前 = $in{'name2'}\n" if ($in{'name2'}); $mail_body .= "郵便番号 = $in{'yuno2'}\n" if ($in{'yuno2'}); $mail_body .= "住所 = $in{'addr2'}\n" if ($in{'addr2'}); $mail_body .= "電話 = $in{'tel2'}\n" if ($in{'tel2'}); $mail_body .= "FAX = $in{'fax2'}\n" if ($in{'fax2'}); $mail_body .= "\n▼備考:\n$in{'note'}\n" if ($in{'note'}); # タグ等復元 $ordlog = $mail_body; $mail_body =~ s/"/"/g; $mail_body =~ s/<//g; # メール送信 if ($ordertype == 1) { # メール件名を定義 $mail_sub = "注文メール ($in{'name'} 様)"; # コード変換 &jcode'convert(*mail_sub, "jis", "sjis"); &jcode'convert(*mail_body, "jis", "sjis"); # sendmail起動 open(MAIL,"| $sendmail -t"); print MAIL "To: $mailto\n"; print MAIL "From: $in{'email'}\n"; print MAIL "Cc: $in{'email'}\n" if ($in{'cc'}); print MAIL "Subject: $mail_sub\n"; print MAIL "MIME-Version: 1.0\n"; print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n"; print MAIL "Content-Transfer-Encoding: 7bit\n"; print MAIL "X-Mailer: $ver\n\n"; print MAIL $mail_body; close(MAIL); } # 新規注文ログ定義 $ordlog =~ s/\n/
/g; @new=("$ordlog\n"); # 既存ログ読み出し $i=0; open(IN,"$ordfile") || &error("Open Error : $ordfile"); while () { $i++; push(@new,$_); last if ($i >= $max-1); } close(IN); # 更新 open(OUT,">$ordfile") || &error("Write Error : $ordfile"); print OUT @new; close(OUT); } #------------# # 留意事項 # #------------# sub note { &header; print <<"EOM";

特定商取引に関する法律の表\示

EOM
	print $raw_view;
	print "
\n
\n
\n"; if ($in{'job'} eq "blank") { print ""; } else { print ""; } print "
\n", "\n"; exit; } #------------# # 時間取得 # #------------# sub get_time { # 日時の取得 $ENV{'TZ'} = "JST-9"; local($min,$hour,$mday,$mon,$year,$wday) = (localtime(time))[1..6]; # 日時のフォーマット local(@w) = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); sprintf("%04d/%02d/%02d(%s) %02d:%02d", $year+1900,$mon+1,$mday,$w[$wday],$hour,$min); } #------------------# # ホスト情報取得 # #------------------# sub get_host { $host = $ENV{'REMOTE_HOST'}; $addr = $ENV{'REMOTE_ADDR'}; if ($host eq "" || $host eq $addr) { $host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2) || $addr; } $host; } #------------------# # クッキーの発行 # #------------------# sub set_cookie { local($gmt, $cook, @w, @m, @t); @w = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @m = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'); @t = gmtime(time + 60*24*60*60); $gmt = sprintf("%s, %02d-%s-%04d %02d:%02d:%02d GMT", $w[$t[6]], $t[3], $m[$t[4]], $t[5]+1900, $t[2], $t[1], $t[0]); if ($in{'cook'} eq "on") { $cook = "comp<>$in{'comp'}<>name<>$in{'name'}<>yuno<>$in{'yuno'}<>addr<>$in{'addr'}<>tel<>$in{'tel'}<>fax<>$in{'fax'}<>email<>$in{'email'}<>comp2<>$in{'comp2'}<>name2<>$in{'name2'}<>yuno2<>$in{'yuno2'}<>addr2<>$in{'addr2'}<>tel2<>$in{'tel2'}<>fax2<>$in{'fax2'}<>cook<>$in{'cook'}"; } else { $cook = ""; } print "Set-Cookie: ShoppingCart=$cook; expires=$gmt\n"; } #------------------# # クッキーを取得 # #------------------# sub get_cookie { local($key, $val, @cook); @cook = split(/;/, $ENV{'HTTP_COOKIE'}); foreach (@cook) { ($key, $val) = split(/=/); $key =~ s/\s//g; $tp{$key} = $val; } %ck = split(/<>/, $tp{'ShoppingCart'}); } #------------------# # チェックモード # #------------------# sub check { &header; print "

Check Mode

\n", "
    \n"; # 商品情報ログファイル if (-e $logfile) { print "
  • 商品情報ログ:パスOK!\n"; if (-r $logfile && -w $logfile) { print "
  • 商品情報ログパーミッション:OK!\n"; } else { print "
  • 商品情報ログのパーミッションが不正です\n"; } } else { print "
  • 商品情報ログのパスが不正です: $logfile\n"; } # 注文情報ログファイル if (-e $ordfile) { print "
  • 注文情報ログ:パスOK!\n"; if (-r $ordfile && -w $ordfile) { print "
  • 注文情報ログパーミッション:OK!\n"; } else { print "
  • 注文情報ログのパーミッションが不正です\n"; } } else { print "
  • 注文情報ログのパスが不正です: $ordfile\n"; } # ロックディレクトリ print "
  • ロック形式:"; if ($lockkey == 0) { print "ロック設定なし\n"; } else { if ($lockkey == 1) { print "symlink\n"; } else { print "mkdir\n"; } ($lockdir) = $lockfile =~ /(.*)[\\\/].*$/; print "
  • ロックディレクトリ:$lockdir\n"; if (-d $lockdir) { print "
  • ロックディレクトリのパス:OK\n"; if (-r $lockdir && -w $lockdir && -x $lockdir) { print "
  • ロックディレクトリのパーミッション:OK\n"; } else { print "
  • ロックディレクトリのパーミッション:NG → $lockdir\n"; } } else { print "
  • ロックディレクトリのパス:NG → $lockdir\n"; } } # 送信方式 if ($ordertype == 1) { print "
  • 注文方式:メール送信\n"; # sendmailチェック if (-e $sendmail) { print "
  • sendmailパス:OK!\n"; } else { print "
  • sendmailパス:NG → $sendmail\n"; } } else { print "
  • 注文方式:ログ蓄積\n"; } print "
\n
$ver
", "Copyright (C) KENT WEB 2002
\n", "\n"; exit; } __END__