#!/usr/bin/perl

$test = 0;																														# ローカル稼動の場合(ファイルロック)
$new_mode =1;																													# ニューモードの場合(ワッツニューで題名とコメントのみの場合)
$img_up =1;																														# ニューモードで添付する場合
																																			# ローカル画像用ディレクトリ
if ($test) { $local_img = '../../../' } else { $local_img = '$local_img/' }

require '../jcode.pl';
require '../cgi-lib.pl';


#------------- 設定変更(setup)ファイル読み込み ---------#
#	if ($lockkey) { &lock; }																						# ロック処理
$setup = "../setup.dat";
open(IN,"$setup") || &error("Open Error : セットアップファイルがありません。 $setup");
while (<IN>) {
($pass, $p_color, $moji_size, $moji_space_w, $moji_space_h, $picture_w, $picture_h, $page_number, $page_max, $new_title_color, $new_page, $new_page_time, $comment_number, $comment_line, $tag_key, $w_regist) = split(/<>/);
}
close(IN);
#	if ($lockkey) { &unlock; }																					# ロック解除
$pass;																						# パスワード
$sub_color = $p_color;														# タイトルの文字色
$moji_size;																				# 文字サイズ
$moji_space_w;																		# 文字
$moji_space_h;																		# 文字
$MaxW = $picture_w;																# 横幅
$MaxH = $picture_h;																# 縦幅
$p_log = $page_number;														# １ページあたりの記事表示件数
$max = $page_max;																	# 最大記事数（これを超える記事は古い順に削除されます）
$new_title_color;																	# ニューのタイトル文字色
$new_page;																				# 簡易表示するしない
$date_off = $new_page_time;												# 記事の時間を表示
$comment_number;																	# 投稿時テキスト枠数
$comment_line;																		# 投稿時右端改行する・しない
$tagkey = $tag_key;																# タグ許可 (0=no 1=yes)
$w_regist;																				# 同一ホストからの連続投稿を制限
																									# → 秒数を記述するとその時間以上を経過しないと連続投稿できない
																									# → 投稿を管理者限定にする場合 ($PostMode=1;) はこの設定は無視されます



#------------- その他共通ライブラリー読み込み -------------#
require '../common_init.pl';																					# 共通設定読み込み
require './new_lib.pl';

$script = './new.cgi';																								# スクリプト名

$cgi_lib'maxdata    = 131072;																					# maximum bytes to accept via POST - 2^17

$logfile = "$logfile\.log";																						# 記録ファイルの拡張子設定

$background = "../../images/top_line_1.gif";													# タイトルのテーブルバック画像

$event_link =				"http://www.goowork.co.jp/jin/cgi-bin/annex/annex.cgi";
$event_com =				"イベントページの更新がありました。<br>イベントのページへ<br>";
$launch_link =			"http://homepage3.nifty.com/jin-ohasidetaberu/launch_menu.html";
$launch_com =				"ランチメニューの更新がありました。<br>ランチメニューのページへ<br>";
$dinner_link =			"http://homepage3.nifty.com/jin-ohasidetaberu/dinner_menu.html";
$drink_com =				"ディナーメニューの更新がありました。<br>ディナーのページへ<br>";
$alacarte_link =		"http://homepage3.nifty.com/jin-ohasidetaberu/alacarte_menu.html";
$alacarte_com =			"アラカルトメニューの更新がありました。<br>アラカルトのページへ<br>";
$wine_link =				"http://homepage3.nifty.com/jin-ohasidetaberu/wine.html";
$wine_com = 				"ワインページの更新がありました。<br>ワインのページへ<br>";

#------------- 設定完了 ---------------------#

if ($ImgDir !~ /\/$/) { $ImgDir .= "/"; }
if ($ImgUrl !~ /\/$/) { $ImgUrl .= "/"; }

&decode;

#&axs_check;
#	 if ($mode eq 'regist')		{ &regist; }
#elsif ($mode eq 'find')			{ &find; }
#elsif ($mode eq 'admin')		{ &admin; }
#elsif ($mode eq 'usrdel')		{ &usrdel; }
#elsif ($mode eq 'usr_edt')	{ &usr_edit; }
#elsif ($mode eq 'note')			{ &note; }
#elsif ($mode eq 'check')		{ &check; }

&html;

#-------------- アクセス制限 ----------------#
sub axs_check {
	# ホスト名を取得
	&get_host;

	$flag=0;
	foreach (@deny) {
		if (!$_) { next; }
		s/\*/\.\*/g;
		if ($host =~ /$_/i) { $flag=1; last; }
	}
	if ($flag) { &error("アクセスを許可されていません"); }
}

#-------------- 記事表示処理 ---------------#

sub html {
	# レス処理
	if ($mode eq 'resmsg') {
		open(IN,"$logfile") || &error("Open Error : $logfile");
		$flag=0;
		while (<IN>) {
			($no,$date,$name,$mail,$sub,$com,$url) = split(/<>/);
			if ($in{'no'} eq "$no") { $flag=1; last; }
		}
		close(IN);
		if ($flag == 0) { &error("該当記事が見つかりません"); }

		$sub   =~ s/^Re://g;
		$r_sub = "Re:[$no] $sub";
		$r_com = "&gt; $com";
		$r_com =~ s/&amp;/\&/g;
		$r_com =~ s/&lt;/</g;
		$r_com =~ s/&gt;/>/g;
		$r_com =~ s/<br>/\r&gt; /ig;
		$r_com =~ s/<a href=\"(.*)\"(.*)>(.*)<\/a>/$1/g;
	}

#	&header;
#------------- 画面表示 ---------------
print "Content-type: text/html\n\n";
print <<"_GOO_";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>$title</title>
<link href="../default.css" type="text/css" rel="stylesheet">
<style type="text/css">
<!--
hr	{ color : #dfdfdf; }
-->
</style>
<body bgcolor="#f9f7e8" leftmargin="0" topmargin="0" background="" onload="">
_GOO_


	# 投稿フォーム
	if (!$PostMode) { &form; }

	# ページ区切り処理
	$start = $in{'page'} + 1;
	$end   = $in{'page'} + $p_log;

	open(IN,"$logfile") || &error("Open Error : $logfile");
	$i=0;
	while (<IN>) {
		$i++;
		if ($i < $start) { next; }
		if ($i > $end) { last; }

		($no,$date,$name,$mail,$sub,$com,$url,$host,$pw,$tail,$W,$H,$time2,$color,$show,$cg_right,$file_mode,$new_page_submit,$chk) = split(/<>/);

		if ($mail) { $name = "<a href=\"mailto:$mail\">$name</a>"; }
		if ($url)	 { $url =  "<a href=\"http://$url\" target='_blank'><img src=\"$ImgUrl$IconHome\" border=0 align=top></a>"; }


#------------- table記事表示 ---------------
print <<"_GOO_";
<table width="100%" border="0" cellpadding="3" cellspacing="2">
 <tbody>
  <tr>
   <td colspan="2" background="$background">
_GOO_

if (!$new_mode) {
print qq|[<b>$no</b>] <font color="$sub_color"><b>$sub</b></font>|;
print qq|　投稿者：<b>$name</b> 投稿日：$date|;
} else {

print qq|<font color="$new_title_color"><strong class="l">$sub</strong></font>|;
if ($new_page_time) { print qq|　<small>$date</small>|; }									# 時間表示をする・しない

}


print <<"_GOO_";
</td>
  </tr>
  <tr>
   <td width="5"><br></td>
   <td bgcolor="#f9f7e8" width="100%">
_GOO_

		# 返信のリンク
		if (!$PostMode) {
			print qq|[<a href="$script?mode=resmsg&no=$no">返信</a>] |;
		}

			 if ($file_mode =~ /event/)			{ $comment_show = "<br><a href=\"$event_link\" target=\"_top\">$event_com</a>"; }
		elsif ($file_mode =~ /launch/)		{ $comment_show = "<a href=\"$launch_link\" target=\"_top\">$launch_com</a><br>"; }
		elsif ($file_mode =~ /dinner/)		{ $comment_show = "<a href=\"$dinner_link\" target=\"_top\">$dinner_com</a><br>"; }
		elsif ($file_mode =~ /alacarte/)	{ $comment_show = "<a href=\"$alacarte_link\" target=\"_top\">$alacarte_com</a><br>"; }
		elsif ($file_mode =~ /wine/)			{ $comment_show = "<a href=\"$wine_link\" target=\"_top\">$wine_com</a>"; }
		else															{ $comment_show = ""; }

																																			# 投稿記事を簡易表示をする・しない新規投稿の場合は除く(追加分)
	if ($new_page_submit ne "1")  {																			# ワッツニューの投稿は、簡易表示はしない
		if ($new_page eq "easy") {
			if (length($com) > 40) {
				$com = substr($com,0,49);																			# 38
				$com .= "..."; }
		}
	}

		# 添付ファイルが存在する場合
		if (-e "$ImgDir$no$tail") {
		if ($tail eq ".gif" || $tail eq ".jpg" || $tail eq ".png") {
			if ($ImageCheck && $chk != 1) {
#							print qq|<img src="$ImgUrl$IconSoon" align="left" hspace="18">\n|;
			} elsif ($W && $H) {
#							print qq|<a href="$ImgUrl$no$tail" target="_blank"><img src="$ImgUrl$no$tail" width="$W" height="$H" border="0" align="left" hspace="5" alt="$no$tail"></a>\n|;
			} else {
#							print qq|<a href="$ImgUrl$no$tail" target="_blank"><img src="$ImgUrl$no$tail" border="0" align="left" hspace="5" alt="$no$tail"></a>\n|;
			}
#							print qq|<font color="$color">$comment_show$com</font><br clear=all>\n|;
		} else {
#							print qq|<font color="$color">$comment_show$com</font><p><a href="$ImgUrl$no$tail"><img src="$ImgUrl$IconClip" border="0" alt="Download:$no$tail"></a> <b>$no$tail</b>\n|;
		}

		} else {	print qq|<font color="$color">$com$comment_show</font>\n|; }

print <<"_GOO_";
      </td>
    </tr>
  </tbody>
</table>
<hr>
_GOO_
	}
	close(IN);

	$next_page = $in{'page'} + $p_log;
	$back_page = $in{'page'} - $p_log;

print <<"_GOO_";
<center>
<table>
 <tr>
_GOO_

	if ($back_page >= 0) {
print <<"_GOO_";
  <td>
  <form action="$script" method="POST">
  <input type="hidden" name="page" value="$back_page">
  <input type="submit" value="前の$p_log件">
  </td></form>
_GOO_
	}

	if ($next_page < $i) {
print <<"_GOO_";
  <td>
<form action="$script" method="POST">
<input type="hidden" name="page" value="$next_page">
<input type="submit" value="次の$p_log件">
  </td></form>
_GOO_
	}

print <<"_GOO_";
 </tr>
</table>
</center>
_GOO_

	# 削除
	if (!$PostMode) {
print <<"_GOO_";
<table align="right">
 <tr>
  <td nowrap align="center">
<form action="$script" method="POST">
<input type="hidden" name="mode" value="usrdel">記事No<input type="text" name="no" size="3">削除キー<input type="password" name="pwd" size="4" maxlength="8"><input type="submit" value="記事削除"></td>
 </form>
 </tr>
</table>
<br clear=all>
_GOO_
	}


print <<"_GOO_";
<div id="what" style="position:absolute; left:-70; top:0; z-index:1000; visibility:hidden;" align="left"><a href="http://goowork.co.jp/" target="_top" onMouseover="window.status='What,s program by goowork?';question0();return true"><img align=bottom src="$local_imgimagesgoo_works.gif" height=32 width=120 border=0></a></div>
</body>
</html>
_GOO_
	exit;
}

