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(); } } /* Partyクラスインスタンス生成 */ if ($err_str === "") { try { $party = new Party($locomill->get_db3()); } catch (PartyError $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 ($party->check_id($rq['id'])) { $party_id = $rq['id']; } else { $err_str .= "正しい手続きでアクセスしていません。
"; } $menu_no = (preg_match("/^[1-5]{1}$/", $rq['m']))? $rq['m']: 0; } /* 宴会データ取得 */ if ($err_str === "") { try { if ($preview != 1) { $party_data = $party->get_data($party_id, 1); } else { $party_data = $party->get_data_pre($party_id, 1); } $style_array = $party->get_style_array(); unset($style_array[1], $style_array[2], $style_array[3], $style_array[4], $style_array[21], $style_array[22], $style_array[23], $style_array[24]); if (!empty($party_data)) { // 内容 $spot_id = $party_data['spot_id']; $party_data['party_time_caption'] = $party_data['party_time_caption']; $party_data['shop_info'] = linkage_url($party_data['shop_info'], '_blank'); // 宴会タイム $party_data['party_start_time'] = substr($party_data['party_start_time'], 0, -3); $party_data['party_end_time'] = substr($party_data['party_end_time'], 0, -3); } else { $err_str .= '・宴会情報が見つかりませんでした。
'; } } catch (PartyError $e) { ErrorRedirect(404); } } /* スポットデータ取得 */ if ($err_str === "") { try { $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 = 'party'; include('common/spotmenu.inc'); // メニューが無効の場合 if ($preview != 1 && $is_party != 1) { $err_str .= '・ページを表示できません。
'; } } /* メニューデータ生成 */ if ($err_str === "") { if (empty($menu_no)) $menu_no = $party_data['menu_pickup']; $t = sprintf('menu_%02d', $menu_no); if ($preview == 1 || $party_data[$t . '_enable'] == 1) { $menu_data['menu_no'] = $i; $menu_data['unlimited'] = $party_data[$t . '_term_limit']; $menu_data['start'] = $party_data[$t . '_term_start']; $menu_data['end'] = $party_data[$t . '_term_end']; $menu_data['title'] = $party_data[$t . '_title']; $menu_data['price'] = $party_data[$t . '_price']; $menu_data['image_list'] = array(); for ($i = 1; $i <= 5; $i++) { $menu_data[sprintf('caption_%02d', $i)] = linkage_url($party_data[sprintf('%s_caption_%02d', $t, $i)], '_blank'); $temp = array(); $temp['image_caption'] = $party_data[sprintf('%s_image_caption_%02d', $t, $i)]; $upimg_path = $party->get_upimg_path(); if (!empty($party_data[sprintf('%s_image_%02d', $t, $i)]['up_name']) && file_exists($upimg_path . '/' . $party_data[sprintf('%s_image_%02d', $t, $i)]['up_name'])) { $temp['image_src'] = '/img' . LOCOMILL_UPIMG_PARTY_PATH . '/' . $party_data[sprintf('%s_image_%02d', $t, $i)]['up_name']; } elseif ($i == 1 && !empty($party_data[sprintf('%s_rsv_txt_01', $t)])) { $temp['image_src'] = '/old_images/' . $party_data[sprintf('%s_rsv_txt_01', $t)]; } else { $temp['image_src'] = ''; } $upimg_path_thum = $party->get_upimg_path('thum'); if (!empty($party_data[sprintf('%s_image_%02d', $t, $i)]['up_name']) && file_exists($upimg_path_thum . '/' . $party_data[sprintf('%s_image_%02d', $t, $i)]['up_name'])) { $temp['thumnail_src'] = '/img' . LOCOMILL_UPIMG_PARTY_PATH . '_thum/' . $party_data[sprintf('%s_image_%02d', $t, $i)]['up_name']; } else { $temp['thumnail_src'] = $temp['image_src']; } if (!empty($temp['image_src'])) { $menu_data['image_list'][] = $temp; } } $party_data['style'] = array(); if ($party_data[$t . '_party_style']) { foreach ($party_data[$t . '_party_style'] AS $k => $v) { if (isset($style_array[$v])) $party_data['style'][] = $style_array[$v]; } } if ($preview != 1 && ($now < $menu_data['start'] || $menu_data['end'] < $now)) { $err_str .= '・メニュー情報を取得できませんでした。
'; $menu_data = array(); } // メニュー一覧生成 for ($i = 1; $i <= 5; $i++) { $t = sprintf('menu_%02d', $i); if ($preview == 1 || $party_data[$t . '_enable'] == 1 && $party_data[$t . '_term_start'] <= $now && $now <= $party_data[$t . '_term_end']) { $temp = array(); $temp['title'] = $party_data[$t . '_title']; $temp['start'] = $party_data[$t . '_term_start']; $temp['end'] = $party_data[$t . '_term_end']; $temp['menu'] = $i; $menu_array[] = $temp; if ($i == $menu_no) $ind = count($menu_array) - 1; } } $menu_data['prev_menu'] = 0; $menu_data['next_menu'] = 0; if ($ind > 0 && isset($menu_array[$ind - 1])) $menu_data['prev_menu'] = $menu_array[$ind - 1]['menu']; if ($ind < 4 && isset($menu_array[$ind + 1])) $menu_data['next_menu'] = $menu_array[$ind + 1]['menu']; } else { $err_str .= '・メニュー情報を取得できませんでした。
'; } } /* Couponクラスインスタンス生成 */ if ($err_str === "") { try { $coupon = new Coupon($locomill->get_db3()); $coupon_array = $coupon->get_data_array(true, true, $spot_id, 0, 1); if (!empty($coupon_array)) { foreach ($coupon_array AS $k => $v) { if ($v['party_flg'] != 1) continue; $v['contents_01'] = str_replace("\n", "
", htmlspecialchars_textarea($v['contents_01'])); $v['notice_01'] = str_replace("\n", "
", htmlspecialchars_textarea($v['notice_01'])); $v['image_01'] = unserialize(stripslashes($v['image_01'])); $v['limit'] = (mktime(0, 0, 0, 12, 31, 2037) <= $v['c_end'])? "": date("Y年m月d日", $v['c_end']) . "まで"; $party_coupon_array[$k] = array('ID' => $v['id'], 'NAME' => $v['contents_01'], 'NOTICE' => $v['notice_01'], 'LIMIT' => $v['limit']); } } } catch (CouponError $e) { $err_str .= $e->get_exception(); } } /* 変数の準備 */ // ページタイプ $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); // 宴会情報 $smarty->assign("PARTY_ID", $party_id); $smarty->assign("PARTY_DATA", $party_data); // メニュー情報 $smarty->assign("MENU_ID", $menu_no); $smarty->assign("MENU_DATA", $menu_data); $smarty->assign("MENU_LIST", $menu_array); // クーポン情報 $smarty->assign_ex("PARTY_COUPON_NUM", count($party_coupon_array), ""); $smarty->assign_ex("PARTY_COUPON", $party_coupon_array, ""); // イマココ $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/party/home/?id=%d&m=%d', $party_id, $menu_no), '宴会マニア'); $imakoko[] = array(sprintf('/spot/party/home/?id=%d&m=%d', $party_id, $menu_no), htmlspecialchars($menu_data['title'])); } $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'], 'sub_id' => $menu_no, "page" => $_SERVER['PHP_SELF'], "title" => '宴会マニア情報:' . $menu_data['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, 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 = ''; } $smarty->assign("ADVER_01", $billboard_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($party_data['id'] . '-' . time())); } // Smarty Cache $cache_id = ''; if ($err_str === "" && $preview != 1) { $smarty = getSmartyCache($smarty); $cache_id = getSmartyCacheId(array_merge($party_data, $rq), array('id', 'update_stamp', 'isSP', 'm')); } /* 出 力 */ $smarty->display('spot/party/home/index.tpl', $cache_id);