#!/usr/bin/perl


## 初期設定


# このファイル
$self = 'search2.cgi';

# 写真が無い場合の画像
$nophoto = '../photo/printing.gif';

# テンプレート（一覧表示画面）
$html1 = '../../../whats_new_photo/html/list2.html';

# テンプレート（詳細表示画面）
$html2 = '../../../whats_new_photo/html/details.html';



## ライブラリのロード

require '../lib/jcode.pl';
require '../lib/stdio.pl';
require '../lib/sub.pl';
require '../lib/setup.pl';
&setup;
&get_date;


## データを取得（ハッシュに格納）

%param = ();
@keys = stdio::getFormData(\%param, "", "SJIS", ";", "");



## カテゴリ項目表示名

@cate_viewname = &cate_viewname();



#************************************************************************************************** モード (なし)
if(!$param{'mode'}){


## データファイルをオープン

@dbdatafile = &fileopen($data_file);



## 検索の準備

stdio::trString(\$param{'ps1'}, "", 1, 1);
$param{'ps1'} =~ s/\D//g;
stdio::trString(\$param{'ps2'}, "", 1, 1);
$param{'ps2'} =~ s/\D//g;

stdio::trString(\$param{'madori'}, "", 1, 1);



## 検索

foreach(@dbdatafile){
	if($_ eq $dbdatafile[0]){ next; }
	chomp;
	@dbdata1 = split(/<>/);
	
	# 掲載許可
	if($dbdata1[19] ne 1){ next; }
	
	# カテゴリ１
	if($param{'category1'}){
		@cate1 = split(/;/, $param{'category1'});
		$cate1flag = '';
		foreach(@cate1){
			if($dbdata1[1] eq $_){ $cate1flag = 1; }
		}
		if(!$cate1flag){ next; }
	}

	# 新着
	if($param{'new'}){
		if($dbdata1[17] ne '1'){ next; }
	}

	# ワード検索
	if($param{'word'}){
		$word = $_;
		stdio::trString(\$word, "", 1);	# 検索の為に小文字に置換え
		stdio::trString(\$param{'word'}, "", 1);	# 検索の為に小文字に置換え
		if(!stdio::searchString($word, $param{'word'})){ next; }
	}

	# 検索結果
	$sorthash{$dbdata1[20].$dbdata1[0]} = $_;
}



## ソート

foreach $key (sort {$b cmp $a} (keys %sorthash)) {
	push(@searchdata,$sorthash{$key});
}




## テーブルを書き出す

if($searchdata[0] ne ''){
	$p = $param{'p'};
	$p2 = $param{'p'} + 1;
	
	foreach(1 .. $max_cnt){
		if(!$searchdata[$p]){ next; }
		@dbdata2 = split(/<>/, $searchdata[$p]);
		$dbdata2[16] =~ s/&lt;/</g;
		$dbdata2[16] =~ s/&gt;/>/g;
		
		$dbdata2[22] =~ s/\　//g;
		
		if($dbdata2[22]){
		$syousai = "<DIV align=right><a href=\"".$dbdata2[22]."\" target=\"_blank\"><img src=\"../images/point.gif\" border=\"0\"> 詳しくはこちら</a></DIV>";
		}else{$syousai = "<BR>";
		}
$mojisu = length($dbdata2[21]);
$mojisu_max = 30;
if($mojisu > $mojisu_max){
$seigen2 = substr($dbdata2[21], 0,30).'...';
}else{
$seigen2 = $dbdata2[21];
	}
	
$td_color = $td_color eq $td_color1? $td_color2: $td_color1;
# 写真１，２，３
$photo1j = $photo_dir.$dbdata2[0]."_1.jpg";
$photo1g = $photo_dir.$dbdata2[0]."_1.gif";
$photo2j = $photo_dir.$dbdata2[0]."_2.jpg";
$photo2g = $photo_dir.$dbdata2[0]."_2.gif";
$photo3j = $photo_dir.$dbdata2[0]."_3.jpg";
$photo3g = $photo_dir.$dbdata2[0]."_3.gif";

$photo1j2 = $photo_dir2.$dbdata2[0]."_1.jpg";
$photo1g2 = $photo_dir2.$dbdata2[0]."_1.gif";
$photo2j2 = $photo_dir2.$dbdata2[0]."_2.jpg";
$photo2g2 = $photo_dir2.$dbdata2[0]."_2.gif";
$photo3j2 = $photo_dir2.$dbdata2[0]."_3.jpg";
$photo3g2 = $photo_dir2.$dbdata2[0]."_3.gif";

if(-e $photo1j2){ $phototag1 = qq|<img src="$photo1j" width="200" border="0">|; }
elsif(-e $photo1g2){ $phototag1 = qq|<img src="$photo1g" width="200" border="0">|; }
else{ $phototag1 = qq||; }

if(-e $photo2j2){ $phototag2 = qq|<img src="$photo2j" width="200" border="0">|; }
elsif(-e $photo2g2){ $phototag2 = qq|<img src="$photo2g" width="200" border="0">|; }
else{ $phototag2 = qq||; }

if(-e $photo3j2){ $phototag3 = qq|<img src="$photo3j" width="200" border="0">|; }
elsif(-e $photo3g2){ $phototag3 = qq|<img src="$photo3g" width="200" border="0">|; }
else{ $phototag3 = qq||; }

		$table .= qq|
		<tr><td><A name="$dbdata2[0]"></A>
  ◇<B>$dbdata2[21]</B></td></tr>
 <tr>
  <td align="center" valign="top">
    <table cellspacing="0" cellpadding="0" width="100%" border="0"><tr><td align="center" valign="top" style=""><a href="#" onClick="MM_openBrWindow('photo.cgi?num=$dbdata2[0]&photonum=1','photo1','scrollbars=yes,resizable=yes,width=800,height=600')">$phototag1</a></td>
  <td align="center" valign="top" style=""><a href="#" onClick="MM_openBrWindow('photo.cgi?num=$dbdata2[0]&photonum=2','photo1','scrollbars=yes,resizable=yes,width=800,height=600')">$phototag2</a></td>
  <td align="center" valign="top" style=""><a href="#" onClick="MM_openBrWindow('photo.cgi?num=$dbdata2[0]&photonum=3','photo1','scrollbars=yes,resizable=yes,width=800,height=600')">$phototag3</a></td></tr></table>
  </td></TR><TR>
  <td valign="top" class="dd"><p>[$dbdata2[1]]　…$dbdata2[20]<BR>
  $dbdata2[16]$syousai</p>
 </td>
 </tr>|;
 		
 		$p++;
	}
}
else{
	$table = qq|
 <tr>
  <td height="30" align="center" bgcolor="#FFFFFF" colspan="8">データは見つかりませんでした。</td>
 </tr>|;
}



## リンク

foreach(@keys){
	if($_ eq 'p'){ next; }
	else{ push(@param,"$_=$param{$_}"); }
}
$param = join("&", @param);

if($param{'p'}){
	$mae = $param{'p'} - $max_cnt;
	$link_tmp1 = qq|<a href="$self?$param&p=$mae">前の$max_cnt件</a>|;
	push(@link, $link_tmp1);
}

if($p < $#searchdata + 1){
	$ato = $param{'p'} + $max_cnt;
	$link_tmp2 = qq|<a href="$self?$param&p=$ato">次の$max_cnt件</a>|;
	push(@link, $link_tmp2);
}

$link = join("　", @link);



## テンプレートをオープン

@datafile = &fileopen($html1);



## ＤＩＣタグを置換え


$kensuu = $#searchdata + 1;
foreach(@datafile){
	s/_%key1%_/$setdata[3]/g;
	s/_%key2%_/$setdata[4]/g;	
	s/_%table%_/$table/g;
	s/_%copyright%_/$copyright/g;
	
	s/_%category_viewname1%_/$cate_viewname[1]/g;
	s/_%link%_/$link/g;
	s/_%img_dir%_/$img_dir/g;
	
	$htmlfile .= $_;
}



## ＨＴＭＬ出力

print <<"EOF";
Content-type: text/html

$htmlfile
EOF
exit;
}	# モード (指定なし) ここまで





#************************************************************************************************** モード (view)
if($param{'mode'} eq 'view'){


## 項目データファイルをオープン

@setdata = &fileopen($setdata);



## データファイルをオープン

@dbdatafile = &fileopen($data_file);



## データをセットする

foreach(@dbdatafile){
	if($_ eq $dbdatafile[0]){ next; }
	@dbdata1 = split(/<>/);
	if($dbdata1[0] eq $param{'num'}){
		last;
	}
}

# 写真１，２，３
$photo1j = $photo_dir.$dbdata1[0]."_1.jpg";
$photo1g = $photo_dir.$dbdata1[0]."_1.gif";
$photo2j = $photo_dir.$dbdata1[0]."_2.jpg";
$photo2g = $photo_dir.$dbdata1[0]."_2.gif";
$photo3j = $photo_dir.$dbdata1[0]."_3.jpg";
$photo3g = $photo_dir.$dbdata1[0]."_3.gif";

$photo1j2 = $photo_dir2.$dbdata1[0]."_1.jpg";
$photo1g2 = $photo_dir2.$dbdata1[0]."_1.gif";
$photo2j2 = $photo_dir2.$dbdata1[0]."_2.jpg";
$photo2g2 = $photo_dir2.$dbdata1[0]."_2.gif";
$photo3j2 = $photo_dir2.$dbdata1[0]."_3.jpg";
$photo3g2 = $photo_dir2.$dbdata1[0]."_3.gif";

if(-e $photo1j2){ $phototag1 = qq|<img src="$photo1j" width="240" border="0">|; }
elsif(-e $photo1g2){ $phototag1 = qq|<img src="$photo1g" width="240" border="0">|; }
else{ $phototag1 = qq|<img src="$nophoto" width="240" border="0">|; }

if(-e $photo2j2){ $phototag2 = qq|<img src="$photo2j" width="240" border="0">|; }
elsif(-e $photo2g2){ $phototag2 = qq|<img src="$photo2g" width="240" border="0">|; }
else{ $phototag2 = qq|<img src="$nophoto" width="240" border="0">|; }

if(-e $photo3j2){ $phototag3 = qq|<img src="$photo3j" width="240" border="0">|; }
elsif(-e $photo3g2){ $phototag3 = qq|<img src="$photo3g" width="240" border="0">|; }
else{ $phototag3 = qq|<img src="$nophoto" width="240" border="0">|; }


## テンプレートをオープン

@datafile = &fileopen($html2);



## ＤＩＣタグを置換え

foreach(@datafile){
	$tmp = $_;
	foreach(1 .. 20){
		$tmp2 = $_ + 3;
		$tmp3 = $_ + 19;
		$val = $dbdata1[$tmp3];
		#$val = stdio::setComma($val);
		$tmp =~ s/_%key$_%_/$setdata[$tmp2]/g;
		$tmp =~ s/_%val$_%_/$val/g;
	}
	$_ = $tmp;
	s/_%photo_dir%_/$photo_dir/g;

	s/_%num%_/$dbdata1[0]/g;
	s/_%category1%_/$dbdata1[1]/g;
	s/_%note1%_/$dbdata1[16]/g;
	s/_%phototag1%_/$phototag1/g;
	s/_%phototag2%_/$phototag2/g;
	s/_%phototag3%_/$phototag3/g;
	s/_%copyright%_/$copyright/g;
	
	$tmp = $_;
	foreach(1 .. 24){
		$tmp =~ s/_%setsubi_name$_%_/$setsubi_name[$_]/g;
	}
	$_ = $tmp;
	
	s/_%category_viewname1%_/$cate_viewname[1]/g;

	s/_%date%_/$year/g;
	s/_%img_dir%_/$img_dir/g;

	$htmlfile .= $_;
}



## ＨＴＭＬ出力

print <<"EOF";
Content-type: text/html

$htmlfile
EOF
exit;
}	# モード (view) ここまで

