#!/usr/bin/perl --
################################################################################
#
# Star-tour MOvile Reservation cgi ( st_mor.cgi )
#
# Code by T.Kamakura @ Office Tandem 2009.2.17
#
################################################################################
require 'jcode.pl';
require 'common.pl';
require 'const.pl';
require 'template.pl';
require 'config.pl';
require 'yoyaku.pl';
require 'counter.pl';
require 'check.pl';
require 'maintenance.pl';
################################################################################
# 定数定義
################################################################################
################################################################################
# プロパティ
################################################################################
# システム設定
%g_SysConfig = ();
################################################################################
# for TEST
################################################################################
# ダミーデータ
################################################################################
# メインロジック
################################################################################
# 日本語コードライブラリの初期化
&jcode'init;
# HTMLヘッダを出力
&common'printHtmlHeader;
# CGIへの引数を読みこむ
&common'getCgiParam($ENV{'REQUEST_METHOD'});
$func_name = $common'FORM{'Func'};
# システム設定ファイルの読み込み
&config'readSysConfig( $const'g_SysConfigPath, *g_SysConfig);
# テンプレートモジュールに設定
&template'setSysItemTable( %g_SysConfig);
$template'g_Empty2Space = 0;
# メンテナンスモード判定
if( &maintenance'onMaintenance() != 0) {
if( $common'FORM{'Lang'} ne 'jp' ) {
&maintenance'showMaintenancePrompt('t_mov_maintenance_en.html');
}
else {
&maintenance'showMaintenancePrompt('t_mov_maintenance.html');
}
exit;
}
if( $func_name eq "") {
&startYoyakuInput();
}
else {
if( $func_name eq 'Input' ) {
&doYoyakuInput();
}
elsif( $func_name eq 'YoyakuInputConfirm') {
&doYoyakuInputConfirm();
}
elsif( $func_name eq 'YoyakuInputCheck') {
&doYoyakuInputCheck();
}
elsif( $func_name eq 'ExecYoyaku') {
&doExecYoyaku();
}
elsif( $func_name eq 'SendConfirmMail') {
&doSendConfirmMail( $common'FORM{'DataID'} );
}
else {
# 未定義機能
print "未知の機能名称です。
";
print "CGIの呼び出し方法を確認してください。";
print "
";
}
}
exit;
################################################################################
# 予約入力開始
################################################################################
sub startYoyakuInput
{
local( $lang ) = $common'FORM{'Lang'};
local( $filename, $i );
local( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time());
# テンプレート出力関数の呼び出し
$filename = "t_mor_input_num";
if( $lang ne 'jp' ) {
$filename = $filename . "_" . $lang . ".html";
}
else {
$filename = $filename . ".html";
}
# 初期値を設定
$g_SysConfig{'PNUM_Sel1'} = "checked";
for( $i = 0; $i < 5; $i++ ) {
$g_SysConfig{"I_Sex$i"} = "男";
}
$year += 1900;
$g_SysConfig{'I_Year1'} = $year;
$g_SysConfig{'I_Mon1'} = 1;
$g_SysConfig{'I_Day1'} = 1;
$g_SysConfig{'I_Year2'} = $year;
$g_SysConfig{'I_Mon2'} = 1;
$g_SysConfig{'I_Day2'} = 1;
# 日付コンボ作成
# &makeDateCombo();
# テンプレートモジュールに設定
&template'setSysItemTable( %g_SysConfig );
# 先頭画面を表示
&template'printTemplate( $const'g_TemplateDir, $filename, 0 );
}
################################################################################
# 入力
################################################################################
sub doYoyakuInput
{
local( $page, $lang, $next_template, $pnum, $fret, $template_file, $i, $empty, $pageNo );
$empty = 0;
# カレントページから、次のテンプレートを選択する
$page = $common'FORM{'Page'};
$lang = $common'FORM{'Lang'};
$pnum = $common'FORM{'PersonNum'};
if( $common'FORM{'submit'} eq '[8] 戻る' || $common'FORM{'submit'} eq '[8] Prev' ) {
$fret = 1;
}
else {
$fret = 0;
}
if( $page eq 'num' ) {
$next_template = 'person_1';
}
elsif( $page eq 'person_1' ) {
if( $fret == 1 ) {
# 戻る
$next_template = 'num';
}
else {
# 次へ
if( $common'FORM{'FName0'} eq '' ||
$common'FORM{'LName0'} eq '' ) {
$next_template = $page;
$empty = 1;
}
elsif( $pnum >= 2 ) {
$next_template = 'person_2';
}
else {
$next_template = 'phone';
}
}
}
elsif( $page eq 'person_2' ) {
if( $fret == 1 ) {
# 戻る
$next_template = 'person_1';
}
else {
# 次へ
if( $common'FORM{'FName1'} eq '' ||
$common'FORM{'LName1'} eq '' ) {
$next_template = $page;
$empty = 1;
}
elsif( $pnum >= 3 ) {
$next_template = 'person_3';
}
else {
$next_template = 'phone';
}
}
}
elsif( $page eq 'person_3' ) {
if( $fret == 1 ) {
# 戻る
$next_template = 'person_2';
}
else {
# 次へ
if( $common'FORM{'FName2'} eq '' ||
$common'FORM{'LName2'} eq '' ) {
$next_template = $page;
$empty = 1;
}
elsif( $pnum >= 4 ) {
$next_template = 'person_4';
}
else {
$next_template = 'phone';
}
}
}
elsif( $page eq 'person_4' ) {
if( $fret == 1 ) {
# 戻る
$next_template = 'person_3';
}
else {
# 次へ
if( $common'FORM{'FName3'} eq '' ||
$common'FORM{'LName3'} eq '' ) {
$next_template = $page;
$empty = 1;
}
elsif( $pnum >= 5 ) {
$next_template = 'person_5';
}
else {
$next_template = 'phone';
}
}
}
elsif( $page eq 'person_5' ) {
if( $fret == 1 ) {
# 戻る
$next_template = 'person_4';
}
else {
# 次へ
if( $common'FORM{'FName4'} eq '' ||
$common'FORM{'LName4'} eq '' ) {
$next_template = $page;
$empty = 1;
}
else {
$next_template = 'phone';
}
}
}
elsif( $page eq 'phone' ) {
if( $fret == 1 ) {
# 戻る
$next_template = $pnum == 5 ? "person_5" : $pnum == 4 ? "person_4" : $pnum == 3 ? "person_3" : $pnum == 2 ? "person_2" : "person_1";
}
else {
# 次へ
if( $common'FORM{'PhonNo'} eq '' ) {
$next_template = $page;
$empty = 1;
}
else {
$next_template = 'fax';
}
}
}
elsif( $page eq 'fax' ) {
# FAX
if( $fret == 1 ) {
# 戻る
$next_template = 'phone';
}
else {
# 次へ
$next_template = 'mail_m';
}
}
elsif( $page eq 'mail_m' ) {
if( $fret == 1 ) {
# 戻る
$next_template = 'fax';
}
else {
# 次へ
if( $common'FORM{'MailAdr'} eq '' ) {
$next_template = $page;
$empty = 1;
}
else {
$next_template = 'mail_pc';
}
}
}
elsif( $page eq 'mail_pc' ) {
if( $fret == 1 ) {
# 戻る
$next_template = 'mail_m';
}
else {
# 次へ
$next_template = 'ticket_type';
}
}
elsif( $page eq 'ticket_type' ) {
if( $fret == 1 ) {
# 戻る
$next_template = 'mail_pc';
}
else {
# 次へ
$next_template = 'day_dep';
}
}
elsif( $page eq 'day_dep' ) {
if( $fret == 1 ) {
# 戻る
$next_template = 'ticket_type';
}
else {
# 次へ
if( $common'FORM{'TicketType'} eq '片道' ) {
$next_template = 'dest';
}
else {
$next_template = 'day_arv';
}
}
}
elsif( $page eq 'day_arv' ) {
if( $fret == 1 ) {
# 戻る
$next_template = 'day_dep';
}
else {
# 次へ
$next_template = 'dest';
}
}
elsif( $page eq 'dest' ) {
if( $fret == 1 ) {
# 戻る
if( $common'FORM{'TicketType'} eq '片道' ) {
$next_template = 'day_dep';
}
else {
$next_template = 'day_arv';
}
}
else {
# 次へ
if( $common'FORM{'Dest'} eq '' ) {
$next_template = $page;
$empty = 1;
}
else {
$next_template = 'air';
}
}
}
elsif( $page eq 'air' ) {
if( $fret == 1 ) {
# 戻る
$next_template = 'dest';
}
else {
# 次へ
$next_template = 'other';
}
}
elsif( $page eq 'other' ) {
if( $fret == 1 ) {
# 戻る
$next_template = 'air';
}
else {
# 次へ
$next_template = 'confirm';
}
}
elsif( $page eq 'confirm' ) {
if( $fret == 1 ) {
# 戻る
$next_template = 'other';
}
else {
# 予約実行
&doExecYoyaku();
return ;
}
}
#-------------------------------------------------------------------------
# 入力不正時のメッセージ
#-------------------------------------------------------------------------
if( $empty == 1 ) {
if( $lang ne 'jp' ) {
$g_SysConfig{'InputCaution'} = 'Check your input.
';
}
else {
$g_SysConfig{'InputCaution'} = '入力をチェックしてください。
';
}
}
#-------------------------------------------------------------------------
# テンプレートファイル名を確定
#-------------------------------------------------------------------------
if( $lang ne 'jp' ) {
$template_file = "t_mor_input_" . $next_template . "_". $lang . ".html";
}
else {
$template_file = "t_mor_input_" . $next_template . ".html";
}
#-------------------------------------------------------------------------
# ラジオボタン選択用
#-------------------------------------------------------------------------
$g_SysConfig{'PNUM_Sel1'} = $pnum == 1 ? "checked" : "";
$g_SysConfig{'PNUM_Sel2'} = $pnum == 2 ? "checked" : "";
$g_SysConfig{'PNUM_Sel3'} = $pnum == 3 ? "checked" : "";
$g_SysConfig{'PNUM_Sel4'} = $pnum == 4 ? "checked" : "";
$g_SysConfig{'PNUM_Sel5'} = $pnum == 5 ? "checked" : "";
for( $i = 0; $i < 5; $i++ ) {
$key = "Sex$i";
$key2 = "Sel_Sex$i" . "_M";
$key3 = "Sel_Sex$i" . "_F";
#print "*** $key $key2 $key3 ***
";
$g_SysConfig{$key2} = $common'FORM{$key} eq "男" ? "checked" : "";
$g_SysConfig{$key3} = $common'FORM{$key} eq "女" ? "checked" : "";
# 2009.03.05 2人目以降名字の連動なし
#$key = "FName$i";
#if( ($i > 0) && ($common'FORM{$key2} eq '') ) {
# $key2 = "FName0";
# $common'FORM{$key} = $common'FORM{$key2};
#}
}
$g_SysConfig{'Sel_TicketType1'} = $common'FORM{'TicketType'} eq "往復" ? "checked" : $common'FORM{'TicketType'} eq "" ? "checked" : "";
$g_SysConfig{'Sel_TicketType2'} = $common'FORM{'TicketType'} eq "片道" ? "checked" : "";
#-------------------------------------------------------------------------
# プログレスバー
#-------------------------------------------------------------------------
$g_SysConfig{'Progress'} = &makeProgress( $pnum, $next_template );
#-------------------------------------------------------------------------
# 入力内容確認用
#-------------------------------------------------------------------------
# ★旅行者
$Confirm = "";
for( $i = 0; $i < $pnum; $i++ ) {
$key = "FName$i";
$key2 = "LName$i";
$key3 = "Sex$i";
if( $lang ne 'jp' ) {
$sex = $common'FORM{$key3} eq '男' ? "Mr." : $common'FORM{$key3} eq '女' ? "Ms." : " ";
$work = "[" . ($i + 1) . "]" . $common'FORM{$key} . " " . $common'FORM{$key2} . "(" . $sex . ")
";
}
else {
$work = "[" . ($i + 1) . "]" . $common'FORM{$key} . " " . $common'FORM{$key2} . "(" . $common'FORM{$key3} . ")
";
}
$Confirm = $Confirm . $work;
}
$g_SysConfig{'C_NameList'} = $Confirm;
# ★往復/片道と日程
$Confirm = "";
if( $lang ne 'jp' ) {
$ttype = $common'FORM{'TicketType'} eq '片道' ? "One way" : "Round trip";
}
else {
$ttype = $common'FORM{'TicketType'};
}
if( $common'FORM{'TicketType'} eq '片道' ) {
$Confirm = $ttype . " (" . $common'FORM{'Year1'} . "/" . $common'FORM{'Mon1'} . "/" . $common'FORM{'Day1'} . "〜)
";
}
else {
$Confirm = $ttype . " (" . $common'FORM{'Year1'} . "/" . $common'FORM{'Mon1'} . "/" . $common'FORM{'Day1'} . "〜"
. $common'FORM{'Year2'} . "/" . $common'FORM{'Mon2'} . "/" . $common'FORM{'Day2'} . ")
";
}
$g_SysConfig{'C_Plan'} = $Confirm;
# フォームの入力内容をシステム環境設定に登録
foreach $key (keys %common'FORM) {
$g_SysConfig{"I_$key"} = $common'FORM{$key};
}
# 日付コンボ作成
&makeDateCombo();
# テンプレートモジュールに設定
&template'setSysItemTable( %g_SysConfig );
# テンプレート出力関数の呼び出し
&template'printTemplate( $const'g_TemplateDir, $template_file, 0 );
}
################################################################################
# 予約入力確認実行
################################################################################
sub doYoyakuInputConfirm
{
# 予約データモジュールの初期化
if( &yoyaku'init(0) < 0) {
return -1;
}
# 代表者の名前はアクセスキーになるので、前後の空白を除去
$common'FORM{'FName0'} = &common'trimString($common'FORM{'FName0'});
$common'FORM{'LName0'} = &common'trimString($common'FORM{'LName0'});
# 予約フォームの入力データからレコード作成
if( &yoyaku'makeRecord( %common'FORM) < 0) {
return -1;
}
# テンプレートモジュールの初期化
&template'setItemTable( %yoyaku'g_Items);
&template'setLoopCount( &yoyaku'getLoopCount());
# 入力エラーチェック
if( &checkInputError() < 0) {
# テンプレートモジュールにエラー項目設定
&template'setSysItemTable( %g_SysConfig);
# テンプレート出力関数の呼び出し
&template'printTemplate( $const'g_TemplateDir, "t_yoyaku_input_ng.html", 0);
}
else {
# テンプレート出力関数の呼び出し
&template'printTemplate( $const'g_TemplateDir, "t_yoyaku_input_confirm.html", 0);
}
# 予約データモジュールの終了
&yoyaku'end;
return 0;
}
################################################################################
# 予約入力チェック実行(チェック結果を別ウィンドウ表示するためのインタフェース)
################################################################################
sub doYoyakuInputCheck
{
# 予約データモジュールの初期化
if( &yoyaku'init(0) < 0) {
return -1;
}
# 代表者の名前はアクセスキーになるので、前後の空白を除去
$common'FORM{'FName0'} = &common'trimString($common'FORM{'FName0'});
$common'FORM{'LName0'} = &common'trimString($common'FORM{'LName0'});
# 予約フォームの入力データからレコード作成
if( &yoyaku'makeRecord( %common'FORM) < 0) {
return -1;
}
# テンプレートモジュールの初期化
&template'setItemTable( %yoyaku'g_Items);
&template'setLoopCount( &yoyaku'getLoopCount());
# 入力エラーチェック
if( &checkInputError() < 0) {
# テンプレートモジュールにエラー項目設定
&template'setSysItemTable( %g_SysConfig);
# テンプレート出力関数の呼び出し
&template'printTemplate( $const'g_TemplateDir, "t_yoyaku_input_ng_ow.html", 0);
}
else {
# テンプレート出力関数の呼び出し
&template'printTemplate( $const'g_TemplateDir, "t_yoyaku_input_ok_ow.html", 0);
}
# 予約データモジュールの終了
&yoyaku'end;
return 0;
}
################################################################################
# 入力エラーチェック
# return
# 正常:0
# 異常:負($g_SysConfig{'InputError'} にエラーとなった項目名を入れる)
################################################################################
sub checkInputError
{
local( %input_data) = @_;
# 固定部分の項目をチェック
$count = 0;
foreach $key (@yoyaku'g_FixLabel) {
$type = $yoyaku'g_FixConfig[$count];
$value = $yoyaku'g_Items{"Yoyaku.$key"};
if( !$value) {
$value = "";
}
if( check'checkInputValue( $type, $value) != 1) {
# エラー発見
$g_SysConfig{'InputError'} = $key;
return -1;
}
$count++;
}
# 代表者のみ入力チェック
$type = 'INPUT';
if( check'checkInputValue( $type, $yoyaku'g_Items{"Yoyaku.FName0"}) != 1) {
$g_SysConfig{'InputError'} = 'FName';
return -1;
}
if( check'checkInputValue( $type, $yoyaku'g_Items{"Yoyaku.LName0"}) != 1) {
$g_SysConfig{'InputError'} = 'LName';
return -1;
}
# 繰り返し部分のデータ形式をチェック
$LoopCount = 10;
$count = 0;
foreach $key (@yoyaku'g_LoopLabel) {
$type = $yoyaku'g_LoopConfig[$count];
if( $type ne 'INPUT' && $type ne 'NON') {
# 必須入力はチェック済みなので形式のみ
for( $i = 0; $i < $LoopCount; $i++) {
$value = $yoyaku'g_Items{"Yoyaku.$key$i"};
#print "$value:$type
";
if( !$value) {
$value = "";
}
if( $value ne "") {
# 記述があるものだけを形式チェック
if( check'checkInputValue( $type, $value) != 1) {
# エラー発見
$g_SysConfig{'InputError'} = $key;
return -1;
}
}
}
}
$count++;
}
# パスワード再入力チェック
if( $common'FORM{'Passwd'} ne $common'FORM{'Passwd2'}) {
$g_SysConfig{'InputError'} = 'Passwd2';
return -1;
}
return 0;
}
################################################################################
# 予約実行
################################################################################
sub doExecYoyaku
{
local( $lang ) = $common'FORM{'Lang'};
local( $filename );
local( $work );
# 予約データモジュールの初期化(3:追加モード)
if( &yoyaku'init(3) < 0) {
return -1;
}
# 入力の調整
&adjustInput();
# 拡張データをその他文字列に連結
$work = $common'FORM{'Others'};
# 予約方法
$work = $work . "[携帯予\約:lang=$lang]";
$common'FORM{'Others'} = $work;
# 予約フォームの入力データからレコード作成
if( &yoyaku'makeRecord( %common'FORM) < 0) {
return -1;
}
#print "レコード追加
";
# レコード追加
&yoyaku'addRecord();
# テンプレートモジュールの初期化
&template'setItemTable( %yoyaku'g_Items);
&template'setLoopCount( &yoyaku'getLoopCount());
# テンプレート出力関数の呼び出し
$filename = "t_mor_yoyaku_thankyou";
if( $lang ne 'jp' ) {
$filename = $filename . "_" . $lang . ".html";
}
else {
$filename = $filename . ".html";
}
&template'printTemplate( $const'g_TemplateDir, $filename, 0);
# 予約データモジュールの終了
&yoyaku'end;
# 予約メール送信
&sendYoyakuMail(0, '', '');
# 2009.03.05 ここで強制送信(復活)
&sendYoyakuMail(1, $common'FORM{'MailAdr'}, $common'FORM{'MailAdr2'});
}
################################################################################
# 予約確認メール送信(お客様宛て)
################################################################################
sub doSendConfirmMail
{
local( $id ) = @_;
local( $lang ) = $common'FORM{'Lang'};
local( $filename );
# 予約データモジュールの初期化(1:ファイル読み込み)
if( &yoyaku'init(1) < 0) {
return -1;
}
# 予約データの当該レコード読み込み
if( &yoyaku'readRecordId( $id) < 0) {
return -1;
}
# テンプレートモジュールの初期化
&template'setItemTable( %yoyaku'g_Items);
&template'setLoopCount( &yoyaku'getLoopCount());
# テンプレート出力関数の呼び出し
$filename = "t_mor_yoyaku_thankyou";
if( $lang ne 'jp' ) {
$filename = $filename . "_" . $lang . ".html";
$g_SysConfig{'Comment'} = 'The reservation confirmation mail was sent. ';
}
else {
$filename = $filename . ".html";
$g_SysConfig{'Comment'} = 'ご予約確認メールを送信しました。';
}
# テンプレートモジュールに設定
&template'setSysItemTable( %g_SysConfig);
&template'printTemplate( $const'g_TemplateDir, $filename, 0);
# 予約データモジュールの終了
&yoyaku'end;
# 予約メール送信
&sendYoyakuMail(1, $template'g_tableItems{'Yoyaku.MailAdr'}, $template'g_tableItems{'Yoyaku.MailAdr2'});
}
################################################################################
# 予約メール送信
# params
# $mode : 0:管理者宛て/1:お客様宛て(user_adr / user_adr2を参照する)
################################################################################
sub sendYoyakuMail
{
local( $mode, $user_adr, $user_adr2) = @_;
local( $sendmail) = $g_SysConfig{'SendMail'};
local( $sender_adr) = $g_SysConfig{'MAIL1'};
local( $lang ) = $common'FORM{'Lang'};
local( $filename );
local( $user_subject );
local( $user_subject2 );
if( $mode == 0) {
# 管理者宛てメール
$manager_adr = $g_SysConfig{'MAIL1'};
$manager_body = &createMailBody( $const'g_TemplateDir, "t_mng_yoyaku.mail");
&common'sendMail( $sendmail, $manager_adr, $sender_adr, $g_SysConfig{'MngMailSbj'}, $manager_body );
}
elsif( $mode == 1) {
# お客様宛てメール
$filename = "t_mor_user_yoyaku";
if( $lang ne 'jp' ) {
$filename = $filename . "_" . $lang . ".mail";
$user_subject = "Thank you for the reservation. ";
$user_subject2 = "Thank you for the reservation. ";
}
else {
$filename = $filename . ".mail";
$user_subject = $g_SysConfig{'UserMailSbj'} . "(" . $template'g_tableItems{'Yoyaku.FName0'} . " " . $template'g_tableItems{'Yoyaku.LName0'} . " 様)";
$user_subject2 = $g_SysConfig{'UserMailSbj'};
}
$user_body = &createMailBody( $const'g_TemplateDir, $filename );
&common'sendMail( $sendmail, $user_adr, $sender_adr, $user_subject, $user_body );
if( $user_adr2 ne "") {
&common'sendMail( $sendmail, $user_adr2, $sender_adr, $user_subject2, $user_body);
}
}
}
################################################################################
# メールボディ生成
# params
# $dir_path :テンプレートディレクトリパス
# $tpl_name :テンプレート名
# return
# メールボディ文字列
################################################################################
sub createMailBody
{
local( $dir_path, $tpl_name) = @_;
local( $dest_path) = $dir_path . '/mail_temp.txt';
# テンプレート出力先ファイルを開く
&template'openOutputFile( $dest_path);
# テンプレート出力
&template'printTemplate( $dir_path, $tpl_name, 0);
# テンプレート出力先ファイルを閉じる
&template'closeOutputFile();
return &common'readText( $dest_path);
}
################################################################################
# 入力の調整
################################################################################
sub adjustInput()
{
local( $work );
# 年
$work = $common'FORM{'Year1'};
$common'FORM{'Year1'} = sprintf( "%04d", $work );
$work = $common'FORM{'Year2'};
$common'FORM{'Year2'} = sprintf( "%04d", $work );
# 月
$work = $common'FORM{'Mon1'};
$common'FORM{'Mon1'} = sprintf( "%02d", $work );
$work = $common'FORM{'Mon2'};
$common'FORM{'Mon2'} = sprintf( "%02d", $work );
# 日
$work = $common'FORM{'Day1'};
$common'FORM{'Day1'} = sprintf( "%02d", $work );
$work = $common'FORM{'Day2'};
$common'FORM{'Day2'} = sprintf( "%02d", $work );
}
################################################################################
# 日付コンボ作成
################################################################################
sub makeDateCombo()
{
local( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time());
$year += 1900;
$g_SysConfig{'YearCombo1'} = &common'makeNumCombo( "Year1", "%04d", $year, $year + 4, $g_SysConfig{'I_Year1'}, 1 );
$g_SysConfig{'YearCombo2'} = &common'makeNumCombo( "Year2", "%04d", $year, $year + 4, $g_SysConfig{'I_Year2'}, 1 );
$g_SysConfig{'MonCombo1'} = &common'makeNumCombo( "Mon1", "%02d", 1, 12, $g_SysConfig{'I_Mon1'}, 2 );
$g_SysConfig{'MonCombo2'} = &common'makeNumCombo( "Mon2", "%02d", 1, 12, $g_SysConfig{'I_Mon2'}, 2 );
$g_SysConfig{'DayCombo1'} = &common'makeNumCombo( "Day1", "%02d", 1, 31, $g_SysConfig{'I_Day1'}, 3 );
$g_SysConfig{'DayCombo2'} = &common'makeNumCombo( "Day2", "%02d", 1, 31, $g_SysConfig{'I_Day2'}, 3 );
}
################################################################################
# プログレスバー作成
################################################################################
sub makeProgress
{
local( $pnum, $template ) = @_;
local( $allPage ) = 10 + $pnum;
local( $i, $page, $wk );
@g_TemplateTable = ("person_1","person_2","person_3","person_4","person_5","phone","fax","mail_m","mail_pc","ticket_type","day_dep","day_arv","dest","air","other");
$page = 0;
for( $i = 0; $i <= $#g_TemplateTable; $i++ ) {
if( $g_TemplateTable[$i] eq $template ) {
$page = $i + 1;
last;
}
}
if( $page >= 5 ) {
$page -= (5 - $pnum);
}
$wk = "";
for( $i = 0; $i < $page; $i++ ) {
$wk = $wk . '*';
# $wk = $wk . '★';
}
$wk = $wk . '';
for( ; $i < $allPage; $i++ ) {
$wk = $wk . '*';
# $wk = $wk . '☆';
}
# $wk = $wk . $page . '/' . $allPage;
return $wk;
}