#!/usr/bin/perl #Cart MAX ver.6 $ENV{'TZ'} = "JST-9"; #----ライブラリ読込み--------------- unless(-e 'lib/conf_common.pl'){ &error("lib/conf_common.plがありません。"); } require 'lib/conf_common.pl'; unless(-e 'lib/common2.cgi'){ &error("lib/common2.cgiがありません。"); } require 'lib/common2.cgi'; unless(-e 'lib/func.pl'){ &error("lib/func.plがありません。"); } require 'lib/func.pl'; #-----変数-------------------------- $cartpl='lib/cart/cart.pl'; $smartpl='lib/cart/smart.pl'; $keitaipl='lib/cart/keitai.pl'; $searchpl='lib/cart/search.pl'; $otoiawasepl='lib/cart/otoiawase.pl'; $reviewpl='lib/cart/review.pl'; $memberpl='lib/cart/member.pl'; $keitaimemberpl='lib/cart/keitai_member.pl'; $smartmemberpl='lib/cart/smart_member.pl'; $postalpl='lib/cart/postal.pl'; $collectpl='lib/cart/collect.pl'; $error='../skin_cgi/pc_error.html'; $maxsize='80000'; $script='main.cgi'; $l_color="#0000ff"; #----------------------------------- &Dcd; sub Dcd{ my($buff,$name,$value,$pair,@pairs,$dum,$opname); if($ENV{'REQUEST_METHOD'} eq "POST"){ if($ENV{'CONTENT_LENGTH'} > $maxsize){ &error("投稿量が多すぎます。"); } read(STDIN,$buff,$ENV{'CONTENT_LENGTH'}); } else{ $buff=$ENV{'QUERY_STRING'}; } if(!$buff){ return; } @pairs=split(/&/,$buff); foreach $pair(@pairs){ ($name,$value)=split(/=/,$pair); $value=~tr/+/ /; $value=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("H2",$1)/eg; $value=~s/&/&/g; $value=~s//>/g; $value=~s/"/”/g; $value=~s/'/’/g; $value=~s/,/,/g; if($name eq "comment"){ $value=~s/\x0D\x0A/
/g; $value=~s/\x0D/
/g; $value=~s/\x0A/
/g; } else{ $value=~s/\x0D\x0A//g; $value=~s/\x0D//g; $value=~s/\x0A//g; } $opflag=0; if($name=~/^op/){ $opflag=1; ($dum,$opname)=split(/_/,$name); if($opname){ $opname=~tr/+/ /; $opname=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("H2",$1)/eg; } push @opvalue,$value; push @opnamearray,$opname; } if(!$opflag){ $FORM{$name}=$value; } } } $DUMMY_ref=&Func::GetCookie; ($lib,$mode)=split(/_/,$FORM{'mode'}); if($lib eq 'cart' || $lib eq 'smart' || $lib eq 'keitai'){ if(!-e $cartpl){ &error("cartplがありません。"); } require $cartpl; if($lib eq 'smart'){ if(!-e $smartpl){ &error("smartplがありません。"); } require $smartpl; if($mode eq ''){ $mode='top'; } } elsif($lib eq 'keitai'){ if(!-e $keitaipl){ &error("keitaiplがありません。"); } require $keitaipl; if($mode eq ''){ $mode='top'; } $DUMMY_ref=&Cart::SetDUMMY(\%FORM); } if($mode eq 'del'){ &Cart::Del(\%FORM,$DUMMY_ref); } elsif($mode eq 'clear'){ &Cart::Clear(\%FORM,$DUMMY_ref); } elsif($mode eq 'regist'){ &Cart::Regist(\%FORM,$DUMMY_ref,\@opvalue,\@opnamearray); } elsif($mode eq 'regist2'){ &Cart::Regist2(\%FORM,$DUMMY_ref); } elsif($mode eq 'view'){ &Cart::View(\%FORM,$DUMMY_ref); } elsif($mode eq 'modify'){ &Cart::Modify(\%FORM,$DUMMY_ref); } elsif($mode eq 'login'){ if($CF::ninsho){ if(&Cart::NCheck(\%FORM,$DUMMY_ref)){ $FORM{'action'}='login'; &Cart::Enter("",\%FORM,'ok'); } else{ &Cart::Login(\%FORM); } } else{ &Cart::Login(\%FORM); } } elsif($mode eq 'enter'){ &Cart::Enter("",\%FORM); } elsif($mode eq 'check'){ &Cart::Check(\%FORM); } elsif($mode eq 'order'){ &Cart::Order(\%FORM,$DUMMY_ref); } elsif($mode eq 'thanks'){ &Cart::Thanks($FORM{'newpoint'},$FORM{'odrID'},$FORM{'goods_all_kessai'},$FORM{'total'},$FORM{'re'},$FORM{'msg'},'ssl',$FORM{'memerr'},$FORM{'email'},$FORM{'pay'},$FORM{'name1'},$FORM{'tel'}); } elsif($mode eq 'top'){ &Cart::Top(\%FORM); } elsif($mode eq 'category'){ &Cart::Category("",\%FORM); } elsif($mode eq 'item'){ &Cart::Item(\%FORM); } elsif($mode eq 'back'){ &Cart::Back(\%FORM); } elsif($mode eq 'search'){ &Cart::Search(\%FORM); } else{ &error("modeがありません。"); } } elsif($lib eq 'search'){ if(!-e $searchpl){ &error("searchplがありません。"); } require $searchpl; &Search::Search(\%FORM); } elsif($lib eq 'member' || $lib eq 'smartmember' || $lib eq 'keitaimember'){ if(!-e $memberpl){ &error("memberplがありません。"); } require $memberpl; if($lib eq 'smartmember'){ if(!-e $smartmemberpl){ &error("smartmemberplがありません。"); } require $smartmemberpl; } elsif($lib eq 'keitaimember'){ if(!-e $keitaimemberpl){ &error("keitaimemberplがありません。"); } require $keitaimemberpl; } if($mode eq 'form'){ &Member::Form; } elsif($mode eq 'check'){ &Member::Check("",\%FORM); } elsif($mode eq 'regist'){ &Member::Regist(\%FORM); } elsif($mode eq 'edit'){ &Member::Form("edit",\%FORM); } elsif($mode eq 'editcheck'){ &Member::Check("edit",\%FORM); } elsif($mode eq 'editregist'){ &Member::EditRegist(\%FORM); } elsif($mode eq 'login'){ &Member::Main("","",\%FORM); } elsif($mode eq 'main'){ &Member::Main('re',"",\%FORM,$DUMMY_ref); } elsif($mode eq 'enter'){ &Member::Enter(\%FORM); } elsif($mode eq 'del'){ &Member::Del(\%FORM); } elsif($mode eq 'passforget'){ &Member::PassForget(\%FORM); } elsif($mode eq 'passsend'){ &Member::PassSend(\%FORM); } elsif($mode eq 'httpcookie'){ &Member::HttpCookie(\%FORM); } elsif($mode eq 'logoutthanks'){ &Member::Logout; } elsif($mode eq 'logout'){ if($CF::ssl){ &Member::ToLogoutHttps; } else{ &Member::Logout; } } elsif($mode eq 'logoutcookie'){ &Member::LogoutCookie; } elsif($mode eq 'loginform'){ &Member::LoginForm; } else{ &Member::Form; } } elsif($lib eq 'otoiawase' || $lib eq 'smartotoiawase' || $lib eq 'keitaiotoiawase'){ if(!-e $otoiawasepl){ &error("otoiawaseplがありません。"); } require $otoiawasepl; &Otoiawase::Ini; if($mode eq 'form'){ &Otoiawase::Form("",\%FORM); } elsif($mode eq 'check'){ &Otoiawase::Check(\%FORM); } elsif($mode eq 'send'){ &Otoiawase::Send(\%FORM); } else{ &error("modeがありません。"); } } elsif($lib eq 'postal'){ if(!-e $postalpl){ &error("postalplがありません。"); } require $postalpl; &Postal::Search(\%FORM); } elsif($lib eq 'review' || $lib eq 'smartreview' || $lib eq 'keitaireview'){ if(!-e $reviewpl){ &error("reviewplがありません。"); } require $reviewpl; &Review::Ini; if($mode eq 'form'){ &Review::Form("",\%FORM); } elsif($mode eq 'check'){ &Review::Check(\%FORM); } elsif($mode eq 'regist'){ &Review::Regist(\%FORM); } else{ &Review::ReviewTop(\%FORM); } } elsif($lib eq 'collect'){ if(!-e $collectpl){ &error("collectplがありません。"); } require $collectpl; &Collect::Main(\%FORM); } else{ &error("libがありません。"); } sub error{ my($err,$act,$msg,$skinline,$tmp,$FO_ref); if($Func::lockflag == 1){ &Func::unlock; } $err=$_[0]; $act=$_[1]; $FO_ref=$_[2]; if($lib eq "smart" || $lib eq "smartmember"){ $error='../skin_cgi/smart_error.html'; } elsif($lib eq "keitai" || $lib eq "keitaimember"){ $error='../skin_cgi/keitai_error.html'; } unless(open(HTML, $error)){ &dmyerror("$_[0]$errorが開けません。ファイル名を確認してください。"); } $skinline = join('',); close(HTML); if($act eq "login"){ $skinline=~s/#pref/${$FO_ref}{'pref'}/g; $skinline=~s/#sessid/${$FO_ref}{'sessid'}/g; $err="".$err.""; } $skinline=~s//$err/; if($act eq "modify"){ $msg=qq(

カート画面で変更); } elsif($act eq "back"){ $msg=qq(

商品画面に戻る); } elsif($act eq "mobilemodify"){ $msg=qq(
カート画面で変更); } elsif($act eq "mobileback"){ $msg=qq(
戻る); } if($msg){ $skinline=~s//$msg/; } print "Content-type: text/html\n\n"; print $skinline; exit; } sub dmyerror{ print "Content-type: text/html\n\n"; print " $_[0]"; exit; } exit;