/* * エントリーページ * * 更新履歴:2007/08/01 d.ishikawa 新規作成 * */ //キャッシュを有効にする。 session_cache_limiter('private, private_no_expire'); session_start(); error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING); include_once("../admin/common/include.ini"); _LogDelete(); //_LogBackup(); _Log("[/entry/index.php] start."); _Log("[/entry/index.php] POST = '".print_r($_POST,true)."'"); _Log("[/entry/index.php] GET = '".print_r($_GET,true)."'"); _Log("[/entry/index.php] SESSION = '".print_r($_SESSION,true)."'"); _Log("[/entry/index.php] SERVER = '".print_r($_SERVER,true)."'"); //サイト名 $clientName = COMPANY_SITE_NAME; //クライアント様メールアドレス //$clientMail = COMPANY_E_MAIL; $clientMail = "recruit@ry-corporation.com"; //マスター用メールアドレス //「,」でくぎって送信先を追加して下さい。 $listMasterMail = array("info@woorom.com", "yamada@woorom.com", "ishikawa@woorom.com"); //テスト用 if (false) { //if (true) { //クライアント様メールアドレス $clientMail = "ishikawa@woorom.com"; //マスター用メールアドレス //「,」でくぎって送信先を追加して下さい。 $listMasterMail = array("ishikawa@woorom.com"); } //HTMLテンプレートを読み込む。------------------------------------------------------- start _Log("[/entry/index.php] {HTMLテンプレートを読み込み} ━━━━━━━━━━━━━━━ start"); $tempFile = '../admin/common/temp_html/temp.txt'; _Log("[/entry/index.php] {HTMLテンプレートを読み込み} HTMLテンプレートファイル = '".$tempFile."'"); $html = @file_get_contents($tempFile); //"HTML"が存在する場合、表示する。 if ($html !== false && !_IsNull($html)) { _Log("[/entry/index.php] {HTMLテンプレートを読み込み} 【成功】"); } else { //取得できなかった場合 _Log("[/entry/index.php] {HTMLテンプレートを読み込み} 【失敗】"); $html .= "HTMLテンプレートファイルを取得できません。\n"; } _Log("[/entry/index.php] {HTMLテンプレートを読み込み} ━━━━━━━━━━━━━━━ end"); //HTMLテンプレートを読み込む。------------------------------------------------------- end //フォームコンテンツを作成する。----------------------------------------------------- start _Log("[/entry/index.php] {フォームコンテンツ作成} ━━━━━━━━━━━━━━━━━ start"); ////商品IDを取得する。 //$itemId = $_GET['id']; // ////その他のパラメーターを取得する。(2008/02/20現在未使用) //$param = $_GET['buf']; // //_Log("[/entry/index.php] {フォームコンテンツ作成} (パラメーター) 商品ID = '".$itemId."'"); //_Log("[/entry/index.php] {フォームコンテンツ作成} (パラメーター) その他 = '".$param."'"); $baseUrl = URL; $sslUrl = SSL_URL; //本ファイルの名称を取得する。 $phpName = basename($_SERVER['PHP_SELF']); //フォームのアクションを設定する。 $formAction = $sslUrl.'/inquiry/'.$phpName; //←未使用。SSLへの遷移は、.htaccessで行う。 //$formAction = $_SERVER['PHP_SELF']; //エントリーフォーム用のXMLファイル $xmlFile = "../admin/common/form_xml/form_info_ent.xml"; //タブインデックス $tabindex = 0; $mode = 1;//{1:入力/2:確認/3:完了/4:エラー/5:xxx} //メッセージ $message = null; //エラーフラグ $errorFlag = false; //エントリー情報を保存する。 $info = null; $link = _DB_Open(); //マスタ情報を取得する。+++++++++++++++++++++++++++++++++++++++++++++++++++++ start //$mstXxxList = _GetMasterList('mst_xxx'); //xxxマスタ //マスタ情報を取得する。+++++++++++++++++++++++++++++++++++++++++++++++++++++ end //マスタ情報を設定する。 $otherList = array( 'mst_pref' => $_MST_PREF_LIST ,'mst_restaurant_experience' => $_MST_RESTAURANT_EXPERIENCE_LIST ,'mst_use' => $_MST_USE_LIST ); //『確認』ボタンが押された場合 if (isset($_POST['confirm']) || isset($_POST['confirm_x']) || isset($_POST['confirm_y'])) { _Log("[/entry/index.php] {『確認』ボタンが押された場合}"); //XMLを読み込む。 $xmlList = _GetXml($xmlFile, $otherList); //入力値を取得する。 $info = $_POST; _Log("[/entry/index.php] {『確認』ボタンが押された場合} POST = '".print_r($info,true)."'"); //バックスラッシュを取り除く。 $info = _StripslashesForArray($info); _Log("[/entry/index.php] {『確認』ボタンが押された場合} POST(バックスラッシュ除去後) = '".print_r($info,true)."'"); //「半角カタカナ」を「全角カタカナ」に変換する。→メールで半角カナが文字化けするので。 $info =_Mb_Convert_KanaForArray($info); _Log("[/entry/index.php] POST(「半角カタカナ」を「全角カタカナ」に変換する。) = '".print_r($info,true)."'"); //選択されているサービスに対応する情報のみにする。 $bufXmlList = _GetSelectedServiceOnly($xmlList, $info); //入力値チェック $message .= _CheackInputAll($bufXmlList, $info); if (_IsNull($message)) { //エラーが無い場合、確認画面を表示する。 $mode = 2; $message .= "※入力内容を確認して、『送信』ボタンを押してください。\n"; //選択されたサービスに対応する項目のみ表示する。 $xmlList = $bufXmlList; } else { //エラーが有り場合 $message = "※入力に誤りがあります。\n".$message; $errorFlag = true; $mode = 1; } } //『戻る』ボタンが押された場合(確認画面から入力画面に戻る) elseif (isset($_POST['back']) || isset($_POST['back_x']) || isset($_POST['back_y'])) { _Log("[/entry/index.php] {『戻る』ボタンが押された場合}"); //XMLを読み込む。 $xmlList = _GetXml($xmlFile, $otherList); //入力値を取得する。 $info = $_POST; _Log("[/entry/index.php] {『戻る』ボタンが押された場合} POST = '".print_r($info,true)."'"); //バックスラッシュを取り除く。 $info = _StripslashesForArray($info); _Log("[/entry/index.php] {『戻る』ボタンが押された場合} POST(バックスラッシュ除去後) = '".print_r($info,true)."'"); $mode = 1; } //『送信』ボタンが押された場合 elseif (isset($_POST['go']) || isset($_POST['go_x']) || isset($_POST['go_y'])) { _Log("[/entry/index.php] {『送信』ボタンが押された場合}"); //XMLを読み込む。 $xmlList = _GetXml($xmlFile, $otherList); //入力値を取得する。 $info = $_POST; _Log("[/entry/index.php] {『送信』ボタンが押された場合} POST = '".print_r($info,true)."'"); //バックスラッシュを取り除く。 $info = _StripslashesForArray($info); _Log("[/entry/index.php] {『送信』ボタンが押された場合} POST(バックスラッシュ除去後) = '".print_r($info,true)."'"); //選択されているサービスに対応する情報のみにする。 $bufXmlList = _GetSelectedServiceOnly($xmlList, $info); //メール本文の共通部分を設定する。 $body = ""; $body .= _CreateMailAll($bufXmlList, $info); _Log("[/entry/index.php] {『送信』ボタンが押された場合} メール本文(_CreateMailAll) = '".$body."'"); $body .= "\n"; $body .= "\n"; $body .= "\n"; $body .= "\n"; $body .= "--------------------------------------------------------\n"; // $body .= $clientName."\n"; if (!_IsNull(COMPANY_NAME)) $body .= COMPANY_NAME."\n"; if (!_IsNull(COMPANY_ZIP)) $body .= COMPANY_ZIP."\n"; if (!_IsNull(COMPANY_ADDRESS)) $body .= COMPANY_ADDRESS."\n"; if (!_IsNull(COMPANY_TEL)) $body .= "TEL:".COMPANY_TEL."\n"; if (!_IsNull(COMPANY_FAX)) $body .= "FAX:".COMPANY_FAX."\n"; $body .= "E-mail:".$clientMail." \n"; $body .= "--------------------------------------------------------\n\n"; $body .= "エントリー日時:".date("Y年n月j日 H時i分")."\n"; $body .= $_SERVER["REMOTE_ADDR"]."\n"; //管理者用メール本文を設定する。 $adminBody = ""; // $adminBody .= $clientName." \n"; // $adminBody .= "\n"; $adminBody .= "****************************************************************************\n"; $adminBody .= "エントリーが入りました。\n"; $adminBody .= "以下ご対応お願い致します。\n"; $adminBody .= "よろしくお願い致します。\n"; $adminBody .= "****************************************************************************\n"; $adminBody .= "\n"; $adminBody .= $body; //お客様用メール本文を設定する。 $customerBody = ""; $customerBody .= $info['update']['tbl_user']['usr_name']." 様\n"; $customerBody .= "\n"; $customerBody .= "****************************************************************************\n"; $customerBody .= "この度は、『".$clientName."』にエントリーしていただきありがとうございました。\n"; $customerBody .= "確認のため、下記にお客様から送信いただいた内容をお知らせいたします。\n"; $customerBody .= "担当者より確認のご連絡さしあげます。\n"; $customerBody .= "****************************************************************************\n"; $customerBody .= "\n"; $customerBody .= $body; //管理者用タイトルを設定する。 // $adminTitle = "[".$clientName."] エントリー"; $adminTitle = "エントリー"; //お客様用タイトルを設定する。 // $customerTitle = "[".$clientName."] エントリー承りました"; $customerTitle = "エントリー承りました"; mb_language("Japanese"); // //文字コード変換 // //メール本文 // $adminBody = JcodeConvert($adminBody, 1, 3); // $customerBody = JcodeConvert($customerBody, 1, 3); // // //タイトル // $adminTitle = JcodeConvert($adminTitle, 1, 3); // $customerTitle = JcodeConvert($customerTitle, 1, 3); // // $adminTitle='=?iso-2022-jp?B?'.base64_encode($adminTitle).'?='; // $customerTitle='=?iso-2022-jp?B?'.base64_encode($customerTitle).'?='; // //文字コード変換 // //メール本文 // $adminBody = mb_convert_encoding($adminBody, 'ISO-2022-JP', 'EUC-JP'); // $customerBody = mb_convert_encoding($customerBody, 'ISO-2022-JP', 'EUC-JP'); // // //タイトル // $adminTitle = mb_convert_encoding($adminTitle, 'ISO-2022-JP', 'EUC-JP'); // $customerTitle = mb_convert_encoding($customerTitle, 'ISO-2022-JP', 'EUC-JP'); // // $adminTitle='=?iso-2022-jp?B?'.base64_encode($adminTitle).'?='; // $customerTitle='=?iso-2022-jp?B?'.base64_encode($customerTitle).'?='; //メール送信 //お客様に送信する。 $rcd = mb_send_mail($info['update']['tbl_user']['usr_e_mail'], $customerTitle, $customerBody, "from:".$clientMail); //クライアントに送信する。 $rcd = mb_send_mail($clientMail, $adminTitle, $adminBody, "from:".$info['update']['tbl_user']['usr_e_mail']); //マスターに送信する。 foreach($listMasterMail as $masterMail){ $rcd = mb_send_mail($masterMail, $adminTitle, $adminBody, "from:".$info['update']['tbl_user']['usr_e_mail']); } $mode = 3; } //初回表示の場合 else { _Log("[/entry/index.php] {初回表示の場合}"); //XMLを読み込む。 $xmlList = _GetXml($xmlFile, $otherList); _Log("[/entry/index.php] {初回表示の場合} エントリーフォーム用のXMLファイル(".$xmlFile.") = '".print_r($xmlList,true)."'"); $mode = 1; } //文字をHTMLエンティティに変換する。 $info = _HtmlSpecialCharsForArray($info); _Log("[/entry/index.php] POST(文字をHTMLエンティティ変換後) = '".print_r($info,true)."'"); _Log("[/entry/index.php] mode = '".$mode."'"); switch ($mode) { case 1: case 2: //メッセージが有る場合、メッセージを表示する。 if (!_IsNull($message)) { $addClass = null; //エラーが有る場合、文字色を変更する。 if ($errorFlag) $addClass .= "errorMessage"; $rep .= "
"; $rep .= "\n"; $rep .= nl2br($message); $rep .= "\n"; $rep .= "
"; $rep .= "\n"; //ここでメッセージを表示するので、_GetFormTable()内で表示しないようにメッセージを削除する。 $message = null; } $rep .= _GetFormTable($mode, $xmlList, $info, $tabindex, null, $message, $errorFlag, false, $clientName, $clientMail, $baseUrl); break; case 3: $message .= "".$info['update']['tbl_user']['usr_name']." 様"; $message .= "\n"; $message .= "\n"; $message .= "この度は、『".$clientName."』にエントリーしていただきありがとうございました。"; $message .= "\n"; $message .= "確認のため、お客様のメールアドレス宛てにエントリーの「確認メール」が自動送信されました。"; $message .= "\n"; $message .= "エントリー内容の確認後、改めて担当者より確認のご連絡をさしあげます。"; $message .= "\n"; $message .= "\n"; $message .= "※「確認メール」が届かない場合は、メールアドレスがご登録ミスの可能性がありますので、"; $message .= "\n"; $message .= "  お手数ですが、 ".$clientMail." まで"; $message .= "メールでお問い合わせください。"; $message .= "\n"; // //お支払方法="クレジットカード決済"の場合、メッセージを表示する。 // if ($info['update']['tbl_order_payment']['ord_pay_payment_id'] == MST_PAYMENT_ID_CREDIT_CARD) { // $message .= "
"; // $message .= "※お支払方法が「".htmlspecialchars(_GetMasterValue('mst_payment', MST_PAYMENT_ID_CREDIT_CARD))."」の場合は、改めて決済方法をご連絡さしあげます。"; // $message .= "
"; // $message .= "\n"; // } //メッセージが有る場合、メッセージを表示する。 if (!_IsNull($message)) { $addClass = null; //エラーが有る場合、文字色を変更する。 if ($errorFlag) $addClass .= "errorMessage"; $rep .= "
"; $rep .= "\n"; // $rep .= "
"; // $rep .= "\n"; $rep .= nl2br($message); $rep .= "\n"; // $rep .= "
"; // $rep .= "\n"; $rep .= "
"; $rep .= "\n"; } break; case 4: //メッセージが有る場合、メッセージを表示する。 if (!_IsNull($message)) { $addClass = null; //エラーが有る場合、文字色を変更する。 if ($errorFlag) $addClass = "errorMessage"; $rep .= "
"; $rep .= "\n"; $rep .= nl2br($message); $rep .= "\n"; $rep .= "
"; $rep .= "\n"; } $backId = "frmItem".$itemNo; $rep .= "
"; $rep .= "\n"; $rep .= "
"; $rep .= "\n"; $rep .= ""; $rep .= "\n"; $rep .= _CreateHidden($addItemInfo, 'item'); $rep .= "\n"; $rep .= "
"; $rep .= "\n"; $rep .= "
"; $rep .= "\n"; break; case 5: break; } //タイトルを設定する。 $repBuf = null; //$repBuf .= "\"カート\""; $repBuf .= "\"エントリーフォーム\""; $repBuf .= "\n"; //$repBuf .= "
"; //$repBuf .= "\n"; //$repBuf .= "
"; //$repBuf .= "\n"; $rep = $repBuf.$rep; //「トップへ」リンクを設定する。 $repBuf = null; $repBuf .= "\n"; $repBuf .= "
"; $repBuf .= "\"Back\""; $repBuf .= "\"Top\""; $repBuf .= "
"; $repBuf .= "\n"; $rep .= $repBuf; //タイトルを設定する。 $repTitle = "エントリーフォーム"; //スクリプトを設定する。 $script = null; switch ($mode) { case 1: break; } _Log("[/entry/index.php] {フォームコンテンツ作成} ━━━━━━━━━━━━━━━━━ end"); _DB_Close($link); //フォームコンテンツを作成する。----------------------------------------------------- end //テンプレートを編集する。(必要箇所を置換する。) //タイトル if (!_IsNull($repTitle)) $repTitle = "[ ".$repTitle." ] "; $repTitle = $repTitle."::: RY CORPORATION :::"; $html = str_replace ('{title}', $repTitle, $html); //コンテンツ $html = str_replace ('{replace}', $rep, $html); //スクリプト $html = str_replace ('{script}', $script, $html); echo $html; _Log("[/entry/index.php] end."); //選択されているサービスに対応する情報のみにする。 function _GetSelectedServiceOnly($xmlList, $info) { return $xmlList; //2008/09/12現在、未使用。 _Log("[_GetSelectedServiceOnly] start."); $bufXmlList = $xmlList; //選択されたサービスを詰め替える。 $serviceIdList = array(); if (isset($info['update']['tbl_inquiry_service']['inq_srv_service_id'])) { foreach ($info['update']['tbl_inquiry_service']['inq_srv_service_id'] as $serviceId) $serviceIdList[$serviceId] = $serviceId; } //サービスの選択有無チェック if (count($serviceIdList) == 0) { //選択無の場合 _Log("[_GetSelectedServiceOnly] サービスの選択無"); //希望サービス「商品購入」→『商品について』 $bufXmlList = _DeleteXmlByTag($bufXmlList, 'tbl_inquiry_item'); _Log("[_GetSelectedServiceOnly] →『商品について』削除した。"); //希望サービス「研ぎ直し」「修理」「柄交換」→『研ぎ直し・修理・柄交換について』 $bufXmlList = _DeleteXmlByTag($bufXmlList, 'tbl_inquiry_repair'); _Log("[_GetSelectedServiceOnly] →『研ぎ直し・修理・柄交換について』削除した。"); } else { //選択有の場合 _Log("[_GetSelectedServiceOnly] サービスの選択有"); _Log("[_GetSelectedServiceOnly] サービス「商品購入」の選択有無"); //希望サービス「商品購入」→『商品について』 if (isset($serviceIdList[MST_SERVICE_ID_BUY])) { _Log("[_GetSelectedServiceOnly] →選択有"); } else { _Log("[_GetSelectedServiceOnly] →選択無"); $bufXmlList = _DeleteXmlByTag($bufXmlList, 'tbl_inquiry_item'); _Log("[_GetSelectedServiceOnly] →『商品について』削除した。"); } $repairFlag = false; _Log("[_GetSelectedServiceOnly] サービス「研ぎ直し」の選択有無"); if (isset($serviceIdList[MST_SERVICE_ID_SHARPEN])) { _Log("[_GetSelectedServiceOnly] →選択有"); $repairFlag = true; } else { _Log("[_GetSelectedServiceOnly] →選択無"); } _Log("[_GetSelectedServiceOnly] サービス「修理」の選択有無"); if (isset($serviceIdList[MST_SERVICE_ID_REPAIR])) { _Log("[_GetSelectedServiceOnly] →選択有"); $repairFlag = true; } else { _Log("[_GetSelectedServiceOnly] →選択無"); } _Log("[_GetSelectedServiceOnly] サービス「柄交換」の選択有無"); if (isset($serviceIdList[MST_SERVICE_ID_HANDLE])) { _Log("[_GetSelectedServiceOnly] →選択有"); $repairFlag = true; } else { _Log("[_GetSelectedServiceOnly] →選択無"); $bufXmlList = _DeleteXmlByTagAndValue($bufXmlList, 'item_id', 'inq_rep_base_value'); _Log("[_GetSelectedServiceOnly] →『研ぎ直し・修理・柄交換について』の『ご希望の柄』削除した。"); } if (!$repairFlag) { _Log("[_GetSelectedServiceOnly] サービス「研ぎ直し」「修理」「柄交換」が全て選択無"); $bufXmlList = _DeleteXmlByTag($bufXmlList, 'tbl_inquiry_repair'); _Log("[_GetSelectedServiceOnly] →『研ぎ直し・修理・柄交換について』削除した。"); } } _Log("[_GetSelectedServiceOnly] XMLを読み込んだ配列(編集前) = '".print_r($xmlList,true)."'"); _Log("[_GetSelectedServiceOnly] XMLを読み込んだ配列(編集後) = '".print_r($bufXmlList,true)."'"); _Log("[_GetSelectedServiceOnly] end."); return $bufXmlList; } ?>