#!/usr/bin/perl
# ↑１行目には、サーバに設置されているPerlのパスを記述してください。
# 不明な場合には、サーバ管理者へ問い合わせてください。
# （当スクリプトはPerl5用に製作されています。）


##
## このファイルについて
##    「GETメソッドでアクセスする為の実行ファイル」
##
## (C) AppsPage / 飛田 益夫丸
##

package index_cgi; BEGIN {
	#_cgitest.plユーティリティ
	#if(-e './_cgitest.pl') { require('./_cgitest.pl'); import _cgitest; }
	
	#ini.cgiを要求
	require( "./ini.cgi" );
	import ini;
};
#use strict;

index_cgi::main();


## メイン
sub main {
	
	#アラーム
	require( LIB_DIR."classes/DataAlarm.pl" );
	my $alrm = new DataAlarm::( DF_LIMIT );
	
	#各クラス要求
	require( "MTRequest.pl" );
	require( "MTResponse.pl" );
	require( "MTFileLock.pl" );
	require( LIB_DIR."classes/DataFile.pl" );
	require( LIB_DIR."classes/Controller.pl" );
	
	
	#コントローラへ渡すオブジェクト
	my $req = new MTRequest::( "", 1 );
	my $res = new MTResponse::();
	my $lock = new MTFileLock::(
		LOCK_METHOD, LOCK_DIR, "flock.cgi", "flock",
		LOCK_SH, LOCK_EX, LOCK_UN
	);
	my $data = new DataFile::(
		DATA_DIR, DATA_DIR, "check.cgi", SU_MODE, $alrm
	);
	
	#未定義のパラメータを設定
	if( !$req->existsParam("mode")  ) { $req->setParam( "mode", "step1" ); }
	
	#コントローラ
	my $ctl = new Controller::( $req, $res, $lock, $data, $alrm );
	
	#このファイルのヘッダを設定
	#HTMLコンテンツ用レスポンスヘッダ
	if( $req->getParam("mode") ne "upfilereader" ) {
		#コンテンツ用レスポンスヘッダ
		$ctl->setContentTypeHeaders();
	}
	
	#処理開始
	$ctl->start( "index" );
	$ctl->stop();
}




0;
