#!/home/ta/bin/perl -I /home/ta/src/4f-0.0.3/lib

# --------------------------------------------------------------------
# 4F - Formula for Form Fabrication
#
#                                            http://www.godtomato.net/
#                                         mailto:takefumi@takefumi.com
#             Copyright (c) 1997-2002 GOD TOMATO. All rights reserved.
# --------------------------------------------------------------------
use strict;
use FFFF;
use Data::Dumper;

	#
	# FORMの解析、オブジェクトの作成
	#
	my $ffff = FFFF->new();

	eval {

		#
		# 設定ファイルの読み込み
		#
		$ffff->readconfig();

		#
		# セッションの読み込みと保存
		#
		$ffff->session_set();

		#
		# _action が設定されていなかったり、
		# _back が設定されていれば、入力チェックなどは省く
		#
		if ($ffff->{ACTION} ne "" and $ffff->{BACK} eq "") {

			#
			# 入力チェック
			#
			$ffff->input_check();
			$ffff->session_check();

			if ($ffff->is_error() == 0) {
				#
				# モジュール実行
				#
				$ffff->exec_module();

				#
				# セッションの削除
				#
				if ($ffff->{CONFIG_NOW}->{SESSION_EXPIRE} == 1) {
					$ffff->session_expire();
				}
			}
		}

		#
		# HTMLの出力
		#

		$ffff->outputhtml();
	};

	#
	# エラー処理
	#
	if ($@) {
		print "Contnt-Type: text/html\n\n";
		$@ =~ s/&/&amp;/g;
		$@ =~ s/</&lt;/g;
		$@ =~ s/>/&gt;/g;
		$@ =~ s/\"/&quot;/g;
		print "SYSTEM ERR: <PRE>$@</PRE>";
	}

	#
	# デバッグ情報の出力
	#
	if ($ffff->{CONFIG}->{DEBUG} == 1) {
		print "<pre>";
		print "<hr>ACTION: " . $ffff->{FORM}->{_action};
		print "<hr>ERROR: "  . Dumper $ffff->{ERROR};
		print "<hr>DUMP: "   . Dumper $ffff;
		print "</pre>";
	}

__END__
=head CHANGES
0.0.3   2002/05/21
	- セッションチェックで引っかかった時、正しくエラーがメッセージ
	  が表示されないバグを修正。

0.0.3   2002/05/15
	- エラー時の HTML エスケープ処理を追加

0.0.2   2002/05/14
	- デバック時に、現在のACTION、ERRORを乗せるようにした。
	  ダンプだけだと見にくいので。

0.0.1   2002/05/09
	- original version
=cut
