$REDIRECT_URL = "https://localplace.jp/404"; //--------------------------- // 店舗ID $SHOP_ID = ""; $SHOP_ID_OLD = ""; if( isset($_GET["shop_id"]) ){ $SHOP_ID = $_GET["shop_id"]; $SHOP_ID_t1 = str_replace('t2', 't1', $_GET["shop_id"]); }else{ // ショップIDが無い場合は、404へリダイレクト header("HTTP/1.0 404 Not Found"); header("Location: $REDIRECT_URL"); exit; } //--------------------------- //--------------------------- // 店舗IDのチェック $flag_t3 = 0; if( preg_match('/t[0-2][0-9]{8}/', $SHOP_ID, $SHOP_ID_temp ) // 正規チェック && strlen($SHOP_ID) == 10 ) // 配列数チェック { // チェックOK }else if( preg_match('/t3[0-9]{8}/', $SHOP_ID, $SHOP_ID_temp ) // 正規チェック && strlen($SHOP_ID) == 10 ) // 配列数チェック { // チェックOK $flag_t3 = 1; $ua = $_SERVER['HTTP_USER_AGENT']; include_once "./tourmake/$SHOP_ID.html"; exit; }else{ // 店舗IDのチェックで問題がでたので、表示をしないこととする header("HTTP/1.0 404 Not Found"); header("Location: $REDIRECT_URL"); exit; } //--------------------------- //--------------------------- // DBアクセス // $DB_USER = 'localplace'; // $DB_PASS = 'R8]Ccnjl6uGa6'; // $DB_DB = 'localplace'; // $DB_HOST = '104.199.182.83'; // $DB_CHAR = 'utf8'; $DB_HOST = '34.85.86.3'; $DB_DB = 'calldb'; $DB_USER = 'lpnext'; $DB_PASS = 'LpNextCoupon2019'; $DB_CHAR = 'utf8'; $pdo; $dsn = 'mysql:host='.$DB_HOST.';dbname='.$DB_DB.';charset='.$DB_CHAR; //DSN構築 try { $pdo = new PDO($dsn,$DB_USER,$DB_PASS,array()); //Objectを取得 $pdo->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("");
// }
//---------------------------
?>