#!/usr/bin/perl
$convert_use =1; #ImageMagicを使った画像変換処理を行なわない場合は0にする。
#///////////////////////////////////////////////////////////////////////////////
# Digital Contents Cart Ver11.00
# ----- 2008(C) WEB INVENTOR(Solve) -----
# solve@wb-i.net
# http://wb-i.net/
#
#///////////////////////////////////////////////////////////////////////////////
#================================ [注意事項] ===================================
# このスクリプトはシェアウエアです。このスクリプトを使用したいかなる損害に対して
# も作者は一切の責任を負いません。
#====================================使用法=====================================
# 次のようにして呼び出してください。
# 1.商品画面
# http://・・/shop.cgi PC用
# http://・・/k-shop.cgi (自動的に機種を判別する)
# 2.検索窓の設置
#
# 3.キーワード及び分類表からの呼び出しかた
# 当店お勧め
# 分類A
# $class_all
# 4.管理者用
# http://・・/admin.html
#
#===============================================================================
# ▼設定▼
#===============================================================================
# jcode.plへのパス
require './jcode.pl';
# cgi-lib.plへのパス
require './cgi-lib.pl';
# MIMEコード変換ライブラリ
require './mimew.pl';
# ===============================================================================
# ▲設定終了▲
# ===============================================================================
@kenmei=('-都道府県-','北海道','青森県','岩手県','秋田県','宮城県','山形県','福島県','東京都','神奈川県','埼玉県','千葉県','茨城県','栃木県','群馬県','新潟県','富山県','石川県','福井県','山梨県','長野県','岐阜県','静岡県','愛知県','三重県','滋賀県','京都府','大阪府','兵庫県','奈良県','和歌山県','鳥取県','島根県','岡山県','広島県','山口県','徳島県','香川県','愛媛県','高知県','福岡県','佐賀県','長崎県','熊本県','大分県','宮崎県','鹿児島県','沖縄県');
&ReadParse;
while (($key,$val) = each %in) {
$form{$key} = $val;
&jcode'convert(*val, "sjis");
$val =~ s/<>//g;
if($form{'mode'} eq 'adm4' || $form{'mode'} eq 'order_form' || $form{'mode'} eq 'order_mail'){
$val =~ s/"/\"/g;
if ($key eq "MESS" || $key eq "setumei") {
$val =~ s/<//g;
$val =~ s/
/\n/g;
$val =~ s/\.\n/\. \n/g;
}else{
$val =~ s/</g;
$val =~ s/>/>/g;
$val =~ s/\r\n//g;
$val =~ s/\r//g;
$val =~ s/\n//g;
# $val =~ s/\s//g;
}
}else{
$val =~ s/\"/"/g;
$val =~ s/\0/ /g;
if ($key eq "MESS" || $key eq "setumei" || $key eq "setumei2" || $key eq "setumei3" ) {
$val =~ s/\r\n/
/g;
$val =~ s/\r/
/g;
$val =~ s/\n/
/g;
if ($val =~ /
$/) {
while ($val =~ /
$/) { $val =~ s/
$//g; }
}
# $val =~ s/\s//g;
} else {
$val =~ s/</g;
$val =~ s/>/>/g;
$val =~ s/\r\n//g;
$val =~ s/\r//g;
$val =~ s/\n//g;
# $val =~ s/\s//g;
}
}
$in{$key} = $val;
}
#=================注文加算============================================
if($in{'order'} eq ""){
# Cookieの値を得る
&getCookie();
$in{'order'} = $COOKIE{'ORDER'};
}elsif($in{'order'} eq "emp"){
$in{'order'} ='';
}
$order=$in{'order'};
$order_new =$in{'g_no'}.",".$in{'op1'}.",".$in{'op2'};
if($in{'amount'} ne "" and $in{'amount'} ne "0"){
if($order eq ""){
$order =$in{'g_no'}.",".$in{'op1'}.",".$in{'op2'}.":".$in{'amount'};
}else{
@order_1 = split(/!/,$order);
foreach (@order_1) {
($i,$j) = split(/:/,$_);
($j,$book) = split(/\,/,$j);
if($i eq $order_new){
$j = $j + $in{"amount"};
if($order_2 eq ""){
$order_2 =$order_new.":"."$j,$book";
}else{
$order_2 .="!".$order_new.":"."$j,$book";
}
$k =1;
}else{
if($order_2 eq ""){
$order_2 =$_;
}else{
$order_2 .="!".$_;
}
}
}
if($k ne 1){
$order .="!".$in{'g_no'}.",".$in{'op1'}.",".$in{'op2'}.":".$in{'amount'};
}else{
$order =$order_2;
}
}
$in{'order'}=$order;
}
#=================注文減算============================================
if($in{'del_no'} ne ""){
$order ="";
@order_1 = split(/!/,$in{'order'});
foreach (@order_1) {
($s,$t) = split(/:/,$_);
($t,$book) = split(/\,/,$t);
if($s eq $in{'del_no'} && $book eq $in{'book'}){next;}
if($order eq ""){
$order = $s.":"."$t,$book";
}else{
$order .="!".$s.":"."$t,$book";
}
}
$in{'order'}=$order;
}
#=================再計算================================================
if($in{'recmp_no'} ne ""){
$t =int($in{"re_suu"}); #数値の整数化
if($t < 0){$t =1;}
$in{"re_suu"}=$t;
$order ="";
@order_1 = split(/!/,$in{'order'});
foreach (@order_1) {
($s,$t) = split(/:/,$_);
($t,$book) = split(/\,/,$t);
if($s eq $in{'recmp_no'} && $book eq $in{'book'}){
$t=$in{"re_suu"};
}
if($order eq ""){
$order = $s.":"."$t,$book";
}else{
$order .="!".$s.":"."$t,$book";
}
}
$in{'order'}=$order;
}
#===============
#クッキーの設定
print &setCookie_0("ORDER", $order);
#==================キーワードの半角ブランクを全角に変換============================
#$in{'keyword'} =~ s/\ /\ /g;
$keyword_encode =$in{'keyword'};
$keyword_encode =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg; #ここでエンコード
$order_encode =$in{'order'};
$order_encode =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg; #ここでエンコード
$order_encode2 =$order_encode;
$class_encode =$in{'class'};
$class_encode =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg; #ここでエンコード
# 設定ファイル====================================================================
if ( $in{'mode'} eq 'order_mail' ) {
$order_encode ='emp';
require './set.pl';
$order_encode =$order_encode2;
}else{
require './set.pl';
}
#===== 戻り先========================================================
$save_data="$script?&keyword=&FF=$in{'FF'}&class=$class_encode";
$modoru_adding = "$save_data&mode=adm2&pass=$adm_pass";
$modoru_dell = "$save_data&mode=adm3&pass=$adm_pass";
$modoru_renew = "$save_data&mode=adm4&pass=$adm_pass";
$modoru_goods ="$script?order=$order_encode&class=$class_encode&keyword=$keyword_encode&FF=$in{'FF'}&price_sort=$in{'price_sort'}&pic_only=$in{'pic_only'}";
$modoru_goods_2 ="$script?class=$class_encode&keyword=$keyword_encode&FF=$in{'FF'}&price_sort=$in{'price_sort'}&pic_only=$in{'pic_only'}";
$modoru_goods_end ="$script?class=$class_encode&keyword=$keyword_encode&FF=$in{'FF'}&price_sort=$in{'price_sort'}&pic_only=$in{'pic_only'}";
$modoru_goods_8 ="$script?order=$order_encode&class=$class_encode&keyword=&FF=$in{'FF'}&price_sort=$in{'price_sort'}&pic_only=$in{'pic_only'}";
#===============HTTP_REFERERの使用================
unless($in{'back'}){
$referer_url =$ENV{'HTTP_REFERER'};
$in{'back'} =$referer_url;
$referer_url_encode = $referer_url;
$referer_url_encode =~ s/&/%26/g;
if($referer_url =~ /mode=top/){ #TOP1〜TOP5のときの対策
}elsif($referer_url eq '' || $referer_url =~ /$script/ || $referer_url =~ /$script_ssl/ || $referer_url =~ /$script_charm/ || $referer_url =~ /$script_e/ || $referer_url =~ /$script_ent/ || $referer_url =~ /$script_h/){
$referer_url =$modoru_goods; #HTTP_REFERERがブランクのときの対策
$in{'back'} ='';
$referer_url_encode ='';
}elsif($referer_url =~ /\/shop_html\//){
$referer_url =$home_url; #HTTP_REFERERがインナーフレームのときの対策
$in{'back'} =$referer_url;
$referer_url_encode = $referer_url;
$referer_url_encode =~ s/&/%26/g;
}
}else{ #戻りアドレスが組み込まれている場合
$referer_url =$in{'back'};
$referer_url_encode = $referer_url;
$referer_url_encode =~ s/&/%26/g;
}
#===============管理用入り口======================
if ( $in{'mode'} eq 'adm1' ) { &adm1; exit;}
if ( $in{'mode'} eq 'adm_menu' ) { &adm_menu; exit;}
#=============================問合せ&特定商取引法======================
if ( $in{'mode'} eq 'ask' ) { &ask_put; exit;}
if ( $in{'mode'} eq 'howto' ) { &howto_put; exit;}
if ( $in{'mode'} eq 'law' ) { &law_put; exit;}
#===============カートの一時停止==================
if($cart_stop_mess){&error($cart_stop_mess);}
#====================インナーフレームの表示==========================
if ( $in{'iframe'} ne '' ) { &iframe_put(); exit;}
#===============ログイン時のみショッピングが可能======================
if ( ($id_pass_C eq '' && $id_pass2_C eq '') && $non_member_able == 2) {
print "Location: $log_in_out_url\n\n";
}
#==================消費税の扱い====================
$syouhi_tax_save =$syouhi_tax;
#内税と消費税なしの場合:
if($tax_flag == 1){
$syouhi_tax =0;
}elsif($tax_flag == 2){
$syouhi_tax =0;
$tax_syu = '';
}
#==================商品データの読み込み===============================
if (!open(IN,"$data_file")) { &error('データベース読取エラー','復旧をお待ちください.'); }
@BASE = ;
close(IN);
#====================================================================
if ( $in{'mode'} eq 'look' ) { &look; exit;}
if ( $in{'mode'} eq 'order_form' ) { &order_form; exit;}
if ( $in{'mode'} eq 'sure' ) { &sure; exit;}
if ( $in{'mode'} eq 'order_mail' ) { &order_mail; exit;}
#====================================================================
# Cookieの値を得る
&getCookie();
$classmei = $COOKIE{'BUNRUIMEI'};
$ff_no = $COOKIE{'FF'};
if($ff_no eq ''){$ff_no =0;}
$pas_word = $COOKIE{'WORD'};
if($in{'class'} ne ""){
$classmei = $in{'class'};
print &setCookie_0("BUNRUIMEI", $classmei);
}
if($in{'FF'} ne ""){
$ff_no = $in{'FF'};
print &setCookie_0('FF', $ff_no);
}
if($in{'keyword'} ne "" or $in{'superkey'} eq "1"){
$pas_word = $in{'keyword'};
print &setCookie_0('WORD', $pas_word);
}elsif($start_ctgry ne '' && $pas_word eq '' && $classmei eq '' && $ff_no == 0){
$pas_word =$start_ctgry; #デフォルトカテゴリー
$keyword_encode =$start_ctgry;
$keyword_encode =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg; #ここでエンコード
}
$in{'keyword'} = $pas_word;
$in{'class'}=$classmei;
#===================会員専用ページのチェック====================
if($in{'class'} ne '' && $in{'class'} ne 'all'){
($a,$b) =split(/\//,$in{'class'});
&class_name_get();
$class_B_now =$class_B;
if(index($class_B_now,$member_only) >= 0){
if($id_pass_C eq '' && $id_pass2_C eq ''){
print "Location: $log_in_out_url\n\n";
}
}
}
#===================================================================
if($in{'pic_only'}){
if($page_pic_only){$page =$page_pic_only;} #画像のみ表示の表示数
}
#========キーワードを整理==========
if($pas_word ne ''){
$word = $pas_word;
$word =~ s/\ / /g;
$word =~ s/ / /g;
$word =~ s/ / /g;
$word =~ s/\+/\+/g;
$word =~ s/\+\+/\+/g;
$word =~ s/\+\+/\+/g;
$pas_word =$word;
@pairs_0 = split(/ /,$word);
foreach $pair (@pairs_0){
# ===全角英数字を半角に変換===
$pair_check =$pair;
$pair =~ s/([\x83-\x99])\x82/&x82_put($1)/geo;
$pair =~ s/\x82([\x60-\x79]|[\x81-\x9A])/&zen_han_alp($1)/geo;
$pair =~ s/\xFF([\xA3-\xB9])/&x82_get($1)/geo;
if($pair_check ne $pair){$eisuu_check =1;}else{$eisuu_check =0;}
$pair_check =$pair;
$pair =~ s/\x82([\x4F-\x58])/&zen_han_num($1)/geo;
if($pair_check ne $pair){$suuzi_check =1;}else{$suuzi_check =0;}
if($pair =~ /[\x80-\xff]/){#===全角有り===
&jcode'h2z_sjis(*pair); #全角カタカナに変換
$pair_save =$pair;
if($kensaku_mode eq '2'){#高速検索−小文字に変換しない
&jcode'convert(*pair,"euc","sjis");#eucへ変換
if($pair =~ /[0-9]/ ){
$suuzi_flag =1; #数字有り
}else{$suuzi_flag =0;}
if($pair =~ /[a-zA-Z]/ || $eisuu_check){
$eizi{"$pair_save"} =2; #英字有り
}else{$pair =$pair_save ;$eizi{"$pair_save"} =0;}
$pair =$pair_save
}else{
&jcode'convert(*pair,"euc","sjis");#eucへ変換
if($pair =~ /[0-9]/ ){
$suuzi_flag =1; #数字有り
}else{$suuzi_flag =0;}
if($pair =~ /[a-zA-Z]/ || $eisuu_check){
$pair =~ tr/A-Z/a-z/; #///小文字に変換///
$eizi{"$pair"} =2; #英字有り
}else{$pair =$pair_save ;$eizi{"$pair"} =0;}
}
if($pair_save =~ /\x83[\x40-\x96]/ || $pair_save =~ /\x81[\x40-\x42]/ || $pair_save =~ /\x81\x5B/ ){
$zenkaku{"$pair"} =1; #カタカナ有り
}else{
$zenkaku{"$pair"} =2; #カタカナなし
}
}else{#===全角なし===
$pair_save =$pair;
if($kensaku_mode eq '1'){&jcode'convert(*pair,"euc","sjis");}#eucへ変換
if($pair =~ /[0-9]/ ){$suuzi_flag =1;}else{$suuzi_flag =0;}
if($pair =~ /[a-zA-Z]/ || $eisuu_check){
$pair =~ tr/A-Z/a-z/; #///小文字に変換///
$eizi{"$pair"} =1; #英字有り
}else{$pair =$pair_save ;$eizi{"$pair"} =0;}
}
if($suuzi_flag || $suuzi_check){$suuzi{"$pair"} =1;#数字有り
}else{$suuzi{"$pair"} =0;}
push(@pairs,$pair);
}
}
#===================================
$data_su= 0;
$data_ff =0;
foreach $data (@BASE) {
$data2 = $data ;
$data =~ s/\r\n//g;
$data =~ s/\r//g;
$data =~ s/\n//g;
$data =~ s///g;
($goods_no,$name,$kigou,$option,$option2,$class,$setumei,$fcolor,$price,$tani,$zaiko,$limit,$picture,$bikou,$aux1,$aux2,$aux3,$aux4,$aux5,$aux6,$aux7,$free1,$free2,$free3,$free4,$free5) = split(/\<\>/,$data);
($limit_a,$limit_b) = split(/\:/,$limit);
if($limit_a eq '0' && $goods_hide == 1){ next;} #購入制限で=0のとき、商品非表示
($a,$b) =split(/\//,$class);
&class_name_get();
if(index($class_B,$member_only) >= 0){
if($id_pass_C eq '' && $id_pass2_C eq ''){next;}
}
if ($in{'id'} ne '' or $in{'mode'} eq 'p_wide') {
if ($goods_no eq $in{'id'}) {
push(@NEW,$data2);
@REFER =();
$data_su =1;
last;
}elsif($kigou ne '' && $kigou eq $in{'kigou'}){
$in{'id'} =$goods_no;
push(@NEW,$data2);
@REFER =();
$data_su =1;
last;
} else { next; }
}
if ($classmei ne "all" && $classmei ne "") {
($a1,$a2) =split(/\//,$class);
($b1,$b2) =split(/\//,$classmei);
if ($a1 ne $b1) { next; }
if ($b2 ne ''){
if($a2 ne $b2){ next;}
}
}
if($pas_word ne "") {
if($sale_type){
($kaitori,$lent)= split(/\//,$sale_type);
if($aux6){
$aux6 =$lent; #レンタル
}else{
$aux6 =$kaitori; #買取り
}
}
# 検索処理
$flag_k = 0;
foreach $pair (@pairs){
#==========新着情報
if($new_info_days ne '' && index($pair,'新着') >= 0){
if(&new_check($free5)){last;}else{$flag_k = 1;last;}
}
#==========
if (&compare($kigou,$pair)) {
next;
}elsif (&compare($name,$pair)) {
next;
}elsif (&compare($goods_no,$pair)) {
next;
}elsif (&compare($class_B,$pair)) {
next;
}elsif (&compare($class_S,$pair)) {
next;
}elsif (&compare($option,$pair)) {
next;
}elsif (&compare($option2,$pair)) {
next;
}elsif (&compare($setumei,$pair)) {
next;
}elsif (&compare($bikou,$pair)) {
next;
}elsif (&compare($price,$pair)) {
next;
}elsif (&compare($free1,$pair)) {
next;
}elsif (&compare($free2,$pair)) {
next;
}elsif (&compare($free3,$pair)) {
next;
}elsif (&compare($free4,$pair)) {
next;
}
$flag_k = 1;
last;
}
if ($flag_k == 1) { next; }
}
$data_su++;
push(@REFER,$data2);
}
#===================ソート処理====================================
if(1 < $data_su && $data_su <= $sort_upper){ #ソートの条件
if($in{'price_sort'} == 1){
@REFER = sort { (split(/\<\>/,$a))[8] <=> (split(/\<\>/,$b))[8] } @REFER;
}elsif($in{'price_sort'} == 2){
@REFER = sort { &suutika((split(/\<\>/,$b))[15]) <=> &suutika((split(/\<\>/,$a))[15]) } @REFER;
}elsif($in{'price_sort'} == 3){
@REFER = sort { &suutika((split(/\<\>/,$a))[15]) <=> &suutika((split(/\<\>/,$b))[15]) } @REFER;
}elsif($in{'price_sort'} == 4){
@REFER = sort { &suutika((split(/\<\>/,$b))[18]) <=> &suutika((split(/\<\>/,$a))[18]) } @REFER;
}elsif($zyunzyo == 0 or $zyunzyo eq ''){
@REFER = reverse @REFER;
}elsif($zyunzyo == 1){
}elsif($zyunzyo == 5){
@REFER = sort { &suutika5((split(/\<\>/,$a))[$zyunzyo]) <=> &suutika5((split(/\<\>/,$b))[$zyunzyo]) } @REFER;
}else{
@REFER = sort { &suutika((split(/\<\>/,$a))[$zyunzyo]) <=> &suutika((split(/\<\>/,$b))[$zyunzyo]) } @REFER;
}
}
$hit = 0;
$next_num = '';
$over_no = 0;
#=====================ページ処理=========================
foreach $data3 (@REFER) {
if ($hit == $page) { $next_num = $data_ff; $over_no ++; $hit++; next; }
elsif($hit < $page && $data_ff >= $ff_no){
push(@NEW,$data3); $hit++;
}elsif($hit > $page && $data_ff >= $ff_no){
$over_no ++;
}
$data_ff ++;
}
if($over_no > $page){
$over_no = $page;
}
#=====================================================================
if ( $in{'id'} ne '' || $in{'mode'} eq 'p_wide' ) { &p_wide; exit;}
else { &shop_form; exit;}
#=================ソートのための処理ルーチン==========================
sub suutika{
$data_sort =$_[0];
$data_sort =~ s/\n//g;
$data_sort =~ s/[a-zA-Z]//g; #アルファベットを除去。
$data_sort =~ s/\-/\//g;
$data_sort =~ s/\:/\//g;
$k ='/';
if(index($data_sort,$k) >= 0){
@suuti_data =split(/\//,$data_sort);
$output_data ='';
foreach(@suuti_data){
$i =$_ + 100000;
$j =substr("$i",1,5);
$output_data .=$j;
}
}else{
$output_data =$data_sort;
}
return($output_data);
}
#=================ソートのための処理ルーチン(分類)===================
sub suutika5{
($i,$j) =split(/\//,$_[0]);
$i =$i + 10000;
$i =substr("$i",1,4);
$j =$j + 10000;
$j =substr("$j",1,4);
$output_data =$i.$j;
return($output_data);
}
#================比較サブルーチン=========================
$katakana_convert =1; #商品データの半角カタカナを全角カタカナに変換(PC)
sub compare{
$falg_or =0;
$obj =$_[0];
$p_or =$_[1];
if($eizi{"$p_or"}){ #全角英字を半角に変換
$obj =~ s/([\x83-\x99])\x82/&x82_put($1)/geo;
$obj =~ s/\x82([\x60-\x79]|[\x81-\x9A])/&zen_han_alp($1)/geo;
$obj =~ s/\xFF([\xA3-\xB9])/&x82_get($1)/geo;
}
if($suuzi{"$p_or"}){ #全角数字を半角に変換
$obj =~ s/\x82([\x4F-\x58])/&zen_han_num($1)/geo;
}
if($zenkaku{"$p_or"}){
if($katakana_convert && $zenkaku{"$p_or"} eq '1'){&jcode'h2z_sjis(*obj);}#全角カタカナに変換
if($eizi{"$p_or"} eq '2' && $kensaku_mode ne '2'){
&jcode'convert(*obj,"euc","sjis"); #eucへ変換
$obj =~ tr/A-Z/a-z/; #小文字に変換
}
}elsif($eizi{"$p_or"} eq '1'){
if($kensaku_mode eq '1'){&jcode'convert(*obj,"euc","sjis");} #eucへ変換
$obj =~ tr/A-Z/a-z/; #小文字に変換
}
@p_or =split(/\+/,$p_or);
foreach $pair_one(@p_or){
if (index($obj,$pair_one) >= 0) {$falg_or =1;last;}
}
return($falg_or);
}
#=====全角英数字を半角に変換(sjis)======
sub zen_han_alp{
$han =$_[0];
$han =~ tr/\x60-\x79/\x41-\x5A/;
$han =~ tr/\x81-\x9A/\x61-\x7A/;
return($han);
}
sub zen_han_num{
$han =$_[0];
$han =~ tr/\x4F-\x58/\x30-\x39/;
return($han);
}
#=====\x83\x82-\x99\x82の変換と復元======
sub x82_put{
$x82 =$_[0];
$x82 =~ tr/\x83-\x99/\xA3-\xB9/;
$x82 ="\xFF$x82";
return($x82);
}
sub x82_get{
$x82 =$_[0];
$x82 =~ tr/\xA3-\xB9/\x83-\x99/;
$x82 ="$x82\x82";
return($x82);
}
#===============================================
sub new_check{
$new_goods_flag =0;
unless($_[0]){return($new_goods_flag);}
# タイムゾーンを日本時間に合わせる
$ENV{'TZ'} = "JST-9";
$times = time;
$times1 =int($times/(24*60*60));
$times2 =int($_[0]/(24*60*60)) + $new_info_days;
if($times2 > $times1){$new_goods_flag =1;}
return($new_goods_flag);
}
#===============トップページの生成===============
sub top_html{
$script_save ="$script?order=$order_encode&class=$class_encode&keyword=$keyword_encode&FF=$in{'FF'}&pic_only=$in{'pic_only'}";
$url_goods_no =$script_save."&mode=p_wide&id";
$into_cart_url =$script_save."&mode=look";
$url_class ="$script?order=$order_encode&keyword=&superkey=1&FF=0&pic_only=$in{'pic_only'}&class";
$url_keyword ="$script?order=$order_encode&FF=0&pic_only=$in{'pic_only'}&class=all&keyword";
$url_top ="$script?order=$order_encode&pic_only=$in{'pic_only'}&mode";
$kensaku_form = <<"EOF";
EOF
$into_cart_form = <<"EOF";
EOF
&html_header();
if($in{'mode'} eq 'top1'){
$top_html =$top1_html;
}elsif($in{'mode'} eq 'top2'){
$top_html =$top2_html;
}elsif($in{'mode'} eq 'top3'){
$top_html =$top3_html;
}elsif($in{'mode'} eq 'top4'){
$top_html =$top4_html;
}else{
$top_html =$top5_html;
}
$log_in_id =$hello_id;
if($id_pass_C ne '' || $id_pass2_C ne ''){$log_in_id =$id_name_C;}
$top_html =~ s/\$log_in_id/$log_in_id/g;
$top_html =~ s/\$log_in_name/$kanji_c/g;
$top_html =~ s/\$log_in_mess/$log_in_mess/g;
$top_html =~ s/\$url_goods_no/$url_goods_no/g;
$top_html =~ s/\$url_class/$url_class/g;
$top_html =~ s/\$url_keyword/$url_keyword/g;
$top_html =~ s/\$kensaku_form/$kensaku_form/g;
$top_html =~ s/\$into_cart_url/$into_cart_url/g;
$top_html =~ s/\$into_cart_form/$into_cart_form/g;
$top_html =~ s/\$url_top/$url_mode/g;
$top_html =~ s/\$url_mode/$url_mode/g;
$top_html =~ s/\$script/$script/g;
$top_html =~ s/\$order_encode/$order_encode/g;
$top_html =~ s/\$class_encode/$class_encode/g;
$top_html =~ s/\$keyword_encode/$keyword_encode/g;
$top_html =~ s/\$in{'pic_only'}/$in{'pic_only'}/g;
$top_html =~ s/\$in{'FF'}/$in{'FF'}/g;
$top_html =~ s/\$in{'price_sort'}/$in{'price_sort'}/g;
$top_html =~ s/\$pic_only/$in{'pic_only'}/g;
$top_html =~ s/\$page_no/$in{'FF'}/g;
$top_html =~ s/\$price_sort/$in{'price_sort'}/g;
print <<"EOF";
$top_html
EOF
print "
$foot