#!/usr/bin/perl
# ↑加入しているプロバイダの｢perl｣言語が使用できる
# パスを指定します。
#########################################################
#          高機能ショッピングカートACART
#　　　（顧客データクッキー保存バージョン）
#            by Anglers-net WebDesign
#             http://www.freecart.jp
#
# - 各スクリプトとも著作に係る部分は削除しないこと
# - 有料、無料にかかわらず再配布しないこと
# - このスクリプトのご利用でトラブル等が発生しても責任を
#   求めないこと
# - 本スクリプトの著作権は有限会社アングラーズネットが有します。
#########################################################

$modcookurl="./modcook.cgi";
$hostcheckfile="./tmp/hostcheck.txt";

require './conf/haisou-settei.txt';
require './cgi-lib.pl';
require './jcode.pl';

&ReadParse;

@shouhinnumber = split(/\0/, $in{'shouhinnumber'});
@shouhinmei = split(/\0/, $in{'shouhinmei'});
@bikou1 = split(/\0/, $in{'bikou1'});
@bikou2 = split(/\0/, $in{'bikou2'});
@kakaku = split(/\0/, $in{'kakaku'});
@kazu = split(/\0/, $in{'kazu'});

$count1= 0;
$count2= 0;
foreach (@shouhinmei) {
$xx= @kazu[$count1];
&trans;
@kazu[$count1] = $xx;
if (@kazu[$count1] ne "") {
$H = 1*@kazu[$count1];
if ($H >= 1) {
$count2++;
$datareg1{$count2}="@shouhinnumber[$count1]*@shouhinmei[$count1]*@bikou1[$count1]*@bikou2[$count1]*@kakaku[$count1]";
$datareg2{$count2}="@kazu[$count1]";
}
}
$count1++;
}

$filename= "";

foreach (split(/; /,$ENV{'HTTP_COOKIE'})) {
($key,$value) = split(/=/);
if ($key eq "fileid") {
$filename= $value;
$cookiecheck= 1;
$datafile="./tmp/$filename.txt";
}
}

$hostname = $ENV{'REMOTE_ADDR'};
open (CDATA,"$hostcheckfile");
flock(CDATA,2);
$checkhostname = <CDATA>;
close (CDATA);
$hostname2=$hostname;
if ($cookiecheck eq "1") {$hostname2 = "";}
open (CDATA,">$hostcheckfile");
print CDATA $hostname2;
close (CDATA);
flock(CDATA,8);

if($filename eq ""){
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$fdate = sprintf("%02d%02d%02d%02d%02d%02d",$year -90,$mon +1,$mday,$hour,$min,$sec);
if($filename eq ""){$filename="d$fdate";}
$datafile="./tmp/$filename.txt";
print "Pragma: no-cache\n";
print "P3P: CP=\"NOI ADMa\"\n";
print "Set-Cookie: ";
print "fileid=$filename; ";
#print "expires=$cookieexpires; "; 
print "path=$path; "; 
print "domain=$domain\n";
}

if($cookiecheck ne "1"){
if($hostname eq $checkhostname){&cookieerror;}
}

if (! -e $datafile) {
open (DB,">$datafile");
close(DB);
$datacount = 0;
chmod(0666,"$datafile");
}else{
open (DB,"$datafile");
@DATA = <DB>;
$datacount = @DATA;
close(DB);
}
if($datacount ==0){$newdata=1;}
$count3= 1;
if($datareg1{$count3} ne ""){
while ($count3 <= $count2 ){
$i= 0;
$match= 0;
foreach $line (@DATA) {
($x,$kazu) = split(/\::/,$line);
$kazu =~ s/\n//g;
if ($x eq $datareg1{$count3}) {
$datareg2{$count3}=$kazu+$datareg2{$count3};
@DATA[$i] = "$datareg1{$count3}::$datareg2{$count3}\n";
$match=1;
}
$i++;
}
if($match == 0){
$datacount++;
$DATA[$datacount] = "$datareg1{$count3}::$datareg2{$count3}\n";
}
$count3++;
}
open(DB,">$datafile");
print DB @DATA;
close(DB);
}



###############################################
print "Content-type: text/html\n";

print <<EOM;

<HTML><HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>ショッピングカートの中　−　ダーツオンラインショップ</TITLE></HEAD>
<BODY BGCOLOR="$bgcolor">
<CENTER><IMG SRC=\"$titlegif\"></CENTER>
<FORM ACTION=\"$modcookurl\" METHOD=POST>
<div align="center"><center><br><br>ショッピングカートの中には以下の商品が入っています<br><br><table border="0" width="550"  BGCOLOR=$tablebgcolor cellpadding="0" cellspacing="1"><tr><td><div align="center">
<center><TABLE BORDER=0 width="100%" cellpadding="1" cellspacing="1">
<TR bgcolor=$tablecolor >
<TD ALIGN=center>No.</TD>
<TD ALIGN=center>商品名</TD>
<TD ALIGN=center>$rem1</TD>
<TD ALIGN=center>$rem2</TD>
<TD ALIGN=center>単価</TD>
<TD ALIGN=center>注文数</TD>
<TD ALIGN=center>小計</TD>
</TR>
EOM

$total= 0;
foreach $line (@DATA) {
$line =~ s/\n//g;
($x,$kazu) = split(/\::/,$line);
($shouhinnumber,$shouhinmei,$bikou1,$bikou2,$kakaku) = split(/\*/,$x);
$shoukei = $kakaku*$kazu;
if($shoukei ne "0"){
print "<TR bgcolor=WHITE><TD ALIGN=center>$shouhinnumber<INPUT TYPE=HIDDEN NAME=\"shouhinnumber\" VALUE=\"$shouhinnumber\"></TD>\n";
print "<TD ALIGN=center>$shouhinmei<INPUT TYPE=HIDDEN NAME=\"shouhinmei\" VALUE=\"$shouhinmei\"></TD>\n";
print "<TD ALIGN=center>$bikou1<INPUT TYPE=HIDDEN NAME=\"bikou1\" VALUE=\"$bikou1\"></TD>\n";
print "<TD ALIGN=center>$bikou2<INPUT TYPE=HIDDEN NAME=\"bikou2\" VALUE=\"$bikou2\"></TD>\n";
print "<TD ALIGN=center>$kakaku\円<INPUT TYPE=HIDDEN NAME=\"kakaku\" VALUE=\"$kakaku\"></TD>\n";
print "<TD ALIGN=center><INPUT NAME=\"kazu\" TYPE=\"text\" SIZE=\"3\" VALUE=\"$kazu\"></TD>\n";
print "<TD ALIGN=right>$shoukei\円<INPUT TYPE=HIDDEN NAME=\"shuokei\" VALUE=\"$shoukei\"></TD></TR>\n";
$total=$total+$shoukei;
}
}

if ($total eq "0") { &error;}

###################################################
$souryou2=$souryou;
if ($total >= $muryou){
$souryoukei = 0;
}
@sou = split(/\*/, $souryou2);
if (@sou[1] eq ""){
$soutag = <<END_OF_COM;
<INPUT TYPE=HIDDEN NAME=\"sou\" VALUE=\"$souryou2\">$souryou2
END_OF_COM
}else{
$souryou2=~ s/\*/<option>/g;
$soutag = <<END_OF_COM;
<SELECT NAME="sou">
<OPTION VALUE="">お届け先をお選び下さい
<OPTION>$souryou2
</SELECT>
END_OF_COM
}
if ($total >= $muryou){
$soutag = <<END_OF_COM;
<INPUT TYPE=HIDDEN NAME=\"sou\" VALUE=\"0円\">0円
END_OF_COM
}
###################################################
if($ENV{'HTTP_REFERER'} eq ""){$ENV{'HTTP_REFERER'}=$nonrefferurl;}

print <<EOM;
<TR bgcolor=WHITE><TD COLSPAN="5" ALIGN=center><font color=red size=-1>金額は税込みの総額\表\示\になっています</font></TD>
<TD ALIGN=center bgcolor=$tablecolor>商品代金計</TD>
<TD ALIGN=right>$total円</TD></TR>
</TABLE></center></div></td></tr></table></center></div>
<INPUT TYPE=HIDDEN NAME=\"returnurl\" VALUE=\"$ENV{'HTTP_REFERER'}\">
<INPUT TYPE=HIDDEN NAME=\"filename\" VALUE=\"$filename\">
<center><TABLE WIDTH=550 BORDER=0>
<TR><TD>
<div align="right">
<table border="0">
<TR><TD>
<div align="right">
<table border="0" cellpadding="0" cellspacing="1">
<tr><td>
<div align="center">
<center>
<TABLE BORDER=0 width="100%" cellpadding="1" cellspacing="1">
<TR>
<TD align="right">商品個数を変更→ </TD>
<TD bgcolor=WHITE>
<INPUT NAME="SUBMIT" TYPE="SUBMIT" VALUE="修正再計算">
</TD>
</TR>
<TR>
<TD align="right">全ての商品削除→ </TD>
<TD>
<INPUT NAME="SUBMIT" TYPE="SUBMIT" VALUE="全商品削除">
</TD>
</TR>
</TABLE>
</center>
</div>
</td></tr>
</table>
</div>
</FORM><FORM ACTION=\"$modcookurl\" METHOD=POST>
</TD></TR>
<tr><td bgcolor=$tablecolor align="center">↓これでご注文↓
EOM
          
foreach $line (@DATA) {
$line =~ s/\n//g;
($x,$kazu) = split(/\::/,$line);
($shouhinnumber,$shouhinmei,$bikou1,$bikou2,$kakaku) = split(/\*/,$x);
$shoukei = $kakaku*$kazu;
if($shoukei ne "0"){
print "<INPUT TYPE=HIDDEN NAME=\"shouhinnumber\" VALUE=\"$shouhinnumber\">\n";
print "<INPUT TYPE=HIDDEN NAME=\"shouhinmei\" VALUE=\"$shouhinmei\">\n";
print "<INPUT TYPE=HIDDEN NAME=\"bikou1\" VALUE=\"$bikou1\">\n";
print "<INPUT TYPE=HIDDEN NAME=\"bikou2\" VALUE=\"$bikou2\">\n";
print "<INPUT TYPE=HIDDEN NAME=\"kakaku\" VALUE=\"$kakaku\">\n";
print "<INPUT TYPE=HIDDEN NAME=\"kazu\" VALUE=\"$kazu\">\n";
print "<INPUT TYPE=HIDDEN NAME=\"shuokei\" VALUE=\"$shoukei\">\n";
}
}

print <<EOM;
<INPUT TYPE=HIDDEN NAME=\"returnurl\" VALUE=\"$ENV{'HTTP_REFERER'}\">
</td></tr>
<tr><td>
<div align="right">
<table border="0" BGCOLOR="$tablebgcolor" cellpadding="0" cellspacing="1" width="100%">
<tr><td>
<div align="center">
<TABLE BORDER=0 width="100%" cellpadding="1" cellspacing="1">
<TR bgcolor=$tablecolor><TD ALIGN=center>送料</TD>
<TD bgcolor=WHITE ALIGN=center>
$soutag
</TD></TR>
<TR bgcolor=$tablecolor>
<TD ALIGN=center>ご注文</TD>
<TD bgcolor=WHITE align="center">
<INPUT TYPE=HIDDEN NAME=\"filename\" VALUE=\"$filename\">
<INPUT NAME="SUBMIT" TYPE="SUBMIT" VALUE="注文フォームに進む" style="background-color:$tablecolor">
</TD>
</TR>
</TABLE>
</div>
</td></tr>
</table>
</td></tr>
</table>
</div>
</TD></TR>
</TABLE>
</center>
</FORM>
<center>
<SCRIPT Language="JavaScript">
<!--
function PageBack(){
history.back();
}
//-->
</SCRIPT>
<FORM>
<INPUT type="button" value="買い物を続ける"
onClick="PageBack()">
</FORM>
<HR WIDTH=550>
<FONT SIZE=-1><a href="http://www.freecart.jp">Advanced Shopping cart by FreeCart.jp</a></FONT><BR><BR><BR></center>
</BODY>
</HTML>
EOM

exit;
###############################################
sub error {
print <<EOM;
<TR bgcolor=WHITE>
<TD COLSPAN="7"><BR><center>カートの中には何も入っていません。</center><BR>
</TD></TR></TABLE></center></div></td></tr></table></center></div>
<BR><BR><BR>
<center><HR WIDTH=550><BR>
<SCRIPT Language="JavaScript">
<!--
function PageBack(){
history.back();
}
//-->
</SCRIPT>
<FORM>
<INPUT type="button" value="買い物を続ける"
onClick="PageBack()">
</FORM>
</center>
<BR><BR>

</body>
</html>
EOM
exit;
}

sub cookieerror {
print <<EOM;
Content-type: text/html

<meta http-equiv="Content-Type" content="text/html;charset=SJIS">
<HTML>
<HEAD><TITLE>設定エラー</TITLE></HEAD>
<BODY BGCOLOR="#ffffff">
<BR><CENTER>
ブラウザの設定が、「クッキーを受け付ける」ようになっていないためお買い物ができません。
</CENTER>
</body>
</html>
EOM
exit;
}
###############################################
sub encode {
$_[0] =~ s/([^0-9A-Za-z_ ])/'%'.unpack('H2',$1)/ge;
$_[0] =~ s/\s/+/g;
$_[0];
}
###############################################
sub trans{
$from='[＠０１-９Ａ-Ｚａ-ｚ．＿−]';
$to='[@01-9A-Za-z._-]';
&jcode'convert(*xx, 'euc');
&jcode'convert(*from, 'euc');
&jcode'convert(*to, 'euc');
&jcode'tr(*xx, $from, $to);
&jcode'convert(*xx, 'sjis');
}