$val) { if(is_array($_POST[$key])) { foreach($_POST[$key] as $array_key => $array_val) { $FORM[$key][$array_key] = $array_val; if((!isset($_SESSION['YadoNo']) || $_SESSION['YadoNo'] != '') && $mode == 'resv_estimate') { $_SESSION[$key][$array_key] = $array_val; } }//while } else { $FORM[$key] = $val; if((!isset($_SESSION['YadoNo']) || $_SESSION['YadoNo'] != '') && $mode == 'resv_estimate') { $_SESSION[$key] = $val; } } } foreach($_GET as $key => $val) { $FORM[$key] = $val; if((!isset($_SESSION['YadoNo']) || $_SESSION['YadoNo'] != '') && $mode == 'resv_estimate') { $_SESSION[$key] = $val; } } if(isset($_SESSION['YadoNo']) && isset($FORM['YadoNo']) && $_SESSION['YadoNo'] != '' && $FORM['YadoNo'] != '' && $_SESSION['YadoNo'] != $FORM['YadoNo']) { // 複数タブを開いた操作した際に別の宿のセッションを取得した場合の対策 $ErrMsg = '複数の宿泊施設を同時に予約する操作を検知したため予約を停止しました。
お手数ですが、再度一施設ずつ予約をお願いします。
'; session_destroy(); include('errmsg.php'); exit; } //HTTP_POST_FILES if(!isset($HTTP_POST_FILES)) { $HTTP_POST_FILES = array(); } foreach($HTTP_POST_FILES as $key => $val) { $Va[$key] = $val; } if(!isset($FORM['mode'])) $FORM['mode'] = ''; #メールからのウィザード継続処理 専用分岐 if((!isset($FORM['identify_id']) || $FORM['identify_id'] != '') && $FORM['mode'] == 'mail_continue') { #メールから新規ブラウザを起動した場合のセッション空状態に対応します(エラーチェック処理をスキップ) $s->passwd_skip($FORM); exit; } // 2022.10 3DS決済戻り時はここで必要情報をリストア(YadoNoがないから) if ($FORM['mode'] == 'GMOPG') { $r = $s->restoreGMOPG($FORM['OrderID']); $FORM = $r['FORM']; $_SESSION = $r['SESSION']; $FORM['is3dsCallBack'] = true; $FORM['mode'] == ($r['GMOPG']['ErrCode'] == '') ? 'resv_creditGMOPG_Payment' : ''; unset($r); $_SESSION['YoyaKey'] = ''; // 2023.4 後で怒られるので } //メンテ中判断用の施設情報の取得 $yadoNo = ''; if(isset($FORM['YadoNo'])) $yadoNo = $FORM['YadoNo']; # if(!isset($_SESSION['YadoNo'])) $_SESSION['YadoNo'] = $FORM['YadoNo']; if($FORM['mode'] != '' && ((!isset($_SESSION['YadoNo'])) || ($_SESSION['YadoNo'] == ''))) { $ErrMsg = '一定時間操作されませんでした。
お手数ですが、再度実施をお願いします。
'; include('errmsg.php'); exit; } // ポータル予約エラー監視チャットで発報した致命的なエラーの修正 if(!isset($yadoNo) || $yadoNo == '') { // yadoNoが空の場合、予約ウィザード表示が不可能なためトップ画面に遷移させる header("Location: ".$s->web_server_url); exit; }else{ if(!preg_match('/^[0-9]+$/', $yadoNo)) { // yadoNoが半角数字のみでは無い場合(例:yadoNo=%27)、予約ウィザード表示が不可能なためトップ画面に遷移させる header("Location: ".$s->web_server_url); exit; }else{ $Yado_info = $s->get_Yado($yadoNo); } } if(!isset($FORM['PlanNo']) || $FORM['PlanNo'] == '') { // プラン番号が空の場合、予約ウィザード表示が不可能なためトップ画面に遷移させる header("Location: ".$s->web_server_url); exit; }else{ if(!preg_match('/^[0-9]+$/', $FORM['PlanNo'])) { // PlanNoが半角数字のみでは無い場合(例:PlanNo=%27)、予約ウィザード表示が不可能なためトップ画面に遷移させる header("Location: ".$s->web_server_url); exit; } } if(!isset($FORM['StockNo']) || $FORM['StockNo'] == '') { // 在庫番号が空の場合、予約ウィザード表示が不可能なためトップ画面に遷移させる header("Location: ".$s->web_server_url); exit; }else{ if(!preg_match('/^[0-9]+$/', $FORM['StockNo'])) { // StockNoが半角数字のみでは無い場合(例:StockNo=%27)、予約ウィザード表示が不可能なためトップ画面に遷移させる header("Location: ".$s->web_server_url); exit; } } if(!isset($FORM['StayDate']) || $FORM['StayDate'] == '') { // StayDateが空の場合、予約ウィザード日付表示が以上以上なためトップ画面に遷移させる header("Location: ".$s->web_server_url); exit; }else{ if(!preg_match('/^([1-9][0-9]{3})\/(0[1-9]{1}|1[0-2]{1})\/(0[1-9]{1}|[1-2]{1}[0-9]{1}|3[0-1]{1})$/', $FORM['StayDate'])) { // StayDateが半角数字のみでは無い場合(例:StayDate=%27)、予約ウィザード表示が不可能なためトップ画面に遷移させる header("Location: ".$s->web_server_url); exit; } } $PortalInstall_info = $s->get_PortalInstallKey(); if(isset($Yado_info['bYadoSleep']) && $Yado_info['bYadoSleep'] == 1 ) { //予約中止なら、メンテ中の画面を表示 $YadoName = $s->get_YadoName($FORM['YadoNo']); include('../cal/templates/cal_mente.php'); exit; } if(FALSE == isset($_SESSION['UserNo'])) { $_SESSION['UserNo'] = ''; } if($FORM['mode'] == '' && $_SESSION['UserNo'] == '----') { $_SESSION['UserNo'] = ''; $_SESSION['UserID'] = ''; } switch($FORM['mode']) { case 'resv_login_menu': $s->resv_login_menu($FORM); break; case 'resv_login': $s->resv_login($FORM); break; case 'resv_baseinfo': $s->resv_baseinfo($FORM); break; case 'resv_estimate': # 宿泊料金確認 kakunin.php $_SESSION['FORM_resv_baseinfo'] = $FORM; $s->resv_estimate($FORM); break; case 'resv_passwd_send_form': $s->resv_passwd_send_form($FORM); break; case 'resv_passwd_send': $s->resv_passwd_send($FORM); break; case 'resv_passwd_form': $s->resv_passwd_form($FORM); break; case 'mail_continue': $s->passwd_skip($FORM); break; case 'resv_custform': $_SESSION['FORM_resv_baseinfo'] = $FORM; $_SESSION['FORM_resv_custform'] = $FORM; $s->resv_custform($FORM); break; case 'resv_confirm': if($FORM['FormNo'] == 2) { $_SESSION['FORM_resv_baseinfo'] = array_merge($_SESSION['FORM_resv_baseinfo'], $FORM); } else if($FORM['FormNo'] == 3) { $_SESSION['FORM_resv_estimate'] = array_merge($_SESSION['FORM_resv_baseinfo'], $FORM); } $s->resv_confirm($FORM); break; case 'resv_commit': $_SESSION['FORM_resv_confirm'] = array_merge($_SESSION['FORM_resv_baseinfo'], $FORM); $s->resv_commit($FORM); break; case 'resv_btchange': $s->resv_btchange($FORM); break; case 'resend_mail': $s->resend_mail($FORM); break; // case 'GMOPG' : //GMO Payment Gatewayからのコール // // $s->gmopg_return($FORM); // $FORM = $s->gmopg_return2($FORM); // 3DS決済対応により復活 // $FORM['is3dsCallBack'] = true; // // break; case 'resv_creditGMOPG_Payment': # GMO Payment Gateway決済 $s->resv_creditGMOPG_Payment($FORM); break; default: // if($_SERVER['REMOTE_ADDR']!='118.243.35.182' && $_SERVER['REMOTE_ADDR']!='219.121.8.61'){ // include('maintenance.php'); // exit; // }else{ if(isset($FORM['payment']) && $FORM['payment'] != '') { $s->payment_return($FORM); }else{ $_SESSION['mode'] = ''; $_SESSION['AgentNo'] = $s->AgentNo; $_SESSION['YadoNo'] = $FORM['YadoNo']; $_SESSION['PlanNo'] = $FORM['PlanNo']; $_SESSION['StockNo'] = $FORM['StockNo']; $_SESSION['StayDate'] = $FORM['StayDate']; if(isset($FORM['date'])) { $_SESSION['date'] = $FORM['date']; } else { $_SESSION['date'] = ''; } $s->resv_baseinfo($FORM); } // } break; } ?>