session->sess_data)) { $sess_data = $locomill->session->sess_data; } elseif (empty($locomill->session)) { // セッション生成 $locomill->session = new Session($locomill->get_db(), ""); $locomill->session->start(); $locomill->session->user_id = -1; } } catch (LocomillError $e) { $err_str .= $e->get_exception(); } } /* 出力準備 */ $smarty = new SmartyEx(); $smarty->prepare(); /* マイプロフィール */ include('common/myprofile.inc'); /* Spotクラスインスタンス生成 */ if ($err_str === "") { try { $spot = new Spot($locomill->get_db3()); } catch (SpotError $e) { $err_str .= $e->get_exception(); } } /* Kuchikomiクラスインスタンス生成 */ if ($err_str === "") { try { $kuchikomi = new Kuchikomi($locomill->get_db3()); } catch (KuchikomiError $e) { $err_str .= $e->get_exception(); } } /* KuchikomiMasterクラスインスタンス生成 */ if ($err_str === "") { try { $kuchikomi_master = new KuchikomiMaster($locomill->get_db3()); } catch (KuchikomiMasterError $e) { $err_str .= $e->get_exception(); } } /* GoodTypeクラスインスタンス生成 */ if ($err_str === "") { try { $good_type = new GoodType($locomill->get_db3()); $good_type_array = $good_type->get_data_array(true); } catch (GoodTypeError $e) { $err_str .= $e->get_exception(); } } /* Pagerクラスインスタンス生成 */ if ($err_str === "") { try { $pager = new Pager(); } catch (PagerError $e) { $err_str = $e->get_exception(); } } /* Request値の検証 */ if ($err_str === "") { if (isset($_POST) === true && empty($_POST) === false) { $rq = $_POST; } elseif (isset($_GET) === true && empty($_GET) === false) { $rq = $_GET; } $page = (isset($rq['page']) && preg_match("/^[0-9]+$/", $rq['page']))? $rq['page']: $page; $sort = (isset($rq['sort']) && preg_match("/^[0-9]+$/", $rq['sort']))? $rq['sort']: $sort; $vector = (isset($rq['vect']) && ($rq['vect'] == 'A' || $rq['vect'] == 'D'))? $rq['vect']: $vector; $sex = (isset($rq['sex']) && preg_match("/^[0-9]+$/", $rq['sex']))? $rq['sex']: 0; } /* スポットデータ取得 */ if ($err_str === "") { try { if ($spot->check_id($rq['id'])) { $spot_id = $rq['id']; } else { throw new SpotError('・正しい手続きでアクセスしていません。
'); } if (isset($rq['img']) && $rq['img'] == 1) { header('Location: /spot/photo/?id=' . $spot_id . '&mode=k'); } $spot_data = $spot->get_data($spot_id); if ($preview != 1) { // 表示判定 if ($spot_data['enable'] != 1 || $now <= $spot_data['start_stamp'] || (0 < $spot_data['end_stamp'] && $spot_data['end_stamp'] <= $now)) { $the_corner_id = 6; $adver_param = array("terminal_type" => 1, "corner_id" => $the_corner_id); $adver_b_type = array(1); include('common/banners.inc'); header("HTTP/1.0 404 Not Found"); $smarty->display('parts/spot/disabled.tpl'); exit; } if ($spot_data['is_closed'] == 1) { // 閉店 $the_corner_id = 6; $adver_param = array("terminal_type" => 1, "corner_id" => $the_corner_id); $adver_b_type = array(1); include('common/banners.inc'); header("HTTP/1.0 404 Not Found"); $smarty->display('parts/spot/closed.tpl'); exit; } } $spot_data = $spot->adjust($spot_data); } catch (SpotError $e) { ErrorRedirect(404); } } /* コンテンツメニュー */ if ($err_str === "") { $feature_type = 'pc'; $page_type = 'kuchikomi'; include('common/spotmenu.inc'); } /* ログイン処理 */ if ($err_str === "") { if (!empty($sess_data['sms_is_login'])) { if ($sess_data['sms_login_spot_id'] == $spot_id && strtotime('-6 hours') <= $sess_data['sms_login_timestamp']) { $sms_is_login = 1; } else { unset($sess_data['sms_is_login'], $sess_data['sms_login_spot_id'], $sess_data['sms_login_timestamp']); $locomill->session->sess_data = $sess_data; $locomill->session->store_data(); } } } /* クチコミデータ取得 */ if ($err_str === "") { $kuchikomi_item_line = 10; $cond = array(); $cond['is_comment'] = 1; if (!empty($sex)) { $cond['sex'] = $sex; } if (!empty($sort)) { $cond['sort'] = $sort; } if (!empty($vector)) { $cond['vector'] = $vector; } $sql = $kuchikomi->get_id_query(1, $spot_id, true, $cond); $result = $locomill->get_db3()->query($sql); if ($result !== false) { $kuchikomi_num = $locomill->get_db3()->num($result); if ($kuchikomi_num > 0) { $page = $pager->exec($kuchikomi_num, $page, $kuchikomi_item_line, 10); if ($pager->get_err_str() === "") { if ($locomill->get_db3()->seek($result, $pager->get_start_row()) == true) { for ($i = $pager->get_start_row(); $i < $pager->get_end_row(); $i++) { $row = $locomill->get_db3()->fetch_array($result); $kuchikomi_array[$row['id']] = $kuchikomi->adjust($row['id'], $login_user_id, false, $spot_data); } } else { $err_str = "・データの参照に失敗しました。
" . mysqli_error($locomill->get_db3()->get_db_connect()); } } else { $err_str = "・ページ情報の処理に失敗しました。
"; } } } else { $err_str .= "・データの参照に失敗しました。
" . mysqli_error($locomill->get_db3()->get_db_connect()); } $cond = array(); $cond['is_comment'] = 1; $cond['is_reply'] = 1; $sql = $kuchikomi->get_id_query(1, $spot_id, true, $cond); $result = $locomill->get_db3()->query($sql); if ($result !== false) { $kuchikomi_reply_num = $locomill->get_db3()->num($result); } } /* 常連取得 */ if ($err_str === "") { try { $temp = $kuchikomi_master->get_data_array(0, $spot_id, 4); foreach ($temp AS $v) { try { $master_member_data = $member->get_data($v['member_id']); } catch (MemberError $e) { continue; } try { $myimage_data = $avatar_image->get_data($master_member_data['avatar_icon']); } catch(MemberMaster04Error $e) { $myimage_data = array(); } $temp = array(); $temp['member_name'] = $master_member_data['avatar_nickname']; $temp['member_id'] = $master_member_data['id']; if (!empty($myimage_data['image_02']['up_name']) && file_exists(UPIMG_BASE_PATH . LOCOMILL_UPIMG_MEMBER_MASTER_04_02_PATH . '/' . $myimage_data['image_02']['up_name'])) { $temp['member_image'] = '/img' . LOCOMILL_UPIMG_MEMBER_MASTER_04_02_PATH . '/' . $myimage_data['image_02']['up_name']; } elseif (!empty($myimage_data['image_01']['up_name']) && file_exists(UPIMG_BASE_PATH . LOCOMILL_UPIMG_MEMBER_MASTER_04_01_PATH . '/' . $myimage_data['image_01']['up_name'])) { $temp['member_image'] = '/img' . LOCOMILL_UPIMG_MEMBER_MASTER_04_01_PATH . '/' . $myimage_data['image_01']['up_name']; } else { $temp['member_image'] = '/common/img/toto.gif'; } if ($v['year'] == date('Y') && $v['month'] == date('n')) { $temp['is_new'] = 1; } else { $temp['is_new'] = 0; } $kuchikomi_master_array[] = $temp; unset($master_member_data, $myimage_data); } unset($temp); } catch (KuchikomiMasterError $e) { $err_str .= $e->get_exception(); } } // キーワードランキング if ($err_str === "" && $spot_data['kuchikomi_keyword_flg'] != 2) { try { $kuchikomi_keyword_array = $kuchikomi->get_keyword_rank($spot_id); } catch (KuchikomiError $e) { $kuchikomi_keyword_array = array(); } } $smarty->assign("KUCHIKOMI_KEYWORD_ARRAY", $kuchikomi_keyword_array); /* 変数の準備 */ // ページタイプ $smarty->assign("PAGE_TYPE", $page_type); // スポットデータ $smarty->assign("SPOT_ID", $spot_id); $smarty->assign("SPOT_DATA", $spot_data); // プレビュー $smarty->assign("PREVIEW", $preview); $smarty->assign("PV_MODE", $pv_mode); $smarty->assign("PV_URL", $pv_url); // リクエスト値 $param = array(); foreach ($rq AS $k => $v) $param[$k] = htmlspecialchars($v); $smarty->assign("RQ_DATA", $param); // クチコミデータ $smarty->assign_ex("KUCHIKOMI_NUM", $kuchikomi_num, "0"); $smarty->assign("KUCHIKOMI_ARRAY", $kuchikomi_array); $smarty->assign("KUCHIKOMI_REPLY_NUM", $kuchikomi_reply_num); // 常連 $smarty->assign("KUCHIKOMI_MASTER_NUM", count($kuchikomi_master_array)); $smarty->assign("KUCHIKOMI_MASTER_ARRAY", $kuchikomi_master_array); // ぐっとタイプ $smarty->assign("GOOD_TYPE_ARRAY", escapeHTML($good_type_array)); // 絞り込み $smarty->assign_ex("S_SEX", $sex, ""); $smarty->assign_ex("PAGE", $page, ""); $smarty->assign_ex("SORT", $sort, ""); $smarty->assign_ex("VECT", $vector, ""); // <<前へ $smarty->assign_ex("BEFORE_LINK", $pager->get_left_info_public(), ""); // 次へ>> $smarty->assign_ex("NEXT_LINK", $pager->get_right_info_public(), ""); // ページインフォ $smarty->assign_ex("PAGE_INFO_LINK", $pager->get_page_info_public(), ""); //SMSログイン $smarty->assign("SMS_IS_LOGIN", $sms_is_login); // イマココ $imakoko = getTopicsPath('spot'); if ($err_str === "") { $imakoko[] = array(sprintf('/search_result/?type=spot&C1=%d', $spot_data['category_01_01_id']), $spot_data['category_01_01_name']); $imakoko[] = array(sprintf('/search_result/?type=spot&C2=%d', $spot_data['category_01_02_id']), $spot_data['category_01_02_name']); $imakoko[] = array(sprintf('/search_result/?type=spot&C3=%d', $spot_data['category_01_03_id']), $spot_data['category_01_03_name']); $imakoko[] = array(sprintf('/spot/home/?id=%d', $spot_id), $spot_data['name_01']); $imakoko[] = array(sprintf('/spot/grapevine/?id=%d', $spot_id), 'クチコミ'); } $smarty->assign("IMAKOKO_ARRAY", $imakoko); // 最新情報 include('common/whatsnew.inc'); /* AccessDailyクラスインスタンス生成 */ if ($err_str === "" && $preview != 1) { try { $access = new AccessDaily($locomill->get_db()); $params = array("corner_type" => 1, "terminal" => 1, "corner_id" => $spot_data['id'], "page" => $_SERVER['PHP_SELF'], "title" => 'クチコミ', "refer_url" => (isset($_SERVER['HTTP_REFERER'])? $_SERVER['HTTP_REFERER']: ''), "refer_name" => "", "keyword" => "", "file_name" => $_SERVER['REQUEST_URI'], "member_data" => (isset($locomill->session->sess_data['member_data'])? $locomill->session->sess_data['member_data']: array())); $access->do_logging($params); } catch (AccessDailyError $e) { $access->output_error($e->get_exception()); } } /* 広告系 */ $the_corner_id = 6; $adver_param = array("terminal_type" => 1, "corner_id" => $the_corner_id, "category_03_id" => $spot_data['category_01_03_id']); $adver_b_type = ($spot_data['adver_block_flg'] == 1)? array(7): array(1, 2, 7); include('common/banners.inc'); // バナー広告 if ($spot_data['adver_block_flg'] == 1) { if (!empty($spot_data['orig_billboard'])) { $billboard_out = htmlspecialchars_decode($spot_data['orig_billboard']); } else { // 代替ビルボード $billboard_out = ''; } if (!empty($spot_data['orig_sky'])) { $sky_out = htmlspecialchars_decode($spot_data['orig_sky']); } else { // 代替スカイスクレイパー $sky_out = ''; } $smarty->assign("ADVER_01", $billboard_out); $smarty->assign("ADVER_02", $sky_out); } // エラー文字列 $smarty->assign("ERR_STR", $err_str); if (!empty($err_str) || $preview == 1) { header("HTTP/1.0 404 Not Found"); } // ブラウザキャッシュ対策 if ($err_str === "") { header('Etag: ' . md5($spot_data['id'] . '-' . time())); } // Smarty Cache $cache_id = ''; if ($err_str === "" && $preview != 1) { $smarty = getSmartyCache($smarty); $cache_id = getSmartyCacheId(array_merge($spot_data, $rq), array('id', 'update_stamp', 'isSP', 'page', 'sort', 'vect', 'sex')); } /* 出 力 */ $smarty->display('spot/grapevine/index.tpl', $cache_id);