prepare($sql); $obj->bindValue(":cl_stm_cd", $cl_stm_cd, PDO::PARAM_STR); $obj->execute(); // performance_log($log_name, 0, microtime(true), $UsrObj['id'], $log_session_id, __FILE__, $logfilename); if (!$shop = $obj->fetch(PDO::FETCH_ASSOC)) { // お店が存在しない header ("location:" .BASE_SSL_URL. "/404.php"); exit; } elseif ($shop['status'] == "2") { // 2:削除 // お店が削除されている header ("location:" .BASE_SSL_URL. "/404.php"); exit; } elseif ($shop['cl_stm_type'] == "1" || $shop['cl_stm_type'] == "2") { // cl_stm_type 1:投稿, 2:飲食店トライアル // 投稿店・無料店は取り合えず非表示 header ("location:" .BASE_SSL_URL. "/404.php"); exit; } else { // ステータスが有効のショップ http_response_code(200); //$_SESSION['scd'] = $shop['cl_stm_cd']; // ユーザー登録時の紐付け setcookie('scd', $shop['cl_stm_cd'], time() + 60 * 86400, '/', COOKIE_TARGET); // 掲載フラグが0ならば掲載 掲載フラグが0以外でもプレビューの場合は掲載 if($shop['publish_flg'] !== 0 && $_GET['pv'] != 1 && empty($_GET['preview_token'])) { header ("location:" .BASE_SSL_URL. "/404.php"); exit; } $log_name = 'ショップ画像判定'; // カレントパス $currentUrl = BASE_SSL_URL . "/storeDetail.php?scd=" . $shop['cl_stm_cd']; // メタタグ用画像URL準備 $meta_image_urls = [ 'main_thumnail' => SHOP_CDN . $shop['cl_stm_cd'] . "_L.jpg", 'twitter_thumnail' => S3_BASE_URL . 'pic/sns_ogp_tw/' . $shop['cl_stm_cd'] . '.jpg', 'facebook_thumnail' => S3_BASE_URL . 'pic/sns_ogp_fb/' . $shop['cl_stm_cd'] . '.jpg' ]; // メタタグ用画像URLの存在確認 存在しなければ別画像に差し替えられる $validated_meta_image_urls = checkShopMetaImageUrls($meta_image_urls); // メタタグ用画像URLを定義 $main_thumnail = $validated_meta_image_urls['main_thumnail']; $twitter_thumnail = $validated_meta_image_urls['twitter_thumnail']; $facebook_thumnail = $validated_meta_image_urls['facebook_thumnail']; // performance_log($log_name, 0, microtime(true), $UsrObj['id'], $log_session_id, __FILE__, $logfilename); // $log_name = 'cl_stm_info取得'; // 列数(itemrows) $sql = "SELECT * FROM cl_stm_info WHERE cl_stm_cd = :cl_stm_cd"; $obj = $db->prepare($sql); $obj->bindValue(":cl_stm_cd", $shop['cl_stm_cd'], PDO::PARAM_STR); $obj->execute(); $stmInfo = $obj->fetch(PDO::FETCH_ASSOC); // performance_log($log_name, 0, microtime(true), $UsrObj['id'], $log_session_id, __FILE__, $logfilename); // $log_name = 'METAタグ取得、作成'; // METAタグ $sql = "SELECT * FROM cl_stm_meta WHERE cl_stm_cd = :cl_stm_cd"; $obj = $db->prepare($sql); $obj->bindValue(":cl_stm_cd", $shop['cl_stm_cd'], PDO::PARAM_STR); $obj->execute(); $rand = mt_rand(); if ($meta = $obj->fetch(PDO::FETCH_ASSOC)) { // 空白・nullチェック $cl_meta_title = (is_null($meta['cl_meta_title']) || $meta['cl_meta_title'] == "") ? $shop['cl_stm_name'] . " | " . $shop['cl_stm_catch_copy'] : $meta['cl_meta_title']; $cl_meta_disp = (is_null($meta['cl_meta_disp']) || $meta['cl_meta_disp'] == "") ? $shop['cl_stm_list_text'] : $meta['cl_meta_disp']; // 各種タグ 改行コードを削除して出力 $cl_meta_disp = str_replace(array("\r\n", "\r", "\n"), '', $cl_meta_disp); // メタタグ・OGP設定 $OGP_title = sprintf("\n", $cl_meta_title); $OGP_description = sprintf("\n", $cl_meta_disp); $OGP_url = sprintf("\n", $currentUrl); $OGP_image = sprintf("\n", $facebook_thumnail); $Tw_title = sprintf("\n", $cl_meta_title); $Tw_description = sprintf("\n", $cl_meta_disp); $Tw_url = sprintf("\n", $currentUrl); $Tw_image = sprintf("\n", $twitter_thumnail); $META_title = $cl_meta_title; $META_description = $cl_meta_disp; $META_keyword = $meta['cl_meta_keyword'] . ",ツクツク"; } else { // 改行コードを削除して出力 //$shop['cl_stm_list_text'] = str_replace(array("\r\n", "\r", "\n"), '', $shop['cl_stm_list_text']); $meta_list_text = str_replace(array("\r\n", "\r", "\n"), '', $shop['cl_stm_list_text']); $OGP_title = sprintf("\n", $shop['cl_stm_name']); $OGP_description = sprintf("\n", $meta_list_text); $OGP_url = sprintf("\n", $currentUrl); $OGP_image = sprintf("\n", $facebook_thumnail); $Tw_title = sprintf("\n", $shop['cl_stm_name']); $Tw_description = sprintf("\n", $meta_list_text); $Tw_url = sprintf("\n", $currentUrl); $Tw_image = sprintf("\n", $twitter_thumnail); $META_title = $shop['cl_stm_name']; $META_description = $meta_list_text; $META_keyword = PG_KEYWORD . ",ツクツク"; } // performance_log($log_name, 0, microtime(true), $UsrObj['id'], $log_session_id, __FILE__, $logfilename); /**************************************************/ /********** ソーシャルカウント取得&更新 ******************/ /**************************************************/ /* $AP_ID = "1581362032128406"; $AP_SECRET = "a7770f73fb66e5cdd0def1aeb8c89d7d"; $access_token = $AP_ID . "|" . $AP_SECRET; $url = "https://home.tsuku2.jp/storeDetail.php?scd=" . $shop['cl_stm_cd']; //チェックするURL $url = "https://graph.facebook.com/?access_token=" . $access_token . "&id=". urlencode($url); $json = @file_get_contents($url); // JSONデータを取得 $array = json_decode($json, true); // JSONデータを連想配列に直す $count_2c = $array["share"]["comment_count"]; $count_2s = $array["share"]["share_count"]; $fb_2 = $count_2c + $count_2s; // カウント数が同じ以下だったら更新しない if ($shop['fb_2'] < $fb_2 && $fb_2 != 0) { try { $updateObj = $db->prepare("UPDATE cl_stm_tb SET fb_2 = :fb_2, per_update = NOW() WHERE cl_stm_cd = :cl_stm_cd"); $updateObj->bindValue(":fb_2", $fb_2, PDO::PARAM_INT); $updateObj->bindValue(":cl_stm_cd", $shop['cl_stm_cd'], PDO::PARAM_STR); $updateObj->execute(); } catch (PDOException $e) { Er_writeLog($updateObj, $e->getMessage()); echo "クエリエラー"; exit; } } else { $fb_2 = $shop['fb_2']; } */ $AP_ID = "1581362032128406"; $AP_SECRET = "a7770f73fb66e5cdd0def1aeb8c89d7d"; $access_token = $AP_ID . "|" . $AP_SECRET; $url = "https://home.tsuku2.jp/storeDetail.php?scd=" . $shop['cl_stm_cd']; //チェックするURL //echo $url; //$url = "https://graph.facebook.com/?access_token=" . $access_token . "&id=". urlencode($url); // 以下のAPI実行がFacebook Developerのアプリレート制限に引っかかると考えられるためコメントアウト(HOME_DEFECT-776) // $url = "https://graph.facebook.com/?fields=og_object{engagement},engagement&access_token=" . $access_token . "&id=" . urlencode($url); // //echo $url . "
"; // $json = @file_get_contents($url); // JSONデータを取得 // //echo $json; // $array = json_decode($json, true); // JSONデータを連想配列に直す // //var_dump($array); // $count_3c = $array["engagement"]["reaction_count"]; // いいね数 // $count_3s = $array["engagement"]["share_count"]; // シェア回数 // $fb_3 = $count_3c + $count_3s; // //echo "\$count_3c = " . $count_3c . "
"; // //echo "\$count_3s = " . $count_3s . "
"; // //echo "\$fb_2 = " . $fb_2 . "
"; // // カウント数が同じ以下だったら更新しない // if ($shop['fb3_flg'] < $fb_3 && $fb_3 != 0) { // try { // $updateObj = $db->prepare("UPDATE cl_stm_tb SET fb3_flg = :fb3_flg, per_update = NOW() WHERE cl_stm_cd = :cl_stm_cd"); // $updateObj->bindValue(":fb3_flg", $fb_3, PDO::PARAM_INT); // $updateObj->bindValue(":cl_stm_cd", $shop['cl_stm_cd'], PDO::PARAM_STR); // $updateObj->execute(); // } catch (PDOException $e) { // Er_writeLog($updateObj, $e->getMessage()); // echo "クエリエラー"; // exit; // } // } else { // $fb_3 = $shop['fb3_flg']; // } // // シェアボタンに表示するカウント数合計 // $fb_total_share_count = $shop['fb_1'] + $shop['fb_2'] + $fb_3; /**************************************************/ /************** お気に入り取得&更新 ******************/ /**************************************************/ // $log_name = 'お気に入り数取得'; try { $sql = "SELECT no FROM cl_stm_wish_tb WHERE wished_id = :wished_id AND type = :type AND status = :status"; $obj = $db->prepare($sql); $obj->bindValue(":wished_id", $shop['cl_stm_cd'], PDO::PARAM_STR); $obj->bindValue(":type", 3, PDO::PARAM_INT); $obj->bindValue(":status", 0, PDO::PARAM_INT); $obj->execute(); } catch (PDOException $e) { die($e->getMessage()); } $wish_cnt = $obj->rowCount(); // performance_log($log_name, 0, microtime(true), $UsrObj['id'], $log_session_id, __FILE__, $logfilename); // $log_name = 'お気に入り更新'; // カウント数が同じ以下だったら更新しない if ($shop['wishcnt'] < $wish_cnt && !empty($wish_cnt)) { try { $update_sql = " UPDATE cl_stm_tb SET wishcnt = :wishcnt , per_update = NOW() WHERE cl_stm_cd = :cl_stm_cd "; $update_obj = $db->prepare($update_sql); $update_obj->bindValue(":wishcnt", $wish_cnt, PDO::PARAM_INT); $update_obj->bindValue(":cl_stm_cd", $shop['cl_stm_cd'], PDO::PARAM_STR); $update_obj->execute(); } catch (PDOException $e) { Er_writeLog($update_sql, $e->getMessage()); echo "クエリエラー"; exit; } } else { $wish_cnt = $shop['wishcnt']; } // performance_log($log_name, 0, microtime(true), $UsrObj['id'], $log_session_id, __FILE__, $logfilename); } } catch (PDOException $e) { die($e->getMessage()); } // $log_name = 'プレビュートークン取得'; // プレビュートークンが有る場合はCSSを適応する require_once dirname(__DIR__, 2) . '/contents/libs/themePreview.php'; // performance_log($log_name, 0, microtime(true), $UsrObj['id'], $log_session_id, __FILE__, $logfilename); // $log_name = 'トークン存在確認'; // プレビュートークン指定時にエラーが有った場合はalertを表示する $preview_token_error_msg_script = null; if (isset($_GET['preview_token'])) { $preview_template = themePreview_get_preview_css($_GET['preview_token'], $shop['cl_stm_cd']); if (!empty($preview_template['error'])) { $preview_token_error_msg_script = "alert('" . $preview_template['message'] . "')"; } } // performance_log($log_name, 0, microtime(true), $UsrObj['id'], $log_session_id, __FILE__, $logfilename); // $log_name = 'ショップテーマ設定'; // テーマ if (!empty($preview_template['css_path']) && !empty($preview_template['error']) || empty($preview_template['css_path'])) { // テーマを取得 try { $sql = "SELECT * FROM cl_stm_shop_top_theme_type_mst WHERE status = :status ORDER BY orders"; $obj = $db->prepare($sql); $obj->bindValue(":status", 0, PDO::PARAM_INT); $obj->execute(); $mst_preview_data = $obj->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { die($e->getMessage()); } // テンプレートが設定されていない場合はmstの1番目になっているはず if (!empty($shop['shop_top_theme_type'])) { foreach ($mst_preview_data as $row) { if ($row['no'] == $shop['shop_top_theme_type']) { $preview_template['css_path'] = $row['css_path']; break; } } } // 最終補完 if (empty($shop['shop_top_theme_type'])) { $preview_template['css_path'] = $mst_preview_data[0]['css_path']; } } // $log_name = 'shopCommon 終了'; // performance_log($log_name, 0, microtime(true), $UsrObj['id'], $log_session_id, __FILE__, $logfilename); Warning: Undefined variable $shop in /var/www/html/public/storeDetail.php on line 94 Warning: Trying to access array offset on value of type null in /var/www/html/public/storeDetail.php on line 94 Warning: Trying to access array offset on value of type bool in /var/www/html/public/storeDetail.php on line 109 Warning: Undefined variable $shop in /var/www/html/public/storeDetail.php on line 109 Warning: Trying to access array offset on value of type null in /var/www/html/public/storeDetail.php on line 109 Fatal error: Uncaught TypeError: insertAccesLog(): Argument #2 ($cl_stm_cd) must be of type string, null given, called in /var/www/html/public/storeDetail.php on line 109 and defined in /var/www/html/public/libs/common.php:2805 Stack trace: #0 /var/www/html/public/storeDetail.php(109): insertAccesLog() #1 {main} thrown in /var/www/html/public/libs/common.php on line 2805