#!/usr/bin/perl # ↑加入しているプロバイダの「perl」言語が使用できる # パスを指定します。 ######################################################### # 高機能ショッピングカートACART #   (顧客データクッキー保存バージョン) # by Anglers-net WebDesign # http://www.freecart.jp # # - 各スクリプトとも著作に係る部分は削除しないこと # - 有料、無料にかかわらず再配布しないこと # - このスクリプトのご利用でトラブル等が発生しても責任を # 求めないこと # - 本スクリプトの著作権は有限会社アングラーズネットが有します。 ######################################################### $modcookurl="./modcook.cgi"; $hostcheckfile="./tmp/hostcheck.txt"; require './conf/conf.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 = ; 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 = ; $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 $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 "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\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 }else{ $souryou2=~ s/\*/
No. タイトル $rem1 $rem2 point 小計
$shouhinnumber$shouhinmei$bikou2$kakaku\point$shoukei\point
${total}point
商品個数を変更→
全ての商品削除→
↓これで\申\し込む↓ 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 "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; } } print <
$soutag

Advanced Shopping cart by FreeCart.jp


EOM exit; ############################################### sub error { print <
カートの中には何も入っていません。








EOM exit; } sub cookieerror { print < 設定エラー
ショッピングカートがご利用できないようです。大変お手数ですが管理者 shop\@webdeco.netまでご連絡ください。
EOM exit; } ############################################### sub encode { $_[0] =~ s/([^0-9A-Za-z_ ])/'%'.unpack('H2',$1)/ge; $_[0] =~ s/\s/+/g; $_[0]; } ############################################### sub trans{ $from='[@01-9A-Za-z._−]'; $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'); }