#!/usr/bin/perl

require	("./lib/util.pl");			# ユーティリティライブラリ
require	("./lib/file_io.pl");		# ファイル入出力ライブラリ
require	("./lib/error.pl");			# エラーライブラリ
require	("./lib/conf_s.pl");		# 設定データ

use		CGI
$InputData	= new CGI;



my	$page			= $InputData->param('page');					#	表示ページ
my	$page_i			= "";											#	ページ差し込み用データ



my	$stg_disp_num	= 10;

print	"Content-type: text/html\n\n";


if($page eq ""){ $page = 0; }													#	ページ指定が無い場合は最新ページ（1ページ目）を指定
if( -r $ArticlePath.$ArticleList ){												#	・記事リストファイルが存在する場合
	my	$page_num		= 0;													#		記事ページ総数
	my	$page_rtn		= 0;													#		ページリターンスイッチ
	my	$page_next		= 0;													#		ページネクストスイッチ
	my	$in_base		= "";													#		記事差し込み用の元データ
	my	$in_data		= "";													#		記事差し込み用のデータ
	
	my	@article_list	= &ReadArrayFile( $ArticlePath.$ArticleList );			#		記事リストファイルを読み込む
	$page_num	= (@article_list - 1) / $stg_disp_num;							#		記事ページの総数を取得
	if((@article_list - 1) % $stg_disp_num == 0){ $page_num++; }				#		端数記事が有る場合は１ページ追加
	if($page > 0){ $sw_rtn = 1; }												#		表示ページが0ページ目より大きい場合は、戻るボタンスイッチ ON
	if($page < $page_num-1){ $sw_next = 1; }									#		表示ページが最後のページより小さい場合は、次のページボタンスイッチ ON
	
	$page_i	= &PageChange( $page, $sw_rtn, $sw_next );							#		ページ切り替えボタンの挿入
	
	$in_base	= &ReadFile("./page_d/disp.pid");								#		ページ内差し込みテンプレート 読み込み
	for(my $i=$page*$stg_disp_num;$i<($page+1)*$stg_disp_num;$i++){				#		・記事の差し込みループ
		my	$num	= @article_list - $i;										#			記事番号（No.）の指定
		if( $num <= 0 ){ last; }												#			記事番号が 0以下の場合はループを抜ける
		my	$w	= @article_list[$i];											#			該当記事項目をリストから抜き出す
		my	@p;																	#			記事項目抜き出し用配列
		while( $w =~ /\t/ ){													#			・記事項目をタブ文字で切り抜きループ
			push( @p, $` );
			$w	= $';#'
		}
		my	$date	= sprintf( "%04d年%02d月%02d日 %02d:%02d", @p[1], @p[2], @p[3], @p[4], @p[5] );	# 記事書き込み日時を設定
		$in_data	= $in_base;													#			ページ内差し込みテンプレートをコピー
		$in_data	= &Substring( $in_data, "<!--###A_DATE###-->", $date );		#			記事の書き込み日時を挿入
		my	$Img	= &DispImages(@p[0]);
		$in_data	= &Substring( $in_data, "<!--###A_IMAGE###-->", $Img );		#			記事の画像を挿入
		my	$title	= sprintf( "No.%02d　%s", $num, @p[6] );
		$in_data	= &Substring( $in_data, "<!--###A_TITLE###-->", $title );	# 記事のタイトル文章を挿入
		my	$string	= &ReadFile( $ArticlePath.@p[0].$ArticleFile );				#			記事本文データの読み込み
		$string		= &Substring( $string, "\n", "<br>" );						#			改行文字を HTML改行タグに変換
		$in_data	= &Substring( $in_data, "<!--###A_STRING###-->", $string );	#			記事の記事本文を挿入
		$page_i	.= $in_data;													#			ページ内差し込みデータに連結
	}
	
	$page_i	.= "<br>".&PageChange( $page, $sw_rtn, $sw_next );							#		ページ切り替えボタンの挿入
}


my		$page_m	= &ReadFile("./page_d/main.html");								#	ページデータ読み込み
$page_m	= &Substring( $page_m, $InStr, $page_i );								#	ページデータにページ内データを挿入
print	$page_m;																#	ページデータの書き出し


exit();




sub		PageChange{
	my	$p_return	= $_[0]-1;
	my	$p_next		= $_[0]+1;
	my	$sw_r		= $_[1];
	my	$sw_n		= $_[2];
	my	$str;
	
$str	= qq(
<table width="650" arign="center" border="0">
  <tr>
    <td arign="left">
);
if($sw_r == 1){
$str	.= qq(
      <form action="./disp.cgi" method="post" class="NM">
        <input type="image" src="./page_d/img/b_new.png" alt="新しい記事">
        <input type="hidden" name="page" value="$p_return">
      </form>
);
}
$str	.= qq(
    </td>
    <td width="700"></td>
    <td arign="right">
);
if($sw_n == 1){
$str	.= qq(
      <form action="./disp.cgi" method="post" class="NM">
        <input type="image" src="./page_d/img/b_old.png" alt="過去の記事">
        <input type="hidden" name="page" value="$p_next">
      </form>
);
}
$str	.= qq(
    </td>
  </tr>
</table>
);

return	$str;
}



sub		DispImages{
	my	$File_ID	= $_[0];
	my	@ftype		= ( "\.jpg", "\.gif", "\.png" );
	my	@fflag		= ( "", "", "", "", "", "", "", "" );
	my	$i;
	my	$j;
	my	$rtn="";
	
	for($i=0;$i<8;$i++){
		for($j=0;$j<3;$j++){
			my	$fn;
			if($i % 2 == 0){
				$fn	= sprintf( "%s%s%d_s%s", $ArticlePath, $File_ID, $i/2, @ftype[$j] );
			}else{
				$fn	= sprintf( "%s%s%d%s", $ArticlePath, $File_ID, $i/2, @ftype[$j] );
			}
			if( -f $fn ){
				@fflag[$i]	= $fn;
			}
		}
	}
	
	if( @fflag[0] || @fflag[2] || @fflag[4] || @fflag[6] ){
		$rtn	= qq(<table class="ImgTable"><tr>);
		for($i=0;$i<4;$i++){
			if( @fflag[$i*2] ){
				$rtn	.= "<td valign='top'><a href='".@fflag[$i*2+1]."' target='_blank'><img src='".@fflag[$i*2]."' class='ImgB'></a></td>";
			}
		}
		$rtn	.= qq(</tr></table>);
	}
	return	$rtn;
}









