get_exception(); } } /* Areaクラスインスタンス生成 */ if ($err_str === "") { try { $area = new Area($locomill->get_db4()); $area_top = $area->get_area_top(); } catch (AreaError $e) { $err_str .= $e->get_exception(); } } if (isset($area_id)) { $new_area_id = $area_id; } elseif (isset($_GET['t']) && $_GET['t'] == 'A3' && isset($_GET['id']) && !is_array($_GET['id']) && preg_match('/^[0-9]+$/', $_GET['id'])) { $new_area_id = $_GET['id']; } if (isset($new_area_id)) { if (isset($area_top[$new_area_id])) { require_once('index_medium2.shtml'); exit; } unset($new_area_id); } /* インクルードファイル */ require_once("smarty.inc"); require_once("area_group.inc"); require_once("kuchikomi.inc"); require_once('kuchikomi_campaign.inc'); require_once("search.inc"); require_once("news.inc"); require_once("feature.inc"); require_once("entry.inc"); /* 変数初期化 */ $smarty = null; $area_03_list = array(); $area_03_array = array(); $area_array = array(); $area_group = null; $area_group_array = array(); $spot = null; $spot_array = array(); $event_array = array(); $feature = null; $feature_array = array(); $entry = null; $entry_array = array(); $mode = ''; $target = ''; $level = 0; $case = array(); $area_data = array(); $current_area_data = array(); $area_top = array(); $kuchikomi = null; $kuchikomi_num = 0; $kuchikomi_array = array(); $kuchikomi_campaign = null; $kuchikomi_campaign_array = array(); $nasu_kuchikomi_array = array(); $news = null; $news_num = 0; $news_array = array(); $the_area_02_id = ""; $the_area_03_id = ""; $the_area_flag_01_id = ""; $the_area_flag_02_id = ""; $now = time(); /* 出力準備 */ $smarty = new SmartyEx(); $smarty->prepare(); /* マイプロフィール */ include('common/myprofile.inc'); /* Areaクラスインスタンス生成 */ if ($err_str === "") { try { $tmp = $area->get_data_array('area_master_03_tbl', true); foreach ($tmp AS $v) { $area_03_list[$v['id']] = array('name' => $v['name'], 'link' => (isset($area_top[$v['id']])? '/' . $area_top[$v['id']] . '/': '/area/list/index_medium.shtml?t=A3&id=' . $v['id'])); } } catch (AreaError $e) { $err_str .= $e->get_exception(); } } /* AreaGroupクラスインスタンス生成 */ if ($err_str === "") { try { $area_group = new AreaGroup($locomill->get_db4()); } catch (AreaGroupError $e) { $err_str .= $e->get_exception(); } } /* Kuchikomiクラスインスタンス生成 */ if ($err_str === "") { try { $kuchikomi = new Kuchikomi($locomill->get_db4()); } catch (KuchikomiError $e) { $err_str .= $e->get_exception(); } } /* KuchikomiCampaignクラスインスタンス生成 */ if ($err_str === "") { try { $kuchikomi_campaign = new KuchikomiCampaign($locomill->get_db()); } catch (KuchikomiCampaignError $e) { $err_str .= $e->get_exception(); } } /* Searchクラスインスタンス生成 */ if ($err_str === "") { try { $search = new Search($locomill->get_db4()); } catch (SearchError $e) { $err_str .= $e->get_exception(); } } /* Featureクラスインスタンス生成 */ if ($err_str === "") { try { $feature = new Feature($locomill->get_db4()); } catch (FeatureError $e) { $err_str .= $e->get_exception(); } } /* Entryクラスインスタンス生成 */ if ($err_str === "") { try { $entry = new Entry($locomill->get_db4()); } catch (EntryError $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; } if (isset($area_top_page) && isset($area_id)) { $rq['A3'] = $area_id; } else { $area_id = 0; $dir_name = ''; unset($area_top_page); } // 簡易メニューからのアクセスを反映:エリア if (!empty($rq['area'])) { $temp = explode(':', $rq['area']); if ($temp) { foreach ($temp AS $q) { list($k, $v) = explode('_', $q); $rq[$k] = $v; } } } // 階層指定の適用 if (!empty($rq['t'])) { $target = strtoupper($rq['t']); $rq[$target] = $rq['id']; } // A3(市町村階層)が宇都宮フラグだった場合の処理 if (!empty($rq['A3']) && preg_match("/^F(1|2):[0-9]+$/", $rq['A3'])) { list($key, $code) = explode(":", $rq['A3']); $rq[$key] = $code; } // 圏域指定あり if (!empty($rq['A2'])) { $level = 1; $area_id = (int)$rq['A2']; $target = 'A2'; if ($area_id == 1) { $rq['A3'] = 1; // 宇都宮エリアは宇都宮市を強制的にセット } } // 市町村指定あり if (!empty($rq['A3'])) { $level = 2; $area_id = (int)$rq['A3']; $target = 'A3'; if (!isset($area_top_page) && array_key_exists($area_id, $area_top)) { header('HTTP/1.1 301 Moved Permanently'); header('Location: /' . $area_top[$area_id] . '/'); // 各エリアトップへ exit; } try { $temp = $area_group->get_data_array($area_id, true); foreach ($temp AS $k => $v) { try { $marker = $area_group->get_marker_data_array($v['id']); } catch (AreaGroupError $e) { $marker = array(); } if (!empty($marker) || !empty($v['spot_ids']) || !empty($v['hospital_ids'])) { if (array_key_exists($v['area_03_id'], $area_top)) { $v['link'] = sprintf('/%s/group.shtml?id=%d', $area_top[$v['area_03_id']], $v['id']); } else { $v['link'] = sprintf('/area/group/?id=%d', $v['id']); } $area_group_array[$k] = $v; } } } catch (AreaGroupError $e) { $area_group_array = array(); } } // 宇都宮フラグ1指定あり if (!empty($rq['F1'])) { $level = 3; $area_id = (int)$rq['F1']; $target = 'F1'; } // 宇都宮フラグ2指定あり if (!empty($rq['F2'])) { $level = 4; $area_id = (int)$rq['F2']; $target = 'F2'; } // 広告系パラメータ設定 if ($target == 'F2') { $the_area_flag_02_id = $rq['F2']; } elseif ($target == 'F1') { $the_area_flag_01_id = $rq['F1']; } elseif ($target == 'A3') { $the_area_03_id = $rq['A3']; } elseif ($target == 'A2') { $the_area_02_id = $rq['A2']; } } /* 表示エリアの設定 */ if ($err_str === "") { // ケース設定 $case1 = array('AREA', 'TOWN'); // エリア表示 / 市町村一覧 $case2 = array('TOWN', 'LOCAL'); // 市町村表示 / 町名一覧 $case3 = array('AREA', 'FLAG1'); // エリア表示 / フラグ1一覧 $case4 = array('TOWN', 'FLAG1'); // 市町村表示 / フラグ1一覧 $case5 = array('FLAG1', 'FLAG2'); // フラグ1表示 / フラグ2一覧 $case6 = array('FLAG1', 'LOCAL'); // フラグ1表示 / 町名一覧 $case7 = array('FLAG2', 'LOCAL'); // フラグ2表示 / 町名一覧 // 宇都宮エリア if ($level == 1 && $area_id == 1) { $case = $case3; } // 宇都宮市 elseif ($level == 2 && $area_id == 1) { $case = $case4; } // 中央エリア elseif ($level == 3 && $area_id == 1) { $case = $case5; } // 圏域 elseif ($level == 1) { $case = $case1; } // 市町村 elseif ($level == 2) { $case = $case2; } // フラグ1 elseif ($level == 3) { $case = $case6; } // フラグ2 elseif ($level == 4) { $case = $case7; } // 全て表示は町名一覧 if ($mode == 'ALL') $case[1] = 'LOCAL'; } // 表示エリア情報取得 if ($err_str === "") { try { switch ($case[0]) { case 'AREA': $area_data = $area->get_data('area_master_02_tbl', $area_id); $area1_data = $area->get_data('area_master_01_tbl', $area_data['parent_id']); $current_area_data['id'] = $area_data['id']; $current_area_data['name'] = $area_data['name']; $current_area_data['area_01_id'] = $area1_data['id']; $current_area_data['area_02_id'] = $area_data['id']; $current_area_data['area_02_name'] = $area_data['name']; $current_area_data['area_flag_02_name'] = ''; $current_area_data['g_latitude'] = $area_data['g_latitude']; $current_area_data['g_longitude'] = $area_data['g_longitude']; $current_area_data['g_scale'] = $area_data['g_scale']; $current_area_data['y_latitude'] = $area_data['y_latitude']; $current_area_data['y_longitude'] = $area_data['y_longitude']; $current_area_data['y_scale'] = $area_data['y_scale']; $area_level = "2"; $area_path = LOCOMILL_UPIMG_AREA_02_PATH; $url = sprintf('/area/list/index_medium.shtml?t=%s&id=%d', $target, $current_area_data['id']); $current_area_data['page_url'] = $url; $current_area_data['is_title_image'] = 0; $current_area_data['is_keyword'] = 0; break; case 'TOWN': $area_data = $area->get_data('area_master_03_tbl', $area_id); $area2_data = $area->get_data('area_master_02_tbl', $area_data['parent_id']); $area1_data = $area->get_data('area_master_01_tbl', $area2_data['parent_id']); $current_area_data['area_01_id'] = $area1_data['id']; $current_area_data['area_02_id'] = $area2_data['id']; $current_area_data['area_03_id'] = $area_data['id']; $current_area_data['area_02_name'] = $area2_data['name']; $current_area_data['area_flag_02_name'] = ''; $current_area_data['id'] = $area_data['id']; $current_area_data['name'] = $area_data['name']; $current_area_data['g_latitude'] = $area_data['g_latitude']; $current_area_data['g_longitude'] = $area_data['g_longitude']; $current_area_data['g_scale'] = $area_data['g_scale']; $current_area_data['y_latitude'] = $area_data['y_latitude']; $current_area_data['y_longitude'] = $area_data['y_longitude']; $current_area_data['y_scale'] = $area_data['y_scale']; $current_area_data['ranking'] = $area_data['ranking']; $current_area_data['love'] = $area_data['love']; for ($i = 1; $i <= 5; $i++) { $current_area_data[sprintf('like_%02d', $i)] = $area_data[sprintf('like_%02d', $i)]; $current_area_data[sprintf('pr_%02d', $i)] = $area_data[sprintf('pr_%02d', $i)]; } $area_level = "3"; $area_path = LOCOMILL_UPIMG_AREA_03_PATH; if (array_key_exists($current_area_data['id'], $area_top)) { $url = sprintf('/%s/', $area_top[$current_area_data['id']]); } else { $url = sprintf('/area/list/index_medium.shtml?t=%s&id=%d', $target, $current_area_data['id']); } $current_area_data['page_url'] = $url; $current_area_data['is_title_image'] = (file_exists('./images/title.png'))? 1: 0; $current_area_data['is_keyword'] = (file_exists(LOCOMILL_SMARTY_TEMPLATES_DIR . 'parts/area/' . $dir_name . '/keyword.tpl'))? 1: 0; // クチコミキャンペーン try { $temp = $kuchikomi_campaign->get_data_array(5, time(), $current_area_data); if (!empty($temp)) { foreach ($temp AS $v) { if (!empty($v['point_num'])) { $v['image_src'] = ''; $upimg_path = $kuchikomi_campaign->get_upimg_path(2); if ($locomill->user_agent['isSP'] && !empty($v['image_02']['up_name']) && file_exists($upimg_path . '/' . $v['image_02']['up_name'])) { $v['image_src'] = str_replace(UPIMG_BASE_PATH, '/img', $upimg_path . '/' . $v['image_02']['up_name']); } $upimg_path = $kuchikomi_campaign->get_upimg_path(1); if (empty($v['image_src']) && !empty($v['image_01']['up_name']) && file_exists($upimg_path . '/' . $v['image_01']['up_name'])) { $v['image_src'] = str_replace(UPIMG_BASE_PATH, '/img', $upimg_path . '/' . $v['image_01']['up_name']); } $kuchikomi_campaign_array[] = $v; } } } } catch (KuchikomiCampaignError $e) { $err_str .= $e->get_exception(); } break; case 'FLAG1': $area_data = $area->get_data('area_master_flag_01_tbl', $area_id); $area3_data = $area->get_data('area_master_03_tbl', 1); $area2_data = $area->get_data('area_master_02_tbl', $area3_data['parent_id']); $area1_data = $area->get_data('area_master_01_tbl', $area2_data['parent_id']); $current_area_data['area_01_id'] = $area1_data['id']; $current_area_data['area_02_id'] = $area2_data['id']; $current_area_data['area_03_id'] = $area3_data['id']; $current_area_data['area_flag_01_id'] = $area_data['id']; $current_area_data['area_02_name'] = $area2_data['name']; $current_area_data['area_flag_01_name'] = ''; $current_area_data['id'] = $area_data['id']; $current_area_data['name'] = $area3_data['name'] . ' ' . $area_data['name']; $current_area_data['g_latitude'] = $area_data['g_latitude']; $current_area_data['g_longitude'] = $area_data['g_longitude']; $current_area_data['g_scale'] = $area_data['g_scale']; $current_area_data['y_latitude'] = $area_data['y_latitude']; $current_area_data['y_longitude'] = $area_data['y_longitude']; $current_area_data['y_scale'] = $area_data['y_scale']; $area_level = "F1"; $area_path = LOCOMILL_UPIMG_AREA_FLAG_01_PATH; $url = sprintf('/area/list/index_medium.shtml?t=%s&id=%d', $target, $current_area_data['id']); $current_area_data['page_url'] = $url; $current_area_data['is_title_image'] = 0; $current_area_data['is_keyword'] = 0; break; case 'FLAG2': $area_data = $area->get_data('area_master_flag_02_tbl', $area_id); $area_f1_data = $area->get_data('area_master_flag_01_tbl', $area_data['parent_id']); $area3_data = $area->get_data('area_master_03_tbl', 1); $area2_data = $area->get_data('area_master_02_tbl', $area3_data['parent_id']); $area1_data = $area->get_data('area_master_01_tbl', $area2_data['parent_id']); $current_area_data['area_02_name'] = $area2_data['name']; $current_area_data['area_flag_01_name'] = ' ' . str_replace('エリア', '', $area_f1_data['name']); $current_area_data['area_01_id'] = $area1_data['id']; $current_area_data['area_02_id'] = $area2_data['id']; $current_area_data['area_03_id'] = $area3_data['id']; $current_area_data['area_flag_01_id'] = $area_f1_data['id']; $current_area_data['area_flag_02_id'] = $area_data['id']; $current_area_data['id'] = $area_data['id']; $current_area_data['name'] = $area3_data['name'] . ' ' . str_replace('エリア', '', $area_f1_data['name']) . ' ' . $area_data['name']; $current_area_data['g_latitude'] = $area_data['g_latitude']; $current_area_data['g_longitude'] = $area_data['g_longitude']; $current_area_data['g_scale'] = $area_data['g_scale']; $current_area_data['y_latitude'] = $area_data['y_latitude']; $current_area_data['y_longitude'] = $area_data['y_longitude']; $current_area_data['y_scale'] = $area_data['y_scale']; $area_level = "F2"; $area_path = LOCOMILL_UPIMG_AREA_FLAG_02_PATH; $url = sprintf('/area/list/index_medium.shtml?t=%s&id=%d', $target, $current_area_data['id']); $current_area_data['page_url'] = $url; $current_area_data['is_title_image'] = 0; $current_area_data['is_keyword'] = 0; break; default: $err_str .= "・エリア情報を取得できませんでした。
"; } } catch (AreaError $e) { $err_str .= "・エリア情報を取得できませんでした。
"; } if (empty($area_data) || $area_data['enable'] != 1) { ErrorRedirect(404); } // 不足データの補完 // 見出し if (!empty($area_data['rsv_txt_03'])) { $current_area_data['title'] = $area_data['rsv_txt_03']; $current_area_data['title'] .= " " . $area_data['name']; $current_area_data['area_name'] = $area_data['name']; } elseif (!empty($area_f2_data['rsv_txt_03'])) { $current_area_data['title'] = $area_f2_data['rsv_txt_03']; $current_area_data['title'] .= " " . $area_f2_data['name']; $current_area_data['area_name'] = $area_f2_data['name']; } elseif (!empty($area_f1_data['rsv_txt_03'])) { $current_area_data['title'] = $area_f1_data['rsv_txt_03']; $current_area_data['title'] .= " " . $area_f1_data['name']; $current_area_data['area_name'] = $area_f1_data['name']; } elseif (!empty($area3_data['rsv_txt_03'])) { $current_area_data['title'] = $area3_data['rsv_txt_03']; $current_area_data['title'] .= " " . $area3_data['name']; $current_area_data['area_name'] = $area3_data['name']; } elseif (!empty($area2_data['rsv_txt_03'])) { $current_area_data['title'] = $area2_data['rsv_txt_03']; $current_area_data['title'] .= " " . $area2_data['name']; $current_area_data['area_name'] = $area2_data['name']; } elseif (!empty($area1_data['rsv_txt_03'])) { $current_area_data['title'] = $area1_data['rsv_txt_03']; $current_area_data['title'] .= " " . $area1_data['name']; $current_area_data['area_name'] = $area1_data['name']; } // 説明文 if (!empty($area_data['area_data']['about'])) { $current_area_data['about'] = $area_data['area_data']['about']; } elseif (!empty($area_f1_data['area_data']['about'])) { $current_area_data['about'] = $area_f1_data['area_data']['about']; } elseif (!empty($area3_data['area_data']['about'])) { $current_area_data['about'] = $area3_data['area_data']['about']; } elseif (!empty($area2_data['area_data']['about'])) { $current_area_data['about'] = $area2_data['area_data']['about']; } elseif (!empty($area1_data['area_data']['about'])) { $current_area_data['about'] = $area1_data['area_data']['about']; } // タイトルイメージ if (!empty($area_data['area_data']['image01']['up_name'])) { $current_area_data['is_image_01'] = 1; $current_area_data['image_01_src'] = "/img" . $area_path . "/" . $area_data['area_data']['image01']['up_name']; } elseif (!empty($area_f1_data['area_data']['image01']['up_name'])) { $current_area_data['is_image_01'] = 1; $current_area_data['image_01_src'] = "/img" . LOCOMILL_UPIMG_AREA_FLAG_01_PATH . "/" . $area_f1_data['area_data']['image01']['up_name']; } elseif (!empty($area3_data['area_data']['image01']['up_name'])) { $current_area_data['is_image_01'] = 1; $current_area_data['image_01_src'] = "/img" . LOCOMILL_UPIMG_AREA_03_PATH . "/" . $area3_data['area_data']['image01']['up_name']; } elseif (!empty($area2_data['area_data']['image01']['up_name'])) { $current_area_data['is_image_01'] = 1; $current_area_data['image_01_src'] = "/img" . LOCOMILL_UPIMG_AREA_02_PATH . "/" . $area2_data['area_data']['image01']['up_name']; } elseif (!empty($area1_data['area_data']['image01']['up_name'])) { $current_area_data['is_image_01'] = 1; $current_area_data['image_01_src'] = "/img" . LOCOMILL_UPIMG_AREA_01_PATH . "/" . $area1_data['area_data']['image01']['up_name']; } // エリアイメージ1&エリアイメージ2 if (!empty($area_data['area_data']['image02']['up_name'])) { $current_area_data['is_image_02'] = 1; $current_area_data['image_02_src'] = "/img" . $area_path . "/" . $area_data['area_data']['image02']['up_name']; } elseif (!empty($area_f1_data['area_data']['image02']['up_name'])) { $current_area_data['is_image_02'] = 1; $current_area_data['image_02_src'] = "/img" . LOCOMILL_UPIMG_AREA_FLAG_01_PATH . "/" . $area_f1_data['area_data']['image02']['up_name']; } elseif (!empty($area3_data['area_data']['image02']['up_name'])) { $current_area_data['is_image_02'] = 1; $current_area_data['image_02_src'] = "/img" . LOCOMILL_UPIMG_AREA_03_PATH . "/" . $area3_data['area_data']['image02']['up_name']; } elseif (!empty($area2_data['area_data']['image02']['up_name'])) { $current_area_data['is_image_02'] = 1; $current_area_data['image_02_src'] = "/img" . LOCOMILL_UPIMG_AREA_02_PATH . "/" . $area2_data['area_data']['image02']['up_name']; } elseif (!empty($area1_data['area_data']['image02']['up_name'])) { $current_area_data['is_image_02'] = 1; $current_area_data['image_02_src'] = "/img" . LOCOMILL_UPIMG_AREA_01_PATH . "/" . $area1_data['area_data']['image02']['up_name']; } if (!empty($area_data['area_data']['image03']['up_name'])) { $current_area_data['is_image_03'] = 1; $current_area_data['image_03_src'] = "/img" . $area_path . "/" . $area_data['area_data']['image03']['up_name']; } elseif (!empty($area_f1_data['area_data']['image03']['up_name'])) { $current_area_data['is_image_03'] = 1; $current_area_data['image_03_src'] = "/img" . LOCOMILL_UPIMG_AREA_FLAG_01_PATH . "/" . $area_f1_data['area_data']['image03']['up_name']; } elseif (!empty($area3_data['area_data']['image03']['up_name'])) { $current_area_data['is_image_03'] = 1; $current_area_data['image_03_src'] = "/img" . LOCOMILL_UPIMG_AREA_03_PATH . "/" . $area3_data['area_data']['image03']['up_name']; } elseif (!empty($area2_data['area_data']['image03']['up_name'])) { $current_area_data['is_image_03'] = 1; $current_area_data['image_03_src'] = "/img" . LOCOMILL_UPIMG_AREA_02_PATH . "/" . $area2_data['area_data']['image03']['up_name']; } elseif (!empty($area1_data['area_data']['image03']['up_name'])) { $current_area_data['is_image_03'] = 1; $current_area_data['image_03_src'] = "/img" . LOCOMILL_UPIMG_AREA_01_PATH . "/" . $area1_data['area_data']['image03']['up_name']; } $current_area_data['area_top_image'] = array(); for ($i = 4; $i <= 7; $i++) { if (!empty($area_data['area_data'][sprintf('image%02d', $i)]['up_name'])) { $current_area_data['area_top_image'][] = array('src' => '/img' . $area_path . '/' . $area_data['area_data'][sprintf('image%02d', $i)]['up_name'], 'title' => $area_data['area_data'][sprintf('image%02d', $i)]['caption'], 'url' => $area_data['area_data'][sprintf('image%02d', $i)]['url']); } } // ホームページ(PC版) if (!empty($area_data['hp_pc'])) { $current_area_data['hp_pc'] = $area_data['hp_pc']; } elseif (!empty($area_f1_data['hp_pc'])) { $current_area_data['hp_pc'] = $area_f1_data['hp_pc']; } elseif (!empty($area3_data['hp_pc'])) { $current_area_data['hp_pc'] = $area3_data['hp_pc']; } elseif (!empty($area2_data['hp_pc'])) { $current_area_data['hp_pc'] = $area2_data['hp_pc']; } elseif (!empty($area1_data['hp_pc'])) { $current_area_data['hp_pc'] = $area1_data['hp_pc']; } } // エリア一覧 if ($err_str === "") { try { if ($current_area_data['area_02_id'] == 1) { if ($target == 'F2' || ($target == 'F1' && $current_area_data['id'] == 1)) { $area_03_array = $area->get_data_array('area_master_flag_02_tbl', true, $current_area_data['area_02_id']); $t = 'F2'; } else { $area_03_array = $area->get_data_array('area_master_flag_01_tbl', true, $current_area_data['area_02_id']); $t = 'F1'; } } else { $area_03_array = $area->get_data_array('area_master_03_tbl', true, $current_area_data['area_02_id']); $t = 'A3'; } foreach ($area_03_array AS $k2 => $v2) { if ($target == 'A2' || ($target == 'A3' && $current_area_data['id'] == 1) || $v2['id'] != $current_area_data['id']) { if ($t == 'A3' && array_key_exists($v2['id'], $area_top)) { $url = sprintf('/%s/', $area_top[$v2['id']]); } else { $url = sprintf('/area/list/index_medium.shtml?t=%s&id=%d', $t, $v2['id']); } } else { $url = '#'; } $area_array[$v2['id']] = array('NAME' => $v2['name'], 'URL' => $url, 'PARAM' => sprintf('t=%s&id=%d', $t, $v2['id'])); } } catch (AreaError $e) { $err_str .= $e->get_exception(); } } /* イベント取得取得 */ if ($err_str === "") { try { // 開催中 $temp = array(); $where = array(); $where['terminal'] = ($locomill->get_display_mode() == 'sp')? 3: 1; $where['type'] = array(2); $where['scene'][] = 3; switch ($target) { case 'F2': $where['F2'][] = $area_id; break; case 'F1': $where['F1'][] = $area_id; break; case 'A3': $where['A3'][] = $area_id; break; case 'A2': $where['A2'][] = $area_id; break; } $sql = $search->get_query($where, 0, 'D', 5); $result = $locomill->get_db4()->query($sql); if ($result !== false) { $item_num = $locomill->get_db4()->num($result); if ($item_num > 0) { while ($row = $locomill->get_db4()->fetch_array($result)) { $temp[$row['id']] = $search->get_data_by_id($row['id']); } } } else { $err_str .= "・データの参照に失敗しました。
" . mysqli_error($locomill->get_db4()->get_db_connect()); } if (!empty($temp)) { $event_array = $search->adjust($temp, $where['terminal']); } } catch (SearchError $e) { $err_str .= $e->get_exception(); } } /* 注目スポット取得 */ if ($err_str === "") { try { // 食べる $temp = array(); $where = array(); $where['terminal'] = ($locomill->get_display_mode() == 'sp')? 3: 1; $where['type'] = array(1, 3); $where['C1'][] = 1; switch ($target) { case 'F2': $where['F2'][] = $area_id; break; case 'F1': $where['F1'][] = $area_id; break; case 'A3': $where['A3'][] = $area_id; break; case 'A2': $where['A2'][] = $area_id; break; } $sql = $search->get_query($where, 3, 'D', 3); $result = $locomill->get_db4()->query($sql); if ($result !== false) { $item_num = $locomill->get_db4()->num($result); if ($item_num > 0) { while ($row = $locomill->get_db4()->fetch_array($result)) { $temp[$row['id']] = $search->get_data_by_id($row['id']); } } } else { $err_str .= "・データの参照に失敗しました。
" . mysqli_error($locomill->get_db4()->get_db_connect()); } if (!empty($temp)) { $spot_array[] = array('class' => 'ic-tn-food', 'name' => '食べる', 'where' => 'C1=1', 'spot' => $search->adjust($temp, $where['terminal'])); } // 観光 $temp = array(); $where = array(); $where['terminal'] = ($locomill->get_display_mode() == 'sp')? 3: 1; $where['type'] = array(1, 3); $where['C1'][] = 3; switch ($target) { case 'F2': $where['F2'][] = $area_id; break; case 'F1': $where['F1'][] = $area_id; break; case 'A3': $where['A3'][] = $area_id; break; case 'A2': $where['A2'][] = $area_id; break; } $sql = $search->get_query($where, 3, 'D', 3); $result = $locomill->get_db4()->query($sql); if ($result !== false) { $item_num = $locomill->get_db4()->num($result); if ($item_num > 0) { while ($row = $locomill->get_db4()->fetch_array($result)) { $temp[$row['id']] = $search->get_data_by_id($row['id']); } } } else { $err_str .= "・データの参照に失敗しました。
" . mysqli_error($locomill->get_db4()->get_db_connect()); } if (!empty($temp)) { $spot_array[] = array('class' => 'ic-tn-watch', 'name' => '観光', 'where' => 'C1=3', 'spot' => $search->adjust($temp, $where['terminal'])); } // 道の駅・温泉 $temp = array(); $where = array(); $where['terminal'] = ($locomill->get_display_mode() == 'sp')? 3: 1; $where['type'] = array(1, 3); $where['C2'] = array(26, 28); switch ($target) { case 'F2': $where['F2'][] = $area_id; break; case 'F1': $where['F1'][] = $area_id; break; case 'A3': $where['A3'][] = $area_id; break; case 'A2': $where['A2'][] = $area_id; break; } $sql = $search->get_query($where, 3, 'D', 3); $result = $locomill->get_db4()->query($sql); if ($result !== false) { $item_num = $locomill->get_db4()->num($result); if ($item_num > 0) { while ($row = $locomill->get_db4()->fetch_array($result)) { $temp[$row['id']] = $search->get_data_by_id($row['id']); } } } else { $err_str .= "・データの参照に失敗しました。
" . mysqli_error($locomill->get_db4()->get_db_connect()); } if (!empty($temp)) { $spot_array[] = array('class' => '', 'name' => '道の駅・温泉', 'where' => 'C2[]=26&C2[]=28', 'spot' => $search->adjust($temp, $where['terminal'])); } // 泊まる $temp = array(); $where = array(); $where['terminal'] = ($locomill->get_display_mode() == 'sp')? 3: 1; $where['type'] = array(1, 3); $where['C3'] = array(168, 169, 170, 171, 172, 173); switch ($target) { case 'F2': $where['F2'][] = $area_id; break; case 'F1': $where['F1'][] = $area_id; break; case 'A3': $where['A3'][] = $area_id; break; case 'A2': $where['A2'][] = $area_id; break; } $sql = $search->get_query($where, 3, 'D', 3); $result = $locomill->get_db4()->query($sql); if ($result !== false) { $item_num = $locomill->get_db4()->num($result); if ($item_num > 0) { while ($row = $locomill->get_db4()->fetch_array($result)) { $temp[$row['id']] = $search->get_data_by_id($row['id']); } } } else { $err_str .= "・データの参照に失敗しました。
" . mysqli_error($locomill->get_db4()->get_db_connect()); } if (!empty($temp)) { $spot_array[] = array('class' => 'ic-fa-bed', 'name' => '泊まる', 'where' => 'C3[]=168&C3[]=169&C3[]=170&C3[]=171&C3[]=172&C3[]=173', 'spot' => $search->adjust($temp, $where['terminal'])); } } catch (SearchError $e) { $err_str .= $e->get_exception(); } } /* クチコミデータ取得 */ if ($err_str === "") { if ($target == 'A3') { $sql = $kuchikomi->get_id_query(5, $area_id); $result = $locomill->get_db4()->query($sql); if ($result !== false) { $kuchikomi_num = $locomill->get_db4()->num($result); if ($kuchikomi_num > 0) { $count = 1; while ($row = $locomill->get_db4()->fetch_array($result)) { $kuchikomi_array[$row['id']] = $kuchikomi->adjust($row['id'], $login_user_id); $kuchikomi_array[$row['id']]['COMMENT'] = mb_strimwidth($kuchikomi_array[$row['id']]['COMMENT'], 0, 60, '…'); $count++; if (8 < $count) break; } } } else { $err_str .= "・データの参照に失敗しました。
" . mysqli_error($locomill->get_db4()->get_db_connect()); } } if ($kuchikomi_num < 8) { $cond = array('table' => 'new', 'limit' => (8 - $kuchikomi_num), 'target_type' => array(1, 2), $target => $area_id, 'parent_enable' => 2); $sql = $kuchikomi->get_id_query(0, 0, true, $cond); $result = $locomill->get_db4()->query($sql); if ($result !== false) { $kuchikomi_num_add = $locomill->get_db4()->num($result); if ($kuchikomi_num_add > 0) { while ($row = $locomill->get_db4()->fetch_array($result)) { $kuchikomi_array[$row['id']] = $kuchikomi->adjust($row['id'], $login_user_id); $kuchikomi_array[$row['id']]['COMMENT'] = mb_strimwidth($kuchikomi_array[$row['id']]['COMMENT'], 0, 60, '…'); } } } else { $err_str .= "・データの参照に失敗しました。
" . mysqli_error($locomill->get_db4()->get_db_connect()); } } } // 特集取得 if ($err_str === "" && $target == 'A3') { $_feature_array = array(); $wlist = array(); $wlist[] = sprintf('`area_03_id` = %d', $area_id); $wlist[] = '`enable` = 1'; $wlist[] = '`enable_pc` = 1'; $wlist[] = sprintf("('%s' BETWEEN `open_stamp` AND `close_stamp`)", date('Y-m-d H:i:s')); $wlist[] = sprintf('`feature_id` IN (SELECT `id` FROM `feature_tbl` WHERE %s)', implode(' AND ', $wlist)); $sql = sprintf('SELECT `id` FROM `feature_document_tbl` WHERE %s ORDER BY `open_stamp` DESC, `update_stamp` DESC', implode(' AND ', $wlist)); $result = $locomill->get_db4()->query($sql); if ($result !== false) { if (0 < $locomill->get_db4()->num($result)) { while ($row = $locomill->get_db4()->fetch_array($result)) { $_feature_array[] = $row; } } } else { $err_str .= '・データの参照に失敗しました。
' . mysqli_error($locomill->get_db4()->get_db_connect()); } if (!empty($_feature_array)) { foreach ($_feature_array AS $v) { try { $document_data = $feature->get_document($v['id']); $document_data = $feature->document_smarty_format($document_data); } catch (FeatureError $e) { continue; } try { $feature_data = $feature->get_data($document_data['feature_id']); $feature_data = $feature->feature_smarty_format($feature_data); } catch (FeatureError $e) { continue; } $temp = array(); $temp['id'] = $document_data['id']; $temp['title_01'] = strip_tags($document_data['title_01']); $temp['public_date'] = $document_data['public_date']; $temp['report_date'] = $document_data['report_date']; $temp['description'] = $document_data['description']; $temp['image_01_src'] = (!empty($document_data['image_01_src']))? $document_data['image_01_src']: $feature_data['image_17_src']; $temp['is_new'] = 0; if ($now - strtotime($document_data['public_date']) < (60 * 60 * 24)) { $temp['is_new'] = 1; } $temp['feature_id'] = $feature_data['id']; $temp['feature_title'] = strip_tags($feature_data['title_01']); $temp['type_id'] = $feature_data['type_id']; $feature_array[] = $temp; unset($document_data, $feature_data); } } unset($_feature_array); } $smarty->assign_ex("FEATURE_ARRAY", $feature_array); // セレクト取得 if ($err_str === "" && $target == 'A3') { $_entry_array = array(); $wlist = array(); $wlist[] = sprintf('`recommend_area_03_id` = %d', $area_id); $wlist[] = "`theme_key` != ''"; $wlist[] = '`enable` = 1'; $wlist[] = sprintf('(%d BETWEEN `start_stamp` AND `end_stamp`)', $now); $sql = sprintf('SELECT `id` FROM `entry_tbl` WHERE %s ORDER BY `update_stamp` DESC LIMIT 10', implode(' AND ', $wlist)); $result = $locomill->get_db4()->query($sql); if ($result !== false) { if (0 < $locomill->get_db4()->num($result)) { while ($row = $locomill->get_db4()->fetch_array($result)) { $_entry_array[] = $row; } } } else { $err_str .= '・データの参照に失敗しました。
' . mysqli_error($locomill->get_db4()->get_db_connect()); } if (!empty($_entry_array)) { $upimg_path_01 = $entry->get_upimg_path(); foreach ($_entry_array AS $v) { try { $entry_data = $entry->get_data($v['id']); } catch (EntryError $e) { continue; } $entry_data['update_date'] = date('Y/m/d', $entry_data['update_stamp']); if (!empty($entry_data['image_01']['up_name']) && file_exists($upimg_path_01 . '/' . $entry_data['image_01']['up_name'])) { $entry_data['image_01_src'] = '/img/entry/' . $entry_data['image_01']['up_name']; } else { $entry_data['image_01_src'] = ''; } $entry_data['is_new'] = $entry_data['is_up'] = 0; if ($now - $entry_data['start_stamp'] < (60 * 60 * 24)) { $entry_data['is_new'] = 1; } elseif ($now - $entry_data['update_stamp'] < (60 * 60 * 24)) { $entry_data['is_up'] = 1; } $entry_array[] = $entry_data; unset($entry_data); } } unset($_entry_array); } $smarty->assign_ex("ENTRY_ARRAY", $entry_array); /* 百様取得 */ $hyakusama_array = array(); if ($err_str === "") { if ($target == 'A3') { $hyakusama_path = '/area/common/images/100sama/'; $csv_file = WEB_ROOT_DIR . $hyakusama_path . 'hyakusama.csv'; if (file_exists($csv_file)) { $temp = $temp2 = array(); $data = file($csv_file); foreach ($data AS $v) { $v = explode(',', mb_convert_encoding($v, 'UTF-8', 'SJIS-win')); if (trim($v[2]) == trim($area_data['name'])) { $temp[$v[0]] = array('id' => $v[0], 'name' => $v[1], 'image' => $hyakusama_path . $v[3], 'url' => $v[4]); } elseif (trim($v[2]) == '-') { $temp2[$v[0]] = array('id' => $v[0], 'name' => $v[1], 'image' => $hyakusama_path . $v[3], 'url' => $v[4]); } } $count = count($temp); if ($count < 4) { shuffle($temp2); for ($i = 0; $i < (4 - $count); $i++) { $temp[] = $temp2[$i]; } } shuffle($temp); foreach ($temp AS $k => $v) { $hyakusama_array[$k] = $v; if (4 <= count($hyakusama_array)) break; } unset($temp, $temp2, $data, $count); } } } $smarty->assign("HYAKUSAMA_ARRAY", $hyakusama_array); $smarty->assign("HYAKUSAMA_LIMIT", mktime(0, 0, 0, 2, 1, 2017)); // 那須ファンクチコミ取得 if ($err_str === "" && $target == 'A3' && $area_id == 27) { $_nasu_kuchikomi_array = array(); $wlist = array(); $wlist2 = array(); $wlist2[] = '`enable` = 1'; $wlist2[] = '`nasu_flg` = 1'; $wlist[] = sprintf('`member_id` IN (SELECT `id` FROM `member_tbl` WHERE %s)', implode(' AND ', $wlist2)); $wlist2 = array(); $wlist2[] = '`area_03_id` = 27'; $wlist2[] = '`enable` = 1'; $wlist2[] = '`is_closed` != 1'; $wlist2[] = sprintf('(%d BETWEEN `start_stamp` AND `end_stamp`)', $now); $wlist[] = sprintf('`parent_id` IN (SELECT `id` FROM `spot_tbl` WHERE %s)', implode(' AND ', $wlist2)); $wlist[] = '`type` = 1'; $wlist[] = '`enable` = 1'; $wlist[] = '`is_dispose` = 2'; $wlist[] = sprintf('`display_stamp` <= %d', $now); $sql = sprintf('SELECT `id` FROM `kuchikomi_tbl` WHERE %s ORDER BY `display_stamp` DESC LIMIT 3', implode(' AND ', $wlist)); $result = $locomill->get_db4()->query($sql); if ($result !== false) { if (0 < $locomill->get_db4()->num($result)) { while ($row = $locomill->get_db4()->fetch_array($result)) { $_nasu_kuchikomi_array[] = $row; } } } else { $err_str .= '・データの参照に失敗しました。
' . mysqli_error($locomill->get_db4()->get_db_connect()); } if (!empty($_nasu_kuchikomi_array)) { foreach ($_nasu_kuchikomi_array AS $v) { try { $tmp = $kuchikomi->adjust($v['id'], $login_user_id, true); } catch (KuchikomiError $e) { continue; } $nasu_kuchikomi_array[] = $tmp; } } unset($_nasu_kuchikomi_array); } $smarty->assign_ex("NASU_KUCHIKOMI_ARRAY", $nasu_kuchikomi_array); /* 変数の準備 */ // 現在のエリア一覧 $smarty->assign("CURRENT_AREA_DATA", $current_area_data); // 現在のエリア階層 $smarty->assign("LEVEL_TARGET", $target); // エリアトップディレクトリ $smarty->assign("DIR", $dir_name); // エリア配列 $smarty->assign("AREA_ARRAY", $area_array); // エリアグループ配列 $smarty->assign("AREA_GROUP_ARRAY", $area_group_array); // スポット一覧 $smarty->assign("SPOT_ARRAY", $spot_array); // イベント一覧 $smarty->assign("EVENT_ARRAY", $event_array); // クチコミ一覧 $smarty->assign("KUCHIKOMI_NUM", $kuchikomi_num, 0); $smarty->assign("KUCHIKOMI_ARRAY", $kuchikomi_array); // クチコミキャンペーン $smarty->assign("KUCHIKOMI_CAMPAIGN_ARRAY", escapeHTML($kuchikomi_campaign_array)); // 全エリア配列 $smarty->assign("AREA_03_LIST", $area_03_list); // イマココ $imakoko = getTopicsPath('area'); if ($err_str === "") { $imakoko[] = array($current_area_data['page_url'], $current_area_data['name']); } $smarty->assign("IMAKOKO_ARRAY", $imakoko); // 最新情報 include('common/whatsnew.inc'); /* Newsクラスインスタンス生成 */ if ($err_str === "") { try { $news = new News($locomill->get_db4()); $temp = $news->get_latest_news(19, 6, 1, 0, $current_area_data['area_01_id'], $current_area_data['area_02_id'], $current_area_data['area_03_id']); $news_num = count($temp); foreach ($temp AS $k => $v) { try { $name = $area->get_name('area_master_03_tbl', $v['area_03_id']); } catch (AreaError $e) { $name = ''; } $v = $news->adjust($v); $v['TITLE'] .= (!empty($name))? '【' . $name . '】': ''; $news_array[$k] = $v; if (count($news_array) == 5) break; } } catch (NewsError $e) { $err_str .= $e->get_exception(); } } $smarty->assign("NEWS_NUM", $news_num); $smarty->assign("NEWS_ARRAY", $news_array); /* 広告系 */ $the_corner_id = 29; $adver_param = array("terminal_type" => 1, "corner_id" => $the_corner_id, "is_sp" => (($locomill->get_display_mode() == 'sp')? 1: 0), "area_02_id" => $the_area_02_id, "area_03_id" => $the_area_03_id, "area_flag_01_id" => $the_area_flag_01_id, "area_flag_02_id" => $the_area_flag_02_id); $adver_b_type = array(1, 6, 7); include('common/banners.inc'); // スライダ専用 $adver_param['corner_id'] = 48; try { $topics_02_out = $topics->get_topics_data($adver_param, 10, 1); $smarty->assign("TOPICS_02", $topics_02_out); $smarty->assign("TOPICS_02_NUM", count($topics_02_out)); } catch (TopicsError $e) { $err_str .= $e->get_exception(); } // エラー文字列 $smarty->assign("ERR_STR", $err_str); // Smarty Cache if ($err_str === "") { $smarty = getSmartyCache($smarty); } /* 出力 */ $smarty->display('area/list/index_medium.tpl', getSmartyCacheId(array($target, $area_id)));