connect('drive'); $PLG_AREA = new Area(); $PLG_AREA->setDb($DB); $PLG_CITY = new City(); $PLG_CITY->setDb($DB); $PLG_COMMON = new BaseCommon(); $PLG_REC = new Recommend; $PLG_REC->setDb($DB); $PLG_STATION = new Station(); $PLG_STATION->setDb($DB); $offset = $CON_PRM->get('offset'); $taste_fg = $CON_PRM->get('taste_fg'); $address = ""; //お店を探すメニューからのパラメータ $myarea = $CON_PRM->get('myarea');//登録地域のみ $radius = $CON_PRM->get('radius'); //探索範囲 //緯度・経度 $lat = ""; $lat = $CON_PRM->get('lat'); $lon = ""; $lon = $CON_PRM->get('lon'); $lat_d = ""; $lat_d = $CON_PRM->get('lat_d'); $lon_d = ""; $lon_d = $CON_PRM->get('lon_d'); $pos = $CON_PRM->get('pos'); $scl = $CON_PRM->get('scl'); if(!strlen($scl)){ $scl=3; } $prefecture = $CON_PRM->get('prefecture'); //都道府県 $city_code = $CON_PRM->get('city_code'); //市区町村 $AREACODE = ""; $AREACODE = $CON_PRM->get('AREACODE');//Docomoオープンエリアコード $geo = $CON_PRM->get('geo'); $limit = 8; // 表示件数 $count = 0; //表示件数 $total = 0; //条件に一致する件数 $sort = $CON_PRM->get('sort'); //sort : new / kuchikomi / distance / vote $img_exist = $CON_PRM->get('img_exist'); $map_fg = $CON_PRM->get('map_fg'); if(!$CON_PRM->get('sort')){ } //日時指定 if(isset($_REQUEST["dt"]) && $_REQUEST["dt"]!=""){ //dtの指定があれば、過去や未来の表示が出来る $_dt = $_REQUEST["dt"]; $now = substr($_dt, 0, 4)."-".substr($_dt, 4, 2)."-".substr($_dt, 6, 2)." ".substr($_dt, 8, 2).":".substr($_dt, 10, 2).":".substr($_dt, 12, 2); }else{ $now = date("Y-m-d H:i:s"); } $nowdate = substr($now,0,10); $nowtime = substr($now,11,5); $limit_sec = 4*7*24*60*60; //4週間を秒数で $limit_date = date("Y-m-d",(strtotime($now) - $limit_sec)); //地図用スケール $arrScale[0] = "50m "; $arrScale[1] = "100m "; $arrScale[2] = "200m "; $arrScale[3] = "400m "; $arrScale[4] = "800m "; $arrScale[5] = "1.6km "; $arrScale[6] = "3.2km "; $arrScale[7] = "6.4km "; /* * 緯度・経度計算(GPS機能か iエリアから来た場合) */ //GPS情報 $PLG_GPS = new gps(); $PLG_KTAI = new Ktai();//携帯DB用クラス if(((($lat && $lon) || $AREACODE) && !$lat_d && !$lon_d) || $pos) { // lat, lon取得処理→後で関数化 $gps_datas = array(); if($CON_CLIENT->carrier == "DOCOMO"){ if($PLG_KTAI->gps_support=='Y'){ $minor = 'GPS2'; }else{ $minor = "OPENIAREA"; } //echo $minor; if($AREACODE){ $data= array(); $data = GetCoordinatesArea($AREACODE); $gps_datas["iarea_lat_min"] = $data["lat_min"]/3600000; $gps_datas["iarea_lat_max"] = $data["lat_max"]/3600000; $gps_datas["iarea_lon_min"] = $data["lon_min"]/3600000; $gps_datas["iarea_lon_max"] = $data["lon_max"]/3600000; $data = GetAreaLocation($AREACODE); $gps_datas["iarea_lat"] = hyper_dms2deg($data["lat_d"]); $gps_datas["iarea_lon"] = hyper_dms2deg($data["lon_d"]); $lat_d = $gps_datas["iarea_lat"]; $lon_d = $gps_datas["iarea_lon"]; } else { // GPS 持ってるパラメータ:lat、lon、geo、x-acc $AREACODE = "GPS取得"; $gps_datas = $PLG_GPS->GetKtaiLocationData($CON_CLIENT->carrier,$lat,$lon,"DEGREE",$minor,$geo); //var_dump($gps_datas); $lat_d = $gps_datas["lat"]; $lon_d = $gps_datas["lon"]; } } else { if($PLG_KTAI->gps_support=='Y' || $PLG_KTAI->location_support=='Y'){ $minor = 'GPS2'; } $gps_datas = $PLG_GPS->GetKtaiLocationData($CON_CLIENT->carrier,$lat,$lon,"DEGREE",$minor,$geo); $lat_d = $gps_datas["lat"]; $lon_d = $gps_datas["lon"]; } } // Debugエディア(iエリア) if($CON_CLIENT->carrier == "OTHER" && !$prefecture){ $lat_d = 35.695311111111; $lon_d = 139.76367222222; } //オープンエリアかどうか $from_iarea = is_numeric($AREACODE); //ソートが指定されていない時 if(!$sort){ // if($lat_d && $lon_d && !$from_iarea){ if($lat_d && $lon_d){ //GPSから来た時は距離順 $sort = 'distance'; }else{ //それ以外は新着順 $sort = 'new'; } } $vote_params = array(); //引き継がれるパラメータ $add_url_params = array( "sort", "img_exist", "prefecture", "city_code", "lat_d", "lon_d", "radius", "AREACODE", "map_fg", "scl", ); for($i=0;$i'."\n"; } } //探索範囲 if(!isset($radius) || !$radius){ $radius = $df_radius_default; } //都道府県情報 $prefecture_list = $PLG_AREA->getPrefectureList(); //ユーザーに公開する条件 $where_open = " show_time <= ? and show_flg=?"; $param_open = array($now,1); //一覧表示用 $where = $where_open; $param = $param_open; $sql_col = "*"; //画像あり if(isset($img_exist) && $img_exist){ $where .= " and img_show_flg1=?"; $param[] = 1; } //都道府県検索 if(isset($prefecture) && $prefecture){ $where .= " and prefecture=?"; $param[] = $prefecture; } //市区町村検索 if(isset($city_code) && $city_code){ $where .= " and cid=?"; $param[] = $city_code; } //ソート設定 $orderby = ""; if($sort){ if($sort == "new"){ $orderby = 'update_time desc'; $sort_name = "新着順"; }elseif($sort == "distance"){ $orderby = 'distance'; $sort_name = "近い順"; } //2番目のソート 基本は更新時間、距離があるとは距離順 if($sort != "distance" && $lat_d && $lon_d){ $orderby .= ',distance'; }elseif($sort != "new"){ $orderby .= ',update_time desc'; } }else{ $orderby = 'update_time desc'; } $where_dist =""; //緯度・経度 if($lat_d && $lon_d){ list($lat2,$lat1,$lon2,$lon1) = LocationRenge($lat_d,$lon_d,$radius); $where_dist = " and latitude between $lat1 and $lat2 and longitude between $lon1 and $lon2"; $sql_col .= ",floor((6371.003685*acos(cos($lat_d*pi()/180)*cos($lon_d*pi()/180)*cos(latitude*pi()/180 )*"; $sql_col .= "cos(longitude*pi()/180)+cos($lat_d*pi()/180)*sin($lon_d*pi()/180)*cos(latitude*pi()/180)*"; $sql_col .= "sin(longitude*pi()/180)+sin($lat_d*pi()/180)*sin(latitude*pi()/180)))*1000) as distance "; if(!$sort){ $orderby = 'distance'; } } //Debug ob_start(); var_export($param); $vals_str = ob_get_contents(); ob_end_clean(); $CON_CONTENTS->SaveDebugString("[param]".$vals_str); $CON_CONTENTS->SaveDebugString("[where]".$where); $total = $PLG_Bar->count($where.$where_dist, $param); if(!$total && $lat_d && $lon_d){ //緯度経度検索で店舗がなければ探索範囲を広げる for($i=0;$i $radius){ $radius = $df_radius_list[$i]; list($lat2,$lat1,$lon2,$lon1) = LocationRenge($lat_d,$lon_d,$radius); $where_dist = " and latitude between $lat1 and $lat2 and longitude between $lon1 and $lon2"; $total = $PLG_Bar->count($where.$where_dist, $param); if($total){ break; } } } } //店舗名一覧取得 $list = $PLG_Bar->getList($sql_col, $where.$where_dist, $param, $orderby, $offset, $limit); $count = count($list); $total_show = number_format($total); $point_list = ""; for($i=0;$i 1000){ //km $list[$i]["distance_name"] = ((int)($list[$i]["distance"] * 0.01) * 0.1)."km"; }else{ //m $list[$i]["distance_name"] = $list[$i]["distance"]."m"; } } //地図表示用(緯度・経度) if($map_fg){ $point_list = sprintf("%01.8f", $list[$i]["latitude"]).",".sprintf("%01.5f", $list[$i]["longitude"]).",".($i+1).":".$point_list; } } //地図表示 $map_url = ""; if($lat_d && $lon_d && $map_fg){ $sx = $CON_CLIENT->width-20; // ディスプレイサイズ $sy = $CON_CLIENT->height-100; // ディスプレイサイズ //EZではimgタグに入れられる文字列に限界がある(緯度・経度6個までを確認)ので、緯度・経度一覧はセッションで保持 if($CON_CLIENT->getCarrier() == "EZWEB" || $CON_CLIENT->getCarrier() == "OTHER"){ $PLG_SESSION->regist(array("point_list" => $point_list)); $map_url = $CON_CONTENTS->getController()."jb=map-image&lat_d=".$lat_d."&lon_d=".$lon_d."&sx=".$sx."&sy=".$sy."&scl=".$scl."&point_ses_fg=1"; }else{ $map_url = $CON_CONTENTS->getController()."jb=map-image&point_list=".$point_list."&lat_d=".$lat_d."&lon_d=".$lon_d."&sx=".$sx."&sy=".$sy."&scl=".$scl; } $CON_CONTENTS->SaveDebugString("[Map]".$map_url); } //セッション削除 if(!$map_url){ $PLG_SESSION->delete("point_list"); } //TOPエリア名 if(isset($prefecture) && $prefecture){ $prefecture_name = $prefecture_list[$prefecture]; $area_name = $prefecture_name; $seo_title = $prefecture_name; }elseif(isset($list[0]["prefecture_name"]) && $list[0]["prefecture_name"]){ $prefecture = $list[0]["prefecture"]; $prefecture_name = $list[0]["prefecture_name"]; $area_name = $prefecture_name; $seo_title = $prefecture_name; }else{ $area_name = "全国"; $seo_title = "全国"; } //ページ表示設定 $PLG_LINK = new PageLink(); $PLG_LINK->offset = $offset; $PLG_LINK->limit = $limit; $PLG_LINK->datanum = $total; $PLG_LINK->setPageLinkNP(); $page_total = (int)(($PLG_LINK->datanum -1) / $PLG_LINK->limit) +1; $page_num = (int)($PLG_LINK->offset / $PLG_LINK->limit) +1; $page_line = $page_num."/".$page_total."ページ"; //エリア検索履歴 if(isset($prefecture) && $prefecture && (!isset($offset) || !$offset)){ $vals_areaword = array(); $vals_areaword["prefecture"] = $prefecture; $vals_areaword["prefecture_name"] = $prefecture_name; $vals_areaword["count"] = $total; $vals_areaword["uid"] = $CON_CLIENT->getUid(); $vals_areaword["regist_time"] = $now; // if(!$PLG_AREAHISTORY->checkExists($vals_areaword)){ // $PLG_AREAHISTORY->regist($vals_areaword); // } } /* * タイトルなどの設定(SEO対策) */ $seo_words =array(); $seo_words[] = $seo_title; $seo_words[] = $page_line; $PageHead->setTag4List($seo_words,1); // Recommend $position = 'search_1'; $rec_info_s = $PLG_REC->getRecommendNowAll($position); ob_start(); var_export($list); $vals_str = ob_get_contents(); ob_end_clean(); $CON_CONTENTS->SaveDebugString("[店舗件数]".$total); $CON_CONTENTS->SaveDebugString("[店舗情報]".$vals_str); include './jb/common/gps.model.inc';
XHTML版 HTML版 DebugString
ラブホ・クチコミ情報なら
ラブホナビ
サイトマップへ
全国
バー検索

Warning: Undefined variable $lat_d in /opt/loveho/web/jb/bar/list.view.inc on line 26

Warning: Undefined variable $area_name in /opt/loveho/web/jb/bar/list.view.inc on line 29
全域のバー一覧

Warning: Undefined variable $list in /opt/loveho/web/jb/bar/list.view.inc on line 31

Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in /opt/loveho/web/jb/bar/list.view.inc:31 Stack trace: #0 /opt/loveho/web/index.php(256): require_once() #1 {main} thrown in /opt/loveho/web/jb/bar/list.view.inc on line 31