{$_SESSION['hallInfo']['name_short']}
{$FORM_TITLE}
= 3) ? 'http://m.niwaka.com/' : 'http://www.niwaka.com/';
$IMG_KEY = ($UA['type'] >= 3) ? 'mobile' : 'pc';
$ERROR_FLAG = false;
$ACCOUNT_EXSIST_FLAG = false;
$ERROR_MSG = '';
$LOADING_FLAG = false;
$MOBILE_FLAG = ($UA['type'] >= 3) ? true : false;
/*
* Formの状態
* 0:通常
* 1:戻る
* 10:ログイン完了
* 11:ログインエラー
* 20:入力項目エラー
* ----------------------------- */
$FORM_STATE = 0;
/*
* ID
* ----------------------------- */
if(!empty($_GET['id'])){
$id = $_GET['id'];
$id6 = sprintf("%06d", $id);
} else {
echo <<< EOD
EOD;
}
if(empty($_SESSION['logid'])){
$_SESSION['logid'] = $id.'-'.date('Ymdhis');
}
/*
* ステップ
* 1:入力 2:入力確認
* ----------------------------- */
$STEP = (!empty($_POST['confirm'])) ? 2 : 1;
//戻ったかどうか
$BACK_FLAG = (!empty($_GET['back'])) ? true : false;
/*
* モード
* 1:見学予約 2:フェア予約
* ----------------------------- */
$MODE = (!empty($_GET['mode'])) ? 2 : 1;
if($MODE == 2) require "inc/fairView.class.inc";
/*
* ログを記録
* ----------------------------- */
$p = ($MODE === 2) ? 'フェア予約' : '見学予約';
$p .= ($STEP === 2) ? ' 入力内容確認' : '';
sendToHallAnalytics(
$_SESSION['logid'],
$id,
'PAGE',
$p,
$_SERVER['HTTP_USER_AGENT']
);
/*
* ログインしているかどうか
* ----------------------------- */
$MEMBER_LOGIN = false;
if(!empty($_SESSION['sid'])){
if(empty($_SESSION['reserve']['id_mail']) || $_SESSION['reserve']['id_mail'] == '@'){
$MEMBER_LOGIN = false;
$_SESSION = array();
} else {
$MEMBER_LOGIN = true;
}
}
/*
* メンテナンス
* ----------------------------- */
$MENTENANCE = false;
$accessDate = date('YmdH');
if(!empty($_GET['mentenance']) || ($accessDate >= 2015021100 && $accessDate < 2015022307)){
$MENTENANCE = true;
}
/*
* 還元金の内容
------------------------------ */
$presentData = '';
if($STEP == 1){
$presentCtrl = new hallPresentCtrl(true, false, true);
$presentCtrl->getPresentHallFromID($id6);
$presentFlag = $presentCtrl->checkPresentExist($id6);
if($presentFlag){
if($MOBILE_FLAG){
$presentData = $presentCtrl->buildMobileHTML_dec($id6, null);
} else {
$presentData = $presentCtrl->buildHTML_dec($id6, null);
}
}
}
/*
* 式場の情報取得
------------------------------ */
$hallErrorFlag = false;
if(empty($_SESSION['hallInfo']) ||
$_SESSION['hallInfo']['id'] != $id6 ||
empty($_SESSION['hallInfo']['pref']) ||
empty($_SESSION['hallInfo']['present_num1']) && empty($_SESSION['hallInfo']['present_num2'])){
try {
$dbh = db_construct();
$column = "`{$DB['hall_info']}`.*, `{$DB['hall_info_estimate']}`.*, `{$DB['hall_info_other']}`.*, `hall_info_account`.reserve_mail, `hall_info_account`.reserve_mail2, `hall`.`name_mobile`, `hall`.name, `hall`.state ";
$sql = "SELECT {$column}
FROM `{$DB['hall_info']}`
LEFT JOIN `{$DB['hall_info_estimate']}` ON `{$DB['hall_info']}`.unique_id = `{$DB['hall_info_estimate']}`.unique_id
LEFT JOIN `hall` ON `{$DB['hall_info']}`.unique_id = `hall`.hall_id
LEFT JOIN `{$DB['hall_info_other']}` ON `{$DB['hall_info']}`.unique_id = `{$DB['hall_info_other']}`.unique_id
LEFT JOIN `hall_info_account` ON `{$DB['hall_info']}`.unique_id = `hall_info_account`.unique_id
WHERE `{$DB['hall_info']}`.unique_id = ?;";
$sth = $dbh->prepare($sql);
$sth->execute(array($id6));
$ret = $sth->fetchAll(PDO::FETCH_ASSOC);
} catch (Exception $e) {
$ret = array();
$hallErrorFlag = true;
sendToHallAnalytics(
$_SESSION['logid'],
$id,
'ERROR',
'error:1 - 式場情報取得失敗'
);
}
if(!empty($ret)){
$hallDir = "{$DIR['base_img']}/data/wedding-hall/{$id6}/img";
$hallInfo = new cHallInfoDB($ret[0], $hallDir);
//営業時間
$officeHour = $hallInfo->time;
//スマホの場合の式場名
if($UA['type'] == 3){
$name = (!empty($ret[0]['name_mobile'])) ? $ret[0]['name_mobile'] : $ret[0]['hall_name'];
$hall_name = getHallNameMobile($name);
$tmp = str_replace('(', '(', $ret[0]['hall_name']);
$tmp = explode('(', $tmp);
$hall_name_short = $tmp[0];
} else {
$hall_name = GetHallName($hallInfo->hall_name);
$tmp = explode('
', $hall_name);
$hall_name_short = $tmp[0];
}
$tmp1 = GetHallName($hallInfo->hall_name);
$tmp2 = explode('
', $tmp1);
$hall_name_js = $tmp2[0];
//予約メールアドレス
$HALL_MAIL = $ret[0]['reserve_mail'];
$HALL_MAIL2 = $ret[0]['reserve_mail2'];
//予約用電話番号
$HALL_TEL = null;
$HALL_TEL_NOTE = null;
if(!empty($ret[0]['reserve_tel'])){
$HALL_TEL = $ret[0]['reserve_tel'];
$HALL_TEL_4Code = str_replace('-', '', $HALL_TEL);
$HALL_TEL_NOTE = (!empty($ret[0]['reserve_tel_note'])) ? '('.$ret[0]['reserve_tel_note'].')' : null;
}
if($ret[0]['state'] == 0 || $id6 == 999999){
//還元金の情報を記録
$presentNum = array('num1'=>0, 'num2'=>0, 'exception'=>null);
if($presentFlag){
if(!empty($presentCtrl->data[$id6]['num1'])){
$presentNum['num1'] = $presentCtrl->data[$id6]['num1'];
}
if(!empty($presentCtrl->data[$id6]['num2'])){
$presentNum['num2'] = $presentCtrl->data[$id6]['num2'];
}
if(!empty($presentCtrl->data[$id6]['exception'])){
$presentNum['exception'] = $presentCtrl->data[$id6]['exception'];
}
}
/*
* 必要な情報をSESSIONに入れる
------------------------------ */
$_SESSION['hallInfo'] = array(
'id' => $id6,
'name' => $hall_name,
'name_short' => $hall_name_short,
'name_js' => $hall_name_js,
'mail1' => $HALL_MAIL,
'mail2' => $HALL_MAIL2,
'pref' => $hallInfo->place,
'area' => $ret[0]['zexy_area'],
'type' => $HALL_TYPE_NAMES[$ret[0]['hall_type']],
'station' => $ret[0]['more_area'],
'office_hour' => $officeHour,
'mode' => $MODE,
'reserve_tel' => $HALL_TEL,
'reserve_tel_code' => $HALL_TEL_4Code,
'present_num1' => $presentNum['num1'],
'present_num2' => $presentNum['num2'],
'present_exception' => $presentNum['exception']
);
} else {
$hallErrorFlag = true;
sendToHallAnalytics(
$_SESSION['logid'],
$id,
'ERROR',
'error:2 - 式場が非公開',
$_SERVER['HTTP_USER_AGENT']
);
}
} else {
$hallErrorFlag = true;
sendToHallAnalytics(
$_SESSION['logid'],
$id,
'ERROR',
'error:3 - 式場情報にエラー',
$_SERVER['HTTP_USER_AGENT']
);
}
}
//if(empty($_SESSION['backUrl'])){
$_SESSION['backUrl'] = $_SESSION['hallInfo']['id'].'/';
if($MODE == 2){
$_SESSION['fair_id'] = $_GET['fair_id'];
$_SESSION['schedule_id'] = $_GET['schedule_id'];
$_SESSION['seg'] = (!empty($_GET['seg'])) ? $_GET['seg'] : '';
$_SESSION['backUrl'] .= $_SESSION['fair_id'].'/'.$_SESSION['schedule_id'].'/';
if(!empty($_SESSION['seg'])){
$_SESSION['backUrl'] .= $_SESSION['seg'].'/';
}
}
//}
/*
* データーベースから情報取得
* 入力時のみ
========================================================================*/
if($STEP == 1){
$_SESSION['mode'] = $MODE;
/*
* フェアの情報
------------------------------ */
if($MODE == 2){
$getFairDataFlag = true;
/*
if(!empty($_SESSION['fair_id']) && !empty($_SESSION['schedule_id'])){
if($_SESSION['fair_id'] == $_GET['fair_id'] && $_SESSION['schedule_id'] == $_GET['schedule_id']){
$getFairDataFlag = false;
}
}
*/
$_SESSION['fair_id'] = $_GET['fair_id'];
$_SESSION['schedule_id'] = $_GET['schedule_id'];
$_SESSION['seg'] = (!empty($_GET['seg'])) ? $_GET['seg'] : '';
//フェアの情報を取得
if($getFairDataFlag){
$parm = 'type=1018&'.
'sche_id='.$_SESSION['schedule_id'];
$fair_json = file_get_contents('https://api.niwaka-ksm.com/fairapi/KSMFairAPI.php'.'?'.$parm);
$fairData = json_decode($fair_json, true);
$_SESSION['fair'] = $fairData;
$tmp = explode(' ', $_SESSION['fair']['sttime']);
$_SESSION['fair']['date'] = $tmp[0];
$_SESSION['fair']['date'] .= '('.$rWeek[date('w', strtotime($tmp[0]))].')';
}
}
/*
* 特典が取得できないときは
* 詳細ページへリダイレクト
------------------------------ */
if(!$presentFlag){
//リダイレクトURL
$redirect_url = $BASE_BACK_URL;
$redirect_url .= 'ksm/wedding-venue/';
header("HTTP/1.1 404 Not Found");
if(!empty($id6)){
$redirect_url .= $HALL_AREA_NAMES_EN[$pref] .'/details_'. $id6 .'.html';
echo <<< EOD
EOD;
} else {
$redirect_url .= $HALL_AREA_NAMES_EN[$pref] .'/';
echo <<< EOD
EOD;
}
}
/*
* ログイン済みのとき
*
------------------------------ */
if(!empty($_GET['debug'])){
var_dump($_SESSION['reserve']);
}
if(!empty($_SESSION['sid']) && !$BACK_FLAG){
$_SESSION['loginGetData'] = true;
if(!empty($_SESSION['reserve'])){
$_SESSION['form'] = $_SESSION['reserve'];
$mail = explode('@', $_SESSION['reserve']['mail']);
$_SESSION['form']['mail_1'] = $mail[0];
$_SESSION['form']['mail_2'] = $mail[1];
}
}
/*
* 確認画面のときの処理
========================================================================*/
} else {
//とりあえず全部セッションに記録
$_SESSION['form'] = $_POST;
//内容チェック
$errorCheck = checkInputData($MEMBER_LOGIN);
$ERROR_FLAG = $errorCheck['flag'];
$error_elem = $errorCheck['data'];
//エラーがあればSTEP.1へ
if($ERROR_FLAG){
$STEP = 1;
$tmp = '';
$tmp2 = array();
foreach($error_elem as $k => $v){
$tmp .= '
入力項目にエラーがあります。
ご確認ください。
2015年2月23日(月) 午前0時から午前6時までの間、サーバメンテナンスのため{$tmp_br}「俄 MEMBER'S CARD ログイン」機能をご利用いただけません。恐れ入りますがご了承ください。
EOD; } /* * フォームTitle ------------------------------ */ $FORM_TITLE = ($MODE == 1) ? '式場見学予約' : 'フェア予約'; $FORM_TITLE .= ($STEP == 2) ? ' 入力内容ご確認' : ''; $MAIN_TITLE = <<< EOD{$FORM_TITLE}