#!/usr/bin/perl
#
# itemlist.cgi
# 商品一覧ページ生成ＰＧ
# 2004/04/12
#

use strict;								#コーディングを厳格化
use Fcntl qw(:DEFAULT :flock);			#ファイルロックモジュール
use CGI;								#ＣＧＩモジュール

require'./kanri/common.pl';			# 初期値ライブラリ

use vars qw ($q $img $script $photo_w $cargo $photo_h $width $height $template $csvfile $cateno @sort @newlines @temp  @t_line @lines @line $catefile %vals $gitemno);

# 画像表示サイズ(ここを変更するとレイアウトが崩れる可能性がある)
$photo_w = "200";
$photo_h = "200";

# このスクリプト名
$script = "item.cgi";

# HTMLページのテンプレートファイル名
$template = "../t_item.html";

# 商品ファイル
$csvfile = "./kanri/item.csv";

# 商品画像ファイルパス
$img = "./kanri/cgiphoto";

# カートＰＧ
$cargo = "./cargo.cgi";

#----------------初期設定ここまで-----------------------------------------#


$q = new CGI;

# アイテムNO,取得
$gitemno = $q->param('itemno');



# 商品ファイル開く
sysopen(IN, $csvfile, O_RDONLY) or die &error("システムエラーFILE1");
	flock(IN, LOCK_EX) or die &error("システムエラーLOCK2");
	@lines = <IN>;
close(IN);

my $flg = 0;
foreach(@lines){
	# 該当カテゴリの商品のみを抽出
	@line = split(/,/);
	if($gitemno eq $line[0]){ $flg=1; last; }
}

if(!$flg){ &error("該当商品が見つかりませんでした。"); }



# ------------商品情報作成-------------

$vals{'itemname'} = $line[1];
$vals{'number'} = $line[2];
$vals{'com'} = $line[8];

# 写真１
if($line[14]){

	if($photo_w>$line[16]){ $width = $height = "$line[16]"; }
	else{ $width = $height = "$photo_w";  }

	$vals{'photo1'} ="<img src=\"$img/$line[14]\" width=\"$width\" height=\"$height\" alt=\"$line[1]\">"
}
# 写真２
if($line[15]){
	if($photo_w>$line[18]){ $width = $height = "$line[18]"; }
	else{ $width = $height = "$photo_w";  }

	$vals{'photo2'} ="<img src=\"$img/$line[15]\" width=\"$width\" height=\"$height\" alt=\"$line[1]\">"
}



# 単価生成
if($line[3] eq '1'){
# サイズ別単価あり
	@temp = split(/<br>/,$line[4]);
	foreach(@temp){ 
		chomp;
		if(!$_){ next; }
		$vals{'price'} .= $_."円(税込)<br>\n";


		# 注文個数セレクトボックス(受け渡し変数規則 サイズ：数量：価格)
		my @temp2 = split(/:/);
		$vals{'amount'} .= <<EOF;
		<form action="$cargo" method="POST">
		<input type="hidden" name="itemno" value="$line[0]">
		<input type="hidden" name="g_no" value="$line[2]">
		<input type="hidden" name="price" value="$temp2[1]">
		<input type="hidden" name="goods" value="$line[1] $temp2[0]">
		<input type="hidden" name="unit" value="$line[7]">
		<input type="hidden" name="action" value="regist">
		$temp2[0]&nbsp;<select name="amount">
		<option value="1">1</option>
		<option value="2">2</option>
		<option value="3">3</option>
		<option value="4">4</option>
		<option value="5">5</option>
		</select> $line[7]
		<input type="submit" value="注文する">
		</form>
EOF
	}

}else{
# サイズ別単価なし
	$vals{'price'} = $line[4]."円(税込)";

	# 注文個数セレクトボックス(受け渡し変数規則 サイズ：数量：価格)
	$vals{'amount'} = <<EOF;
	<form action="$cargo" method="POST">
	<input type="hidden" name="itemno" value="$line[0]">
	<input type="hidden" name="g_no" value="$line[2]">
	<input type="hidden" name="price" value="$line[4]">
	<input type="hidden" name="goods" value="$line[1]">
	<input type="hidden" name="unit" value="$line[7]">
	<input type="hidden" name="action" value="regist">
	<select name="amount">
	<option value="1">1</option>
	<option value="2">2</option>
	<option value="3">3</option>
	<option value="4">4</option>
	<option value="5">5</option>
	</select> $line[7]
	<input type="submit" value="注文する">
	</form>
EOF
}

# 単価強調文字
if($line[25]){ $vals{'price'} = "<b><font color=\"#ff0000\">".$vals{'price'}."</font></b>"; }


# 戻るリンク
$vals{'back'} = "itemlist.cgi?category=$line[6]";


# 在庫残り僅か警告
$vals{'alert'} = '';
if( $line[9] < $line[11] ){ $vals{'alert'} = "<font color=\"#ff0000\"><b>在庫残り僅かです。お早めにご注文ください。</b></font>";  }



# テンプレートファイル開いて標準出力へはきだし
sysopen(IN, $template, O_RDONLY) or die &error("システムエラーFILE");
	flock(IN, LOCK_EX) or die &error("システムエラーLOCK");

	print $q->header(-charset=>'Shift_JIS');
	while(<IN>){
		s/__%(.+?)%__/$vals{$1}/g;
		print;
	}
close(IN);

exit;




#------------------------ 以下サブルーチン ----------------------------#


#------------#
#    エラー  #
#------------#
sub error{
# 引数１：エラーメッセージ

print $q->header(-charset=>'Shift_JIS');
print $q->start_html();
print "<center><b><font color=\"#ff0000\">$_[0]</font></b></center>";
print $q->end_html;
exit;
}

__END__