setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // PDOException をスロー $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC ); // 結果をarrayで取得、カラム名を添え字とする $sql = <<< SQL SELECT s.client_id, s.status FROM shops_prejoin_for_list_mini s WHERE s.yahoo_local_people_store_id = ? AND s.have_been_canceled_a_flag=0 AND s.suspend_flag=0 SQL; $sth = $pdo->prepare($sql); if( $sth->execute(array($SHOP_ID_t1)) ){ $data = $sth->fetch(PDO::FETCH_ASSOC); } else { // エラーの場合は、404へリダイレクト header("HTTP/1.0 404 Not Found"); header("Location: $REDIRECT_URL"); exit; } }catch(PDOException $e){ // エラーの場合は、404へリダイレクト header("HTTP/1.0 404 Not Found"); header("Location: $REDIRECT_URL"); exit; } //--------------------------- //--------------------------- // Previewステータスチェック // $_SERVER[REQUEST_URI] => /t200XXXXXX/?preview=1 $PREVIEW_FLG = 0; if(strpos($_SERVER['REQUEST_URI'],'preview=1') !== false){ //Previewステータスあり $PREVIEW_FLG = 1; } //--------------------------- //--------------------------- // 非掲載で、Previewステータスも無い場合、エラー if( $PREVIEW_FLG == 0 && $data["status"] == 0 ){ header("HTTP/1.0 404 Not Found"); header("Location: $REDIRECT_URL"); exit; } //--------------------------- //--------------------------- // 独自ドメイン アクセスチェック /* Technical Memo ■GCEへ直接アクセス時の$_SERVER  http://104.199.205.140/p.php ■独自ドメイン用Proxyサーバー経由アクセス時の$_SERVER  http://cmstest.epark.work/p.php ■Proxy経由時の違い ・経由する時  下記キーが存在する。  'HTTP_LOCALPLACE_PROXY' => string 'yes' (length=3)  'HTTP_X_FORWARDED_FOR' => string '1.33.207.57' (length=11) //大元のアクセスIP  'HTTP_X_FORWARDED_HOST' => string 'cmstest.epark.work' (length=18) //大元のアクセスホスト名  'HTTP_X_FORWARDED_SERVER' => string 'cmstest.epark.work' (length=18) //大元のアクセスサーバ名  REMOTE_ADDR にはProxyサーバのアドレスが記載 ・経由しない場合  'HTTP_X_FORWARDED_*'と'HTTP_LOCALPLACE_PROXY'が存在しない  REMOTE_ADDR には大元のアクセスIPが記載 */ $otherDomainFlg = 0; if( isset($_SERVER["HTTP_LOCALPLACE_PROXY"] ) && $_SERVER["HTTP_LOCALPLACE_PROXY"]==="yes"){ // 独自ドメインでアクセスされた $otherDomainFlg = 1; } //--------------------------- //--------------------------- // 店舗情報で利用可能 変数一覧 読込 $SHOP_TEMPLATE = "../shoptemp/$SHOP_ID.php"; if( $PREVIEW_FLG == 1 && $STATUS == 1 ){ $SHOP_TEMPLATE = "../shoptemp_pre/$SHOP_ID.php"; } if (file_exists($SHOP_TEMPLATE)) { // クリスタル→独自ドメイン転送 $sql = <<< SQL SELECT domain_name FROM contract WHERE client_id = ? SQL; $sth2 = $pdo->prepare($sql); $sth2->execute([$data['client_id']]); $shop = $sth2->fetch(PDO::FETCH_ASSOC); if (!empty($shop['domain_name']) && empty($_SERVER['HTTP_LOCALPLACE_PROXY'])) { $domain_url = 'https://' . $shop['domain_name'] . str_replace('/'.$SHOP_ID, '', $_SERVER['REQUEST_URI'] ?? ''); header( "HTTP/1.1 301 Moved Permanently" ); header("Location: $domain_url"); exit; } include_once $SHOP_TEMPLATE; } else { // テンプレート情報が無い場合は、404へリダイレクト header("HTTP/1.0 404 Not Found"); header("Location: $REDIRECT_URL"); exit; } //--------------------------- //--------------------------- // ページ名 $WEB_PAGE = "index.html"; if( isset($_GET["web_page"]) ){ $WEB_PAGE = $_GET["web_page"]; } //--------------------------- //--------------------------- // ブラウザの環境情報 $WEB_TYPE = "pc"; if( isset($_GET["web_type"]) && file_exists("../temple/$template_dir/sp/$WEB_PAGE")){ $WEB_TYPE = "sp"; } //--------------------------- //--------------------------- // テンプレートstaticファイルディレクトリ $DIR_ASSET = "https://localplace.jp/assets/$template_dir/$WEB_TYPE"; if( $PREVIEW_FLG == 1 && $STATUS == 1 ){ $DIR_ASSET = "/assets_pre/$template_dir/$WEB_TYPE"; } //--------------------------- //--------------------------- // htmlのタグ閉じ前に、独自スクリプト追加 $END_SCRIPT = ""; /* +++ GoogleAnalytics用コード +++ */ $END_SCRIPT .= ""; /* --- GoogleAnalytics用コード --- */ $END_SCRIPT .= <<< HTML HTML; //--------------------------- // テンプレート html 読込 $tplpath = "../temple/$template_dir/$WEB_TYPE/$WEB_PAGE"; if( $PREVIEW_FLG == 1 && $STATUS == 1 ){ $tplpath = "../temple_pre/$template_dir/$WEB_TYPE/$WEB_PAGE"; } if (!file_exists($tplpath)) { header("HTTP/1.0 404 Not Found"); header("Location: $REDIRECT_URL"); exit; } if (preg_match('/\.html$/u', $WEB_PAGE)) { include_once $tplpath; } else { while (ob_get_level()) { ob_end_clean(); } if (preg_match('/\.xml$/u', $WEB_PAGE)) { header('Content-Type: application/xml;'); } else if (preg_match('/\.txt$/u', $WEB_PAGE)) { header('Content-Type: text/plain;'); } readfile($tplpath); } //--------------------------- // テストする場合は、Preview時のみ表示する // if( $PREVIEW_FLG == 1 ){ // echo("
");
//		echo("掲載:".$STATUS );
//		echo("preview:".$PREVIEW_FLG );
//		print_r($_GET);
//		print_r($_SERVER);
//		echo("
"); // // echo("
");
//		print_r($data);
//		echo("
"); // } //--------------------------- ?>