ÿØÿà JFIF ` ` ÿþ
Server : Apache System : Linux ruga7-004.fmcity.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : tkt_travelbus ( 1137) PHP Version : 7.0.0p1 Disable Function : mysql_pconnect Directory : /tkt_travelbus/www/Lib/ |
Upload File : |
<? /****************************************************************************** * * 1. 여행상품 ,갤러리 , 여행지 , 호텔정보 * ******************************************************************************/ // 투어오피스 상품구분 // // 코드(code)에 중복이 있으면 안됨. function TO_good_module($type="common",$key="") { global $TO_CF , $cf; $module_arr = array( "tour" =>array("code"=>"P" ,"name"=>"Bus Tour" ,"name_en"=>"Bus Tour" ,"colnm"=>"DelFlagTour" ,"init"=>"good"), "daytour" =>array("code"=>"D" ,"name"=>"Day Tour" ,"name_en"=>"Day Tour" ,"colnm"=>"DelFlagDaytour" ,"init"=>"good"), "hotel" =>array("code"=>"L" ,"name"=>"Hotel" ,"name_en"=>"Hotel" ,"colnm"=>"DelFlagHotel" ,"init"=>"hotel"), "ticket" =>array("code"=>"T" ,"name"=>"Ticket Pass" ,"name_en"=>"Ticket Pass" ,"colnm"=>"DelFlagTicket" ,"init"=>"ticket"), "rentcar" =>array("code"=>"R" ,"name"=>"Rentcar" ,"name_en"=>"Rentcar" ,"colnm"=>"DelFlagRentcar" ,"init"=>"rentcar"), "pickup" =>array("code"=>"S" ,"name"=>"Pickup" ,"name_en"=>"Pickup" ,"colnm"=>"DelFlagPickup" ,"init"=>"good"), "air" =>array("code"=>"A" ,"name"=>"Air Ticket" ,"name_en"=>"Air Ticket" ,"colnm"=>"DelFlagAir" ,"init"=>"air"), "live" =>array("code"=>"V" ,"name"=>"Live Tour" ,"name_en"=>"Live Tour" ,"colnm"=>"DelFlagLive" ,"init"=>"live") ); $data = array(); switch($type) { case "good": if ($cf['tab']['P']=="Y") $data[] = $module_arr['tour']; if ($cf['tab']['D']=="Y") $data[] = $module_arr['daytour']; if ($cf['tab']['V']=="Y") $data[] = $module_arr['live']; if ($cf['tab']['T']=="Y") $data[] = $module_arr['ticket']; break; case "air": $data = $module_arr['air']; break; case "hotel": $data = $module_arr['hotel']; break; case "ticket": $data = $module_arr['ticket']; break; case "all": case "common": if ($cf['tab']['T']=="Y") $data[] = $module_arr['ticket']; if ($cf['tab']['D']=="Y") $data[] = $module_arr['daytour']; if ($cf['tab']['P']=="Y") $data[] = $module_arr['tour']; if ($cf['tab']['L']=="Y") $data[] = $module_arr['hotel']; if ($cf['tab']['S']=="Y") $data[] = $module_arr['pickup']; if ($cf['tab']['A']=="Y") $data[] = $module_arr['air']; if ($cf['tab']['R']=="Y") $data[] = $module_arr['rentcar']; if ($cf['tab']['V']=="Y") $data[] = $module_arr['live']; break; } // 해당 tab정보만 리턴 if ( $key ) { $arr = array(); foreach($data as $rows) { foreach($rows as $cols => $value) { if($value == $key) $arr = $rows; } } $data = $arr; } return $data; } // 상품정보 데이터를 일괄 정리후 배열로 반환 // // @param $row : 상품정보배열 or g_uid(상품 uid) // @param $title_len : 상품명 자를 길이 // @param $brief_len : 요약설명 자를 길이 // @return : 배열 function TO_get_good($row, $title_len=20, $brief_len=50) { global $cf, $b_uid, $m_uid, $s_uid, $d_uid; // 상품정보배열이 아닐 경우 상품 uid 넘어옴 if (!is_array($row)) { $sql = "select g.* ,(SELECT a1.b_name FROM bc a1 WHERE a1.b_uid = g.b_uid ) as 'b_name' ,(SELECT a2.m_name FROM mc a2 WHERE a2.m_uid = g.m_uid ) as 'm_name' ,(SELECT a3.s_name FROM sc a3 WHERE a3.s_uid = g.s_uid ) as 's_name' ,(SELECT count(a4.SiDX) FROM TB_Schedule a4 WHERE a4.g_uid = g.g_uid) as 'ScheduleCnt' ,(SELECT count(a5.Sidx) FROM TB_SelHotel a5 WHERE a5.g_uid = g.g_uid) as 'HotelCnt' ,(SELECT count(a6.Iidx) FROM TB_SelInfo a6 WHERE Tpe != 'TP03' AND a6.g_uid = g.g_uid) as 'InfoCnt' from good g WHERE g.g_uid = '" . $row . "'"; $row = db_fetch($sql); } // 배열전체를 복사 $list = $row; unset($row); $list = TO_stripslashes($list); // stripslashes 처리 // 상품 idx 설정 $g_uid = $list['g_uid']; // 상품 존재 체크 if (!$g_uid) { error_msg("상품이 존재하지 않거나 삭제되었습니다."); } // 카테고리명 설정 if (!$list['b_name']) { // 1차 카테고리명이 없을 경우 $sql = "select g_uid ,(SELECT a1.b_name FROM bc a1 WHERE a1.b_uid = g.b_uid ) as 'b_name' ,(SELECT a2.m_name FROM mc a2 WHERE a2.m_uid = g.m_uid ) as 'm_name' ,(SELECT a3.s_name FROM sc a3 WHERE a3.s_uid = g.s_uid ) as 's_name' ,(SELECT count(a4.SiDX) FROM TB_Schedule a4 WHERE a4.g_uid = g.g_uid) as 'ScheduleCnt' ,(SELECT count(a5.Sidx) FROM TB_SelHotel a5 WHERE a5.g_uid = g.g_uid) as 'HotelCnt' ,(SELECT count(a6.Iidx) FROM TB_SelInfo a6 WHERE Tpe != 'TP03' AND a6.g_uid = g.g_uid) as 'InfoCnt' from good g WHERE g.g_uid = '" . $g_uid . "'"; $row = db_fetch($sql); $row = TO_stripslashes($row); // stripslashes 처리 $list['b_name'] = $row['b_name']; // 1차 카테고리명 $list['m_name'] = $row['m_name']; // 2차 카테고리명 $list['s_name'] = $row['s_name']; // 3차 카테고리명 $list['ScheduleCnt'] = $row['ScheduleCnt']; // 일정표수 $list['HotelCnt'] = $row['HotelCnt']; // 선택호텔수 $list['InfoCnt'] = $row['InfoCnt']; // 지역정보 } // 상품타입 아이콘 설정 (20101022 ) $list['g_type_icon'] = ""; if ($list['g_type']) { $list['g_type_array'] = @explode(",", $list['g_type']); $CODE_GDP = TO_get_code("GDP"); // 상품타입 아이콘 기초코드 for ($s=0; $s<count($CODE_GDP); $s++) { if (in_array($CODE_GDP[$s][CdName], $list['g_type_array'])) { $list['g_type_icon'] .= "<img src='{$CODE_GDP[$s][CdImg]}' alt='{$CODE_GDP[$s][CdName]}' title='{$CODE_GDP[$s][CdName]}' border='0' align='absmiddle' /> "; } } } // 상품명 툴팁 설정 $list['g_title_tip'] = get_text(strip_tags($list['g_title'])); // 상품명 자르기 $list['g_title_s'] = $list['g_title']; // 전체 상품명 저장 $list['g_title'] = cut_str($list['g_title'], $title_len); // 요약설명 자르기 $list['g_brief'] = cut_str($list['g_brief'], $brief_len); // $list['g_brief'] = $list['g_brief']; // 상품링크 설정 $list['g_href'] = "../product/info_main.html?b_uid=" . (($b_uid) ? $b_uid : $list['b_uid']) . "&m_uid=" . (($m_uid) ? $m_uid : $list['m_uid']) . "&s_uid=" . $s_uid . "&g_uid=" . $list[g_uid]; $list['g_list_href'] = "../product/list.html?b_uid=" . (($b_uid) ? $b_uid : $list['b_uid']) . "&m_uid=" . (($m_uid) ? $m_uid : $list['m_uid']) . "&s_uid=" . $s_uid . "&g_uid=" . $list[g_uid]; $list['g_real_href'] = "../product/info_main.html?b_uid=" . $list['b_uid'] . "&m_uid=" . $list['m_uid'] . "&s_uid=" . $list['s_uid'] . "&g_uid=" . $list[g_uid]; if ($d_uid) $list['g_href'] .= "&d_uid=" . $d_uid; // 해당상품의 최소가격과 최대가격 가져옴 $p_sql = "select ifnull(MIN(d_money1), 0), ifnull(MAX(d_money1), 0), d_title, MIN(d_start) from `date` where g_uid = '" . $g_uid . "' and d_start > curdate() "; $p_rs = db_query($p_sql); $p_row = db_fetch_row($p_rs); $list['price_a_num'] = (int)$p_row[0]; // 최소가 $list['price_b_num'] = (int)$p_row[1]; // 최대가 $list['price_a'] = number_format($list['price_a_num']); $list['price_b'] = number_format($list['price_b_num']); $list['d_title'] = trim($p_row[2]); $list['d_start_first'] = trim($p_row[3]); // 최초 출발일 // 행사명이 없을 경우 상품명으로 대체 if (!trim($list['d_title'])) $list['d_title'] = $list['g_title_s']; // 가격 출력 설정 $list['price'] = ""; if (!$list['price_a'] || !$list['price_b']) { $list['price'] = _e("요금문의"); } else if ($list['price_a'] == $list['price_b']) { //$list['price'] = $list['price_a'] . "원"; $list['price'] = _eunit2($list['price_a']); } else { //$list['price'] = $list['price_a'] . "~" . $list['price_b']."원"; $list['price'] = _eunit2($list['price_a']) . "~" . _eunit2($list['price_b']); } // 계약금 설정 (결제할 금액의 반올림, 총금액의 10%) $list['PriceIN'] = ($list['price_a_num'] > 0) ? round($list['price_a_num'] * 0.1) : 0; // 상품 메인이미지 설정 if ($list['g_image1']) { $list['Img_Src'] = "/FileData/good_thum/" . $list['g_image1']; // 썸네일 $list['Img_SrcBig'] = "/FileData/good/" . $list['g_image1']; // 원본 } else { $list['Img_Src'] = $cf['TO_IMG']['no_image_m']; // 썸네일 $list['Img_SrcBig'] = $cf['TO_IMG']['no_image_l']; // 원본 } return $list; } // 오늘본 상품 저장 (쿠키) // // params @tab : 기능구분 // params @g_uid : 호텔(hseq),렌트카(carid),패키지(g_uid),현지투어(g_uid) // params @d_uid : 패키지,현지투어 필수 값 (TO_good_module()참고 ) function to_today_good($tab,$g_uid,$d_uid="") { global $cf; if (!$g_uid) return; // 오늘본 상품 쿠키값 가져옴 $ck_today_good = $_COOKIE['today_good']; $ck_today_good_array = array(); if ($ck_today_good) $ck_today_good_array = unserialize(stripslashes($ck_today_good)); $is_exist = false; if (count($ck_today_good_array)) { foreach ($ck_today_good_array as $key => $arr) { if ($arr[g_uid] == $g_uid) { $is_exist = true; break; } } } // 오늘본 상품 저장 if ($is_exist == false) { $today_value = array('tab' => $tab ,'g_uid' => $g_uid, 'd_uid' => $d_uid , 'url' => $cf[urlencode]); $ck_today_good_array[] = $today_value; } // 오늘본 상품 설정 갯수만큼 자르기 // /Lib/config.php 에서 설정 $ck_today_good_count = count($ck_today_good_array); if ($ck_today_good_count > $cf['today_good_count']) { array_splice($ck_today_good_array, 0, $ck_today_good_count - $cf['today_good_count']); } // 쿠키값 설정 $ck_today_good = serialize($ck_today_good_array); // 쿠키 저장 setcookie('today_good', $ck_today_good, 0, $cf['cookie_domain']); } // 오늘본 상품 총 페이지수 반환 // // @param $size : 가져올 갯수 // @return : 숫자 function TO_get_today_page($size=3) { global $cf; // 오늘본 상품 쿠키값 가져옴 $ck_today_good = $_COOKIE['today_good']; $ck_today_good_array = array(); if ($ck_today_good) { $ck_today_good_array = unserialize(stripslashes($ck_today_good)); } // 총 페이지 $total = count($ck_today_good_array); $total_page = ceil($total / $size) - 1; return $total_page; } // 오늘본 상품 총 갯수 function TO_get_today_total() { global $cf; // 오늘본 상품 쿠키값 가져옴 $ck_today_good = $_COOKIE['today_good']; $ck_today_good_tmp = array(); if ($ck_today_good) $ck_today_good_tmp = unserialize(stripslashes($ck_today_good)); // 오늘본 상품을 역순으로 정렬 // 최근에 본상품을 먼저 보여주기 위함 $ck_today_good_array = array_reverse($ck_today_good_tmp); // 상품정보 저장 $data = array(); //오늘본 총 상품 갯수표시 $data[total] = count($ck_today_good_tmp); return $data; } // 오늘본 상품 가져옴 // // @param $size : 가져올 갯수 // @param $page : 출력 페이지 // @return : 배열 function TO_get_today_good($size=3, $page=0) { global $cf; // 오늘본 상품 쿠키값 가져옴 $ck_today_good = $_COOKIE['today_good']; $ck_today_good_tmp = array(); if ($ck_today_good) $ck_today_good_tmp = unserialize(stripslashes($ck_today_good)); // 오늘본 상품을 역순으로 정렬 // 최근에 본상품을 먼저 보여주기 위함 $ck_today_good_array = array_reverse($ck_today_good_tmp); // 상품정보 저장 $data = array(); $max_limit = ($page + 1) * $size; //오늘본 최대 상품 갯수를 지정된 만큼 표시되도록 처리 if($max_limit > $cf['today_good_count']){ $max_limit = $cf['today_good_count']; } for ($i=($page * $size); $i < $max_limit; $i++) { $arr_t = $ck_today_good_array[$i]; $tab = $arr_t['tab']; $gid = $arr_t['g_uid']; if ($tab and $gid) { switch($tab) { // 패키지 or 데이투어 case ($tab=="D" or $tab=="P" or $tab=="T" or $tab=="PD"): $row = array(); $rows = good_list(" and g_uid='{$gid}' "); if (count($rows)>0) { $row['src_thum'] = $rows[0]['img_src2_thum']; $row['good_nm'] = $rows[0]['g_title']; //$row['price2'] = ($rows[0]['min_price']==0) ? $rows[0]['min_price']:number_format($rows[0]['min_price'])."원";; $row['price2'] = ($rows[0]['min_price']==0) ? $rows[0]['min_price']:_eunit($rows[0]['min_price']);; $row['g_href'] = urldecode($arr_t['url']); $data[] = $row; } break; // 호텔 숙박 case ($tab=="L"): $row = array(); $rows = hotel_list(" and hseq='{$gid}' "); if (count($rows)>0) { $row['src_thum'] = $rows[0]['img1_thum']; $row['good_nm'] = $rows[0]['hotel_nm']; //$row['price2'] = ($rows[0]['price_low']==0) ? 0:number_format($rows[0]['price_low'])."원"; $row['price2'] = ($rows[0]['price_low']==0) ? 0:_eunit($rows[0]['price_low']); $row['g_href'] = urldecode($arr_t['url']); $data[] = $row; } break; // 렌트카 case ($tab=="R"): $row = array(); $rows = to_rentcar(" and carid='{$gid}' "); if (count($rows)>0) { $row['src_thum'] = $rows[0]['img_thum']; $row['good_nm'] = $rows[0]['car_nm']; //$row['price2'] = ($rows[0]['price_low']==0) ? "문의":number_format($rows[0]['price_low'])."원"; $row['price2'] = ($rows[0]['price_low']==0) ? _e('문의'):_eunit($rows[0]['price_low']); $row['g_href'] = urldecode($arr_t['url']); $data[] = $row; } break; } } } return $data; } // 상품 전체 카테고리를 배열로 가져옴 // 카테고리 이미지 추가 (20101015 ) // // @return : 배열 function TO_get_category_array() { global $cf; // 상품 전체 카테고리를 가져옴 $sql = "SELECT a.b_uid, a.m_uid, b.s_uid, a.b_name, a.m_name, b.s_name, a.b_image, a.m_image, b.s_image FROM ( SELECT bc.b_uid, bc.b_name, bc.b_image, bc.b_no, mc.m_uid, mc.m_name, mc.m_image, mc.m_no FROM `bc` LEFT JOIN `mc` ON bc.b_uid = mc.b_uid WHERE bc.DelFlag = 'N' AND mc.DelFlag = 'N' ) a LEFT JOIN `sc` b ON a.b_uid = b.b_uid AND a.m_uid = b.m_uid AND b.DelFlag = 'N' ORDER BY a.b_no, a.b_uid, a.m_no, a.m_uid, b.s_no, b.s_uid "; $rs = db_query($sql); // 배열로 저장 $arr = array(); while ($row = db_fetch_array($rs)) { $row = TO_stripslashes($row); // stripslashes 처리 $arr[$row['b_uid']]['name'] = $row['b_name']; $arr[$row['b_uid']]['image'] = $row['b_image']; if ($row['m_uid']) { $arr[$row['b_uid']]['list'][$row['m_uid']]['name'] = $row['m_name']; $arr[$row['b_uid']]['list'][$row['m_uid']]['image'] = $row['m_image']; } if ($row['s_uid']) { $arr[$row['b_uid']]['list'][$row['m_uid']]['list'][$row['s_uid']] = $row['s_name']; } } return $arr; } /** * * @date 2022.10.28 * @author taeyoung * @param $g_uid * @return array|false|null */ function getGoodInfo($g_uid){ if(!$g_uid){ return false; } $sql = "SELECT * FROM good WHERE g_uid = {$g_uid}"; $data = db_fetch($sql); return $data; } // 해외패키지 기초상품 목록 // function good_list($sql_where="",$sql_order="",$olds=0,$line=0) { global $cf,$TO_CF,$TO_MB; // 대리점(2017-03-23.허종) if ($cf['MODE']=="user" and $TO_MB['mb_level']==$cf['agent_level']) $agent_id = $TO_MB['mb_id']; $class_v = new CommonTour(); $BD_SET = TO_get_board_setup('',$cf['grp']); $BD_CD_REV = $BD_SET[2][BD_CD]; // REVIEW BD_CD 언어별 후기게시판 $table = "good"; $upload = $cf['path']."/FileData/good/"; $upload_thumb = $cf['path']."/FileData/good_thum/"; $upload2 = "/FileData/good/"; $upload_thumb2 = "/FileData/good_thum/"; //$tour_join = _e("조인투어"); //$tour_one = _e("단독투어"); if(devCookie()){ $sql = "select * , (select b_name from bc where bc.b_uid=good.b_uid limit 1) as b_uid_nm , (select m_name from mc where mc.m_uid=good.m_uid limit 1) as m_uid_nm , if(gdt='gr','조인투어','단독투어') as gdt_nm from {$table} where 1 = 1 AND welfare IS NULL "; }else{ $sql = "select * , (select b_name from bc where bc.b_uid=good.b_uid limit 1) as b_uid_nm , (select m_name from mc where mc.m_uid=good.m_uid limit 1) as m_uid_nm , if(gdt='gr','조인투어','단독투어') as gdt_nm from {$table} where 1 = 1 AND welfare IS NULL "; } // 조건 if ( $sql_where ) $sql .= " ".$sql_where ; // 정렬 if ( $sql_order ) $sql .= " order by ".$sql_order; else $sql .= " order by g_no asc , g_regdate desc "; // 페이징 if ( $olds >= 0 and $line > 0 ) $sql .= " limit $olds , $line"; $data = array(); if(devCookie()){ // p($sql); // exit; } $rs = db_query($sql); $i=0; while($rows = db_fetch_array($rs)) { $data[$i] = $rows; // 이미지-관리자디렉토리위치 if ( is_file($upload.$rows['g_image1']) ) { $data[$i]['img_src'] = $upload2.$rows['g_image1']; $data[$i]['img_src_thum'] = $upload_thumb2.$rows['g_image1']; } else { $data[$i]['img_src'] = $cf['TO_IMG']['no_image_s']; $data[$i]['img_src_thum'] = $cf['TO_IMG']['no_image_s']; } // 이미지-사용자디렉토리위치 if ( $rows['g_image1'] ) { $data[$i]['img_src2'] = $upload2.$rows['g_image1']; $data[$i]['img_src2_thum'] = $upload_thumb2.$rows['g_image1']; } else { $data[$i]['img_src2'] = $cf['TO_IMG']['no_image_s']; $data[$i]['img_src2_thum'] = $cf['TO_IMG']['no_image_s']; } //상품명 $data[$i]['g_title'] = $rows[g_title]; //담당자 정보 $data[$i]['officer'] = to_get_officer($rows[admin_id]); //공급처 아이디 $data[$i]['producer_id'] = $rows[producer_id]; // 추천 기초코드 이미지 매칭 $cdimg = ""; $cdnm = ""; if($cf['MODE']=='admin') { $rowb = db_fetch_array(db_query("select b_lang from bc where b_uid='$rows[b_uid]'")); // 상품특징아이콘 if($rowb['b_lang']=='ko' || $rowb['b_lang']=='ag') $icon_code = "TSPE"; elseif($rowb['b_lang']=='en') $icon_code = "TSIE"; elseif($rowb['b_lang']=='cn') $icon_code = "TSIC"; elseif($rowb['b_lang']=='hk') $icon_code = "TSIH"; $data[$i]['lang'] = $rowb['b_lang']; } else { // 상품특징아이콘 if($cf['lang']=='ko' || $cf['lang']=='ag') $icon_code = "TSPE"; elseif($cf['lang']=='en') $icon_code = "TSIE"; elseif($cf['lang']=='cn') $icon_code = "TSIC"; elseif($cf['lang']=='hk') $icon_code = "TSIH"; } $code_arr = base_codec("TGO",$icon_code,"","N"); $g_type_arr = explode(",",$rows['g_type']); for( $j=0 ; $j<count($g_type_arr) ; $j++) { if($g_type_arr[$j]) { $str = ""; for( $k=0 ; $k<count($code_arr) ;$k++){ if ( $code_arr[$k]['code']==$g_type_arr[$j] ) { if($cf['is_mobile'] == true && $code_arr[$k]['cd_memo']) { $cdimg .= "<img src='".$code_arr[$k]['cd_memo']."' title='".$code_arr[$k]['cd_nm']."' border='0' align='adsmiddle'> "; } else { $cdimg .= "<img src='".$code_arr[$k]['cd_img']."' title='".$code_arr[$k]['cd_nm']."' border='0' align='adsmiddle'> "; } $cdnm .= "<span>" . $code_arr[$k]['cd_nm'] . "</span>"; } } } } $data[$i]['special_icon'] = $cdimg; $data[$i]['special_nm'] = $cdnm; $data[$i]['g_type'] = $rows['g_type']; $apiimg = ""; if($rows['g_api']){ $g_api_arr = explode(",",$rows['g_api']); foreach($g_api_arr as $k => $v){ $apiimg .= "<img src='/admin/image/partner/".strtolower($v).".png' border='0' align='adsmiddle' title='API연동 : ".$v."'> "; } $data[$i]['api_icon'] = $apiimg; } // 등록일,수정일 $data[$i]['g_regdate2'] = str_replace("-",".",$rows['g_regdate']); $data[$i]['g_regdate3'] = substr(str_replace("-",".",$rows['g_regdate']),0,10); $data[$i]['g_moddate2'] = str_replace("-",".",$rows['g_moddate']); $data[$i]['g_moddate3'] = substr(str_replace("-",".",$rows['g_moddate']),0,10); // 지역 if ($rows['Cidx']) { $tmp_arr = to_area_c($rows['Aidx'],$rows['Bidx'],$rows['Cidx']); $area_arr = $tmp_arr[0]; $data[$i]['area'] = $area_arr['NationName']." > ".$area_arr['CityName']; } // 전시 if ($rows['g_ok']=="Y"){ $data[$i]['g_ok_opp'] = "N"; $data[$i]['use_img'] = $cf['icon']['start']; }else{ $data[$i]['g_ok_opp'] = "Y"; $data[$i]['use_img'] = $cf['icon']['stop']; } // 대표가(최저가 , 최고가) /* $sql = "select min(d_money1) as min_price,max(d_money1) as max_price, min(d_money4) as min_price_sell from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y') AND d_money1 >0 group by g_uid "; */ /* $sql = "select min(d_money1) as min_price,max(d_money1) as max_price, min(d_money4) as min_price_sell from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y' order by dtid) AND d_money1 >=0 group by g_uid "; */ // 220112 상품 목록에 표기 (대인+소인 중 최소값) $sql = "select MIN(NULLIF(d_money1, 0)) as min_price1, MIN(NULLIF(d_money2, 0)) as min_price2, max(d_money1) as max_price, min(d_money4) as min_price_sell from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y' order by dtid) AND d_money1 >=0 group by g_uid "; $arr_t = db_fetch($sql); //2019-10-18 원화를 각 통화금액으로 변환 if($cf['curunit'] == 'KRW') { $data[$i]['min_price_sell'] = $arr_t['min_price_sell']; } else { $data[$i]['min_price_sell'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_t['min_price_sell'])); } //00명의 선택 if($cf['MODE']=='admin') { $data[$i]['g_select_num'] = $rows['g_select_num']; } else { $data[$i]['g_select_num'] = number_format($rows['g_select_num']); } //후기카운트, 별점 가져오기 if($BD_CD_REV) { $sql_where = " where MSEQ > 0 "; $sql_where .= " and b_uid='{$rows[b_uid]}' and m_uid='{$rows[m_uid]}' and s_uid='{$rows[s_uid]}' and g_uid='{$rows[g_uid]}' "; // 리스트 수 가져옴 $sql = "select count(*) as total, ROUND(AVG(star_rating),1) as starAVG from {$BD_CD_REV} $sql_where"; $r3 = db_fetch($sql); $data[$i]['review_total'] = $r3[total]; //후기카운트 $data[$i]['star_avg'] = $r3[starAVG]; //별점 평균 if(!$data[$i]['star_avg']) $data[$i]['star_avg'] = '5.0'; } // 대리점 가격 if($agent_id) { $sql = "select d_agent_ga from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y' order by dtid) AND d_agent_ga!='' group by g_uid "; $arr_t = db_fetch($sql); $agent_ga_arr = explode("||",$arr_t['d_agent_ga']); if(is_array($agent_ga_arr)) { foreach($agent_ga_arr as $v){ $agent_arr = explode("^",$v); if($agent_arr[0]==$agent_id) { //$agent_arr[0] agent id //$agent_arr[1] adult_price //$agent_arr[2] child_price //$agent_arr[3] baby_price //$agent_arr[4] infant_price //$agent_arr[5] 할인율 $arr_t['agent_price_sell'] = (int)$agent_arr[1]; } } } $arr_t['min_price'] = $arr_t['agent_price_sell']; $arr_t['max_price'] = $arr_t['agent_price_sell']; } //end $agent_id // 220112 대인 + 소인 중 최소값 (0 제외) if($arr_t['min_price2'] > 0) { $min_price = $arr_t['min_price2']; } else if($arr_t['min_price1'] > 0) { $min_price = $arr_t['min_price1']; } else { $min_price = 0; // 요금문의 } //2019-10-18 가격 -> 각 통화가격변환 if($cf['curunit'] == 'KRW') { $data[$i]['min_price'] = $min_price; $data[$i]['max_price'] = $arr_t['max_price']; } else { $data[$i]['min_price'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$min_price)); $data[$i]['max_price'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_t['max_price'])); } // 외환사용 /* if($data[$i]['exchange_fg']=="Y") { $data[$i]['min_price'] = $class_v -> exchangeMoney(array("exid"=>$data[$i]['exid'],"money"=>$arr_t['min_price'])); $data[$i]['max_price'] = $class_v -> exchangeMoney(array("exid"=>$data[$i]['exid'],"money"=>$arr_t['max_price'])); }else{ $data[$i]['min_price'] = $arr_t['min_price']; $data[$i]['max_price'] = $arr_t['max_price']; } */ $data[$i]['main_to_max_price'] = "<span class='txt_price'>"._e("요금문의")."</span>"; $data[$i]['main_to_max_price2'] = "<span class='txt_price'>"._e("요금문의")."</span>"; if( $data[$i]['min_price'] > 0 ) { $data[$i]['main_to_max_price'] = _eunit($data[$i]['min_price']) . " ~ " . _eunit($data[$i]['max_price']); $data[$i]['main_to_max_price2'] = _eunit($data[$i]['min_price']); } // 대표 박수 $sql = "select if((periodStr=0 or periodStr is null) and Period=1,'"._e('당일')."',concat(periodStr,'"._e('박')."',Period,'"._e('일')."')) period_date "; $sql .= " FROM date WHERE d_start>=CURDATE() AND g_uid='{$rows[g_uid]}' "; $sql .= "group by periodStr,Period "; $arr_t = db_fetch($sql); $data[$i]['period_date'] = $arr_t['period_date']; // 담당자사진 $data[$i]['admin_img'] = "/FileData/logo/logo_small.png"; if ( $data[$i]['admin_id'] ) { $admin_arr = get_member($data[$i][admin_id]); if ( $admin_arr['emp_img'] ) $data[$i]['admin_img'] = "../FileData/emp/".$admin_arr['emp_img']; $data[$i]['admin_tel'] = ($admin_arr['mb_tel']) ? $admin_arr['mb_tel']:$TO_CF['shop_tel']; $data[$i]['admin_email'] = ($admin_arr['mb_email']) ? $admin_arr['mb_email']:$TO_CF['shop_email']; } // 링크 if($data[$i]['tab']=="V") { $data[$i]['d_href'] = "live_view.html?b_uid_s=" . $rows['b_uid'] . "&m_uid_s=" . $rows['m_uid'] . "&s_uid_s=" . $rows['s_uid'] . "&g_uid=" . $rows[g_uid]; } else { $data[$i]['d_href'] = "info_main.html?b_uid_s=" . $rows['b_uid'] . "&m_uid_s=" . $rows['m_uid'] . "&s_uid_s=" . $rows['s_uid'] . "&g_uid=" . $rows[g_uid]; } // 최근행사 $sql="SELECT d_uid FROM `date` WHERE g_uid='{$rows[g_uid]}' and d_start=(SELECT MIN(d_start) FROM `date` WHERE g_uid='{$rows[g_uid]}' AND d_start > CURDATE() and d_ok<>'C' ) and dtid in (select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and disp_yn='Y' and del_flag='N' ) order by d_uid "; $row_date = db_fetch($sql); $d_uid = $row_date['d_uid']; // 티켓/패스(2016-12-27.허종) if($data[$i]['tab']=="T") { //$data[$i]['유효기간'] = $data[$i]['movie_i']; //$data[$i]['취소수수료'] = $data[$i]['g_brief']; //$data[$i]['연속사용교환여부'] = $data[$i]['g_ready']; // v $data[$i]['주의사항'] = $data[$i]['g_cautions']; // v $data[$i]['이용안내'] = $data[$i]['g_inclusion']; //$data[$i]['이용규칙'] = $data[$i]['g_noinclusion']; $data[$i]['환불안내'] = $data[$i]['g_rule']; // v //$data[$i]['주문안내'] = $data[$i]['g_heed']; } $i++; } return $data; } function good_list_admin($sql_where="",$sql_order="",$olds=0,$line=0,$lang) { global $cf,$TO_CF,$TO_MB; $lang = substr($lang, 0, 2); // 대리점(2017-03-23.허종) if ($cf['MODE']=="user" and $TO_MB['mb_level']==$cf['agent_level']) $agent_id = $TO_MB['mb_id']; $class_v = new CommonTour(); $BD_SET = TO_get_board_setup('',$cf['grp']); $BD_CD_REV = $BD_SET[2][BD_CD]; // REVIEW BD_CD 언어별 후기게시판 $table = "good"; $upload = $cf['path']."/FileData/good/"; $upload_thumb = $cf['path']."/FileData/good_thum/"; $upload2 = "/FileData/good/"; $upload_thumb2 = "/FileData/good_thum/"; //$tour_join = _e("조인투어"); //$tour_one = _e("단독투어"); $sql = "select good.* , (select b_name from bc where bc.b_uid=good.b_uid limit 1) as b_uid_nm , (select m_name from mc where mc.m_uid=good.m_uid limit 1) as m_uid_nm , if(gdt='gr','조인투어','단독투어') as gdt_nm from {$table} as good LEFT JOIN bc as b on (b.b_uid=good.b_uid) where 1 = 1 and b.b_lang='{$lang}'"; // 조건 if ( $sql_where ) $sql .= " ".$sql_where ; // 정렬 if ( $sql_order ) $sql .= " order by ".$sql_order; else $sql .= " order by g_no asc , g_regdate desc "; // 페이징 if ( $olds >= 0 and $line > 0 ) $sql .= " limit $olds , $line"; $data = array(); $rs = db_query($sql); $i=0; while($rows = db_fetch_array($rs)) { $data[$i] = $rows; // 이미지-관리자디렉토리위치 if ( is_file($upload.$rows['g_image1']) ) { $data[$i]['img_src'] = $upload2.$rows['g_image1']; $data[$i]['img_src_thum'] = $upload_thumb2.$rows['g_image1']; } else { $data[$i]['img_src'] = $cf['TO_IMG']['no_image_s']; $data[$i]['img_src_thum'] = $cf['TO_IMG']['no_image_s']; } // 이미지-사용자디렉토리위치 if ( $rows['g_image1'] ) { $data[$i]['img_src2'] = $upload2.$rows['g_image1']; $data[$i]['img_src2_thum'] = $upload_thumb2.$rows['g_image1']; } else { $data[$i]['img_src2'] = $cf['TO_IMG']['no_image_s']; $data[$i]['img_src2_thum'] = $cf['TO_IMG']['no_image_s']; } //상품명 $data[$i]['g_title'] = $rows[g_title]; //담당자 정보 $data[$i]['officer'] = to_get_officer($rows[admin_id]); //공급처 아이디 $data[$i]['producer_id'] = $rows[producer_id]; // 추천 기초코드 이미지 매칭 $cdimg = ""; $cdnm = ""; $g_type_arr = explode(",",$rows['g_type']); if($cf['MODE']=='admin') { $rowb = db_fetch_array(db_query("select b_lang from bc where b_uid='$rows[b_uid]'")); // 상품특징아이콘 if($rowb['b_lang']=='ko' || $rowb['b_lang']=='ag') $icon_code = "TSPE"; elseif($rowb['b_lang']=='en') $icon_code = "TSIE"; elseif($rowb['b_lang']=='cn') $icon_code = "TSIC"; elseif($rowb['b_lang']=='hk') $icon_code = "TSIH"; $data[$i]['lang'] = $rowb['b_lang']; } else { // 상품특징아이콘 if($cf['lang']=='ko' || $cf['lang']=='ag') $icon_code = "TSPE"; elseif($cf['lang']=='en') $icon_code = "TSIE"; elseif($cf['lang']=='cn') $icon_code = "TSIC"; elseif($cf['lang']=='hk') $icon_code = "TSIH"; } $code_arr = base_codec("TGO",$icon_code,"","N"); for( $j=0 ; $j<count($g_type_arr) ; $j++) { if($g_type_arr[$j]) { $str = ""; for( $k=0 ; $k<count($code_arr) ;$k++){ if ( $code_arr[$k]['code']==$g_type_arr[$j] ) { $cdimg .= "<img src='".$code_arr[$k]['cd_img']."' title='".$code_arr[$k]['cd_nm']."' border='0' align='adsmiddle'> "; $cdnm .= "<span>" . $code_arr[$k]['cd_nm'] . "</span>"; } } } } $data[$i]['special_icon'] = $cdimg; $data[$i]['special_nm'] = $cdnm; $data[$i]['g_type'] = $rows['g_type']; // 등록일,수정일 $data[$i]['g_regdate2'] = str_replace("-",".",$rows['g_regdate']); $data[$i]['g_regdate3'] = substr(str_replace("-",".",$rows['g_regdate']),0,10); $data[$i]['g_moddate2'] = str_replace("-",".",$rows['g_moddate']); $data[$i]['g_moddate3'] = substr(str_replace("-",".",$rows['g_moddate']),0,10); // 지역 if ($rows['Cidx']) { $tmp_arr = to_area_c($rows['Aidx'],$rows['Bidx'],$rows['Cidx']); $area_arr = $tmp_arr[0]; $data[$i]['area'] = $area_arr['NationName']." > ".$area_arr['CityName']; } // 전시 if ($rows['g_ok']=="Y"){ $data[$i]['g_ok_opp'] = "N"; $data[$i]['use_img'] = $cf['icon']['start']; }else{ $data[$i]['g_ok_opp'] = "Y"; $data[$i]['use_img'] = $cf['icon']['stop']; } // 대표가(최저가 , 최고가) /* $sql = "select min(d_money1) as min_price,max(d_money1) as max_price, min(d_money4) as min_price_sell from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y') AND d_money1 >0 group by g_uid "; */ $sql = "select min(d_money1) as min_price,max(d_money1) as max_price, max(d_money4) as min_price_sell from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y') AND d_money1 >=0 group by g_uid "; $arr_t = db_fetch($sql); $data[$i]['min_price_sell'] = $arr_t['min_price_sell']; //00명의 선택 if($cf['MODE']=='admin') { $data[$i]['g_select_num'] = $rows['g_select_num']; } else { $data[$i]['g_select_num'] = number_format($rows['g_select_num']); } //후기카운트, 별점 가져오기 if($BD_CD_REV) { $sql_where = " where MSEQ > 0 "; $sql_where .= " and b_uid='{$rows[b_uid]}' and m_uid='{$rows[m_uid]}' and s_uid='{$rows[s_uid]}' and g_uid='{$rows[g_uid]}' "; // 리스트 수 가져옴 $sql = "select count(*) as total, ROUND(AVG(star_rating),1) as starAVG from {$BD_CD_REV} $sql_where"; $r3 = db_fetch($sql); $data[$i]['review_total'] = $r3[total]; //후기카운트 $data[$i]['star_avg'] = $r3[starAVG]; //별점 평균 if(!$data[$i]['star_avg']) $data[$i]['star_avg'] = '5'; } // 대리점 가격 if($agent_id) { $sql = "select d_agent_ga from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y') AND d_agent_ga!='' group by g_uid "; $arr_t = db_fetch($sql); $agent_ga_arr = explode("||",$arr_t['d_agent_ga']); if(is_array($agent_ga_arr)) { foreach($agent_ga_arr as $v){ $agent_arr = explode("^",$v); if($agent_arr[0]==$agent_id) { //$agent_arr[0] agent id //$agent_arr[1] adult_price //$agent_arr[2] child_price //$agent_arr[3] baby_price //$agent_arr[4] infant_price //$agent_arr[5] 할인율 //$agent_arr[5] // A정액제 , B정율제 $arr_t['agent_price_sell'] = (int)$agent_arr[1]; } } } $arr_t['min_price'] = $arr_t['agent_price_sell']; $arr_t['max_price'] = $arr_t['agent_price_sell']; } //end $agent_id //2019-10-18 가격 -> 각 통화가격변환 //$data[$i]['min_price'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_t['min_price'])); //$data[$i]['max_price'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_t['max_price'])); // 외환사용 /* if($data[$i]['exchange_fg']=="Y") { $data[$i]['min_price'] = $class_v -> exchangeMoney(array("exid"=>$data[$i]['exid'],"money"=>$arr_t['min_price'])); $data[$i]['max_price'] = $class_v -> exchangeMoney(array("exid"=>$data[$i]['exid'],"money"=>$arr_t['max_price'])); }else{ $data[$i]['min_price'] = $arr_t['min_price']; $data[$i]['max_price'] = $arr_t['max_price']; } */ $data[$i]['main_to_max_price'] = "<span class='txt_price'>"._e("요금문의")."</span>"; $data[$i]['main_to_max_price2'] = "<span class='txt_price'>"._e("요금문의")."</span>"; //if( $arr_t['min_price'] and $arr_t['max_price'] ) if( $data[$i]['min_price'] > 0 ) { $data[$i]['main_to_max_price'] = _eunit($data[$i]['min_price']) . " ~ " . _eunit($data[$i]['max_price']); $data[$i]['main_to_max_price2'] = _eunit($data[$i]['min_price']); } // 대표 박수 //$sql = "select if((periodStr=0 or periodStr is null) and Period=1,'당일',concat(periodStr,'박',Period,'일')) period_date "; $sql = "select if((periodStr=0 or periodStr is null) and Period=1,'"._e('당일')."',concat(periodStr,'"._e('박')."',Period,'"._e('일')."')) period_date "; $sql .= " FROM date WHERE d_start>=CURDATE() AND g_uid='{$rows[g_uid]}' "; $sql .= "group by periodStr,Period "; $arr_t = db_fetch($sql); $data[$i]['period_date'] = $arr_t['period_date']; // 담당자사진 $data[$i]['admin_img'] = "/FileData/logo/logo_small.png"; if ( $data[$i]['admin_id'] ) { $admin_arr = get_member($data[$i][admin_id]); if ( $admin_arr['emp_img'] ) $data[$i]['admin_img'] = "../FileData/emp/".$admin_arr['emp_img']; $data[$i]['admin_tel'] = ($admin_arr['mb_tel']) ? $admin_arr['mb_tel']:$TO_CF['shop_tel']; $data[$i]['admin_email'] = ($admin_arr['mb_email']) ? $admin_arr['mb_email']:$TO_CF['shop_email']; } // 여행상품 링크 $data[$i]['d_href'] = "info_main.html?b_uid_s=" . $rows['b_uid'] . "&m_uid_s=" . $rows['m_uid'] . "&s_uid_s=" . $rows['s_uid'] . "&g_uid=" . $rows[g_uid]; // 최근행사 $sql="SELECT d_uid FROM `date` WHERE g_uid='{$rows[g_uid]}' and d_start=(SELECT MIN(d_start) FROM `date` WHERE g_uid='{$rows[g_uid]}' AND d_start > CURDATE() and d_ok<>'C' ) and dtid in (select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and disp_yn='Y' and del_flag='N' ) "; $row_date = db_fetch($sql); $d_uid = $row_date['d_uid']; if ($d_uid)$data[$i]['d_href'] .= "&d_uid=" . $d_uid; // 티켓/패스(2016-12-27.허종) if($data[$i]['tab']=="T") { //$data[$i]['유효기간'] = $data[$i]['movie_i']; //$data[$i]['취소수수료'] = $data[$i]['g_brief']; //$data[$i]['연속사용교환여부'] = $data[$i]['g_ready']; // v $data[$i]['주의사항'] = $data[$i]['g_cautions']; // v $data[$i]['이용안내'] = $data[$i]['g_inclusion']; //$data[$i]['이용규칙'] = $data[$i]['g_noinclusion']; $data[$i]['환불안내'] = $data[$i]['g_rule']; // v //$data[$i]['주문안내'] = $data[$i]['g_heed']; //if ($cf['MODE'] == "user") $data[$i]['movie_i'] = ""; } $i++; } return $data; } // 상품 정보 가공 // function good_list_replace($data="") { global $TO_MB,$cf; if(!is_array($data)) return; $table = "good"; // 숙박정보 $g_meeting_arr = explode("||",$data['g_meeting']); if(is_array($g_meeting_arr)) { foreach($g_meeting_arr as $v){ $meeting_arr = explode("^",$v); if($meeting_arr[0]) { $data['g_meeting_all'][] = array( 'meeting_place' => $meeting_arr[0], 'meeting_hh' => $meeting_arr[1], 'meeting_mm' => $meeting_arr[2] ); } } } if($cf['MODE']=="admin" && false) { // 각항목의 개수 $sql = "select (SELECT COUNT(*) FROM TB_GoodImg WHERE Gidx=good.g_uid) AS `gallery_cnt`, (SELECT COUNT(d_uid) FROM `date` WHERE g_uid=good.g_uid AND d_start>CURDATE() ) AS `date_cnt`, '-' AS `date_all_cnt`, ( select count(d_uid) from `date` WHERE g_uid=good.g_uid AND left(d_start,7)=LEFT(CURDATE(),7) ) as after0_cnt, date_format(CURDATE(),'%m') as after0_month, ( select count(d_uid) from `date` WHERE g_uid=good.g_uid AND left(d_start,7)=LEFT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH),7) ) as after1_cnt, date_format(DATE_ADD(CURDATE(), INTERVAL 1 MONTH),'%m') as after1_month, ( select count(d_uid) from `date` WHERE g_uid=good.g_uid AND left(d_start,7)=LEFT(DATE_ADD(CURDATE(), INTERVAL 2 MONTH),7) ) as after2_cnt, date_format(DATE_ADD(CURDATE(), INTERVAL 2 MONTH),'%m') as after2_month, ( select count(d_uid) from `date` WHERE g_uid=good.g_uid AND left(d_start,7)=LEFT(DATE_ADD(CURDATE(), INTERVAL 3 MONTH),7) ) as after3_cnt, date_format(DATE_ADD(CURDATE(), INTERVAL 3 MONTH),'%m') as after3_month, ( select count(d_uid) from `date` WHERE g_uid=good.g_uid AND left(d_start,7)=LEFT(DATE_ADD(CURDATE(), INTERVAL 4 MONTH),7) ) as after4_cnt, date_format(DATE_ADD(CURDATE(), INTERVAL 4 MONTH),'%m') as after4_month, ( select count(d_uid) from `date` WHERE g_uid=good.g_uid AND left(d_start,7)=LEFT(DATE_ADD(CURDATE(), INTERVAL 5 MONTH),7) ) as after5_cnt, date_format(DATE_ADD(CURDATE(), INTERVAL 5 MONTH),'%m') as after5_month, (SELECT COUNT(*) FROM `TB_Schedule` WHERE g_uid=good.g_uid ) AS `schedule_cnt`, (SELECT COUNT(*) FROM `TB_SelHotel` WHERE g_uid=good.g_uid ) AS `hotel_cnt`, (SELECT COUNT(*) FROM `TB_SelInfo` WHERE g_uid=good.g_uid ) AS `tourinfo_cnt`, (SELECT COUNT(*) FROM `TB_GOOD_OPTION` WHERE g_uid=good.g_uid ) AS `option_cnt` , (SELECT COUNT(*) FROM `TB_GOOD_DEPOT` WHERE g_uid=good.g_uid ) AS `depot_cnt` from {$table} where g_uid='{$data[g_uid]}' limit 1 "; $row_cnt = db_fetch($sql); $data['gallery_cnt'] = $row_cnt['gallery_cnt']; $data['date_cnt'] = $row_cnt['date_cnt']; $data['date_all_cnt'] = $row_cnt['date_all_cnt']; $after_month = ""; // 현재월이후 행사가 생성된 월(%m) if($row_cnt['after0_cnt']>0) $after_month .= $row_cnt['after0_month'].","; if($row_cnt['after1_cnt']>0) $after_month .= $row_cnt['after1_month'].","; if($row_cnt['after2_cnt']>0) $after_month .= $row_cnt['after2_month'].","; if($row_cnt['after3_cnt']>0) $after_month .= $row_cnt['after3_month'].","; if($row_cnt['after4_cnt']>0) $after_month .= $row_cnt['after4_month'].","; if($row_cnt['after5_cnt']>0) $after_month .= $row_cnt['after5_month'].","; $after_month .= ","; $after_month = str_replace(",,","",$after_month); if(strlen($after_month)==1) $after_month=""; $data['after_month'] = str_replace(",,","",$after_month); $data['after0_cnt'] = $row_cnt['after0_cnt']; $data['after1_cnt'] = $row_cnt['after1_cnt']; $data['after2_cnt'] = $row_cnt['after2_cnt']; $data['after3_cnt'] = $row_cnt['after3_cnt']; $data['after4_cnt'] = $row_cnt['after4_cnt']; $data['after5_cnt'] = $row_cnt['after5_cnt']; $data['schedule_cnt'] = $row_cnt['schedule_cnt']; $data['hotel_cnt'] = $row_cnt['hotel_cnt']; $data['tourinfo_cnt'] = $row_cnt['tourinfo_cnt']; $data['option_cnt'] = $row_cnt['option_cnt']; $data['depot_cnt'] = $row_cnt['depot_cnt']; $data['map_cnt'] = ($data['map_x']) ? 1:0; } // 환율사용 if($data['exchange_fg']=="Y" and $data['exid']) { // 외환사용 /* $m=new CommonTour(); $data_ex = $m->exchangeList(array("sql_where"=>" and exid='".$data['exid']."' ")); $r_ex = $data_ex[0]; $data['ext_nm'] = $r_ex['ext_nm']; $data['ext_eng'] = $r_ex['ext_eng']; $data['ext_mark'] = $r_ex['ext_mark']; $data['ext_to_krw'] = $r_ex['ext_to_krw']; $data['ext_unit'] = $r_ex['ext_unit']; $data['ext_round'] = $r_ex['ext_round']; switch($data['ext_round']){ case "A": $data['ext_round2'] = "올림"; break; case "R": $data['ext_round2'] = "반올림"; break; case "L": $data['ext_round2'] = "버림"; break; } */ } else{ // 원화사용 $data['ext_nm'] = "원"; $data['ext_eng'] = "KRW"; $data['ext_mark'] = "₩"; $data['ext_to_krw'] = 1; $data['ext_unit'] = ""; $data['ext_round'] = ""; } return $data; } // 옵션 상품 정보 // // params @g_uid : 여행상품 id // params @disp_yn : 웹출력 // params @opid : 옵션상품 id function good_option($g_uid , $disp_yn="",$opid="" ) { global $cf; $table = "TB_GOOD_OPTION"; $data = array(); if (!$g_uid) return $data; $sql = "select * from {$table}"; $sql .= " where g_uid='{$g_uid}' "; if ($disp_yn) $sql .= " and disp_yn='{$disp_yn}' "; if ($opid) $sql .= " and opid='{$opid}' "; $sql .= " order by order_num asc, ins_dt desc "; $rs = db_query($sql); for($i=0 ; $row=db_fetch_array($rs) ; $i++) { // 사용 flag if ($row['disp_yn'] == "N") { $row['disp_yn_icon'] = $cf['icon']['stop']; $row['disp_yn_opp'] = "Y"; } else { $row['disp_yn_icon'] = $cf['icon']['start']; $row['disp_yn_opp'] = "N"; } $data[] = $row; } return $data; } // 옵션 상품 정보 // // params @g_uid : 여행상품 id // params @disp_yn : 웹출력 // params @opid : 옵션상품 id //by taeyoung //2022.06.08 //할인 옵션 불러오기 function good_discount($g_uid) { global $cf; $table = "TB_GOOD_DISCOUNT"; $data = array(); if (!$g_uid) return $data; $sql = "select * from {$table}"; $sql .= " where g_uid='{$g_uid}' "; // if ($disp_yn) $sql .= " and disp_yn='{$disp_yn}' "; $sql .= " order by order_num asc, ins_dt desc "; $rs = db_query($sql); for($i=0 ; $row=db_fetch_array($rs) ; $i++) { // 사용 flag /*if ($row['disp_yn'] == "N") { $row['disp_yn_icon'] = $cf['icon']['stop']; $row['disp_yn_opp'] = "Y"; } else { $row['disp_yn_icon'] = $cf['icon']['start']; $row['disp_yn_opp'] = "N"; }*/ $data[] = $row; } return $data; } // 출발지 정보 // // params @g_uid : 여행상품 id // params @disp_yn : 웹출력 // params @poid : 출발지row id function good_depot($g_uid , $disp_yn="",$poid="" ) { global $cf; $table = "TB_GOOD_DEPOT"; $data = array(); if (!$g_uid) return $data; $sql = "select * from {$table}"; $sql .= " where g_uid='{$g_uid}' "; if ($disp_yn) $sql .= " and disp_yn='{$disp_yn}' "; if ($poid) $sql .= " and poid='{$poid}' "; $sql .= " order by order_num asc, ins_dt desc "; $rs = db_query($sql); for($i=0 ; $row=db_fetch_array($rs) ; $i++) { // 사용 flag if ($row['disp_yn'] == "N") { $row['disp_yn_icon'] = $cf['icon']['stop']; $row['disp_yn_opp'] = "Y"; } else { $row['disp_yn_icon'] = $cf['icon']['start']; $row['disp_yn_opp'] = "N"; } $data[] = $row; } return $data; } /****************************************************************************** * * 2. 여행지/숙박지(호텔)/숙박 정보 * ******************************************************************************/ // 호텔정보를 가져옴 // // @param g_uid : 상품 uid // @param data_hotel : 행사에서 선택된 숙박지 목록 array // @param dwlist : 행사에서 선택된 숙박지를 리턴하도록 할때 Y // @return : 2차원 배열 function TO_get_hotel($g_uid,$hseq="",$data_date_hotel="",$dwlist="N") { global $cf; $upload="/FileData/hotel/"; $upload_thum="/FileData/hotel_thum/"; $sql_where = ""; $sql_date = ""; if ($hseq) $sql_where = " and hseq='{$hseq}' "; // 행사에서 선택된 숙박지 목록 array if(is_array($data_date_hotel) and $dwlist=="Y") { $sql_in = ""; foreach($data_date_hotel as $v) if($v['hseq']) $sql_in .= ",'{$v[hseq]}'"; if($sql_in) $sql_date = " and hseq in (" . substr($sql_in,1) . ") "; } if($dwlist=="Y" and $sql_date=="") $sql_date = " and hseq='xxxxxxxxx' "; $sql = " SELECT h.*,sh.* FROM ( SELECT Sidx,hseq,HGoods_Code,OrderNum FROM TB_SelHotel WHERE g_uid = '{$g_uid}' AND SortType = 'A' {$sql_where} {$sql_date} ) sh LEFT JOIN TB_HOTEL h ON sh.hseq = h.hseq WHERE h.disp_yn = 'Y' ORDER BY sh.OrderNum, h.order_num "; $rs = db_query($sql); // 배열로 저장 $arr = array(); while ($row = db_fetch_array($rs)) { $row = TO_stripslashes($row); // stripslashes 처리 // 호텔코드와 호텔명을 알기쉽게 변경 $row['Hotel_Code'] = $row['hotel_code']; $row['Hotel_Name'] = $row['hotel_nm']; // 홈페이지 링크 설정 $row['Home_Url'] = trim(str_replace("http://", "", $row['url'])); $row['Home_Url'] = set_http($row['url']); // url 설정 // 호텔 이미지 설정 $row['H_Img_Src'] = ""; if ($row['img1']) { $row['H_Img_Src'] = $upload . $row['img1']; $row['H_Img_SrcBig'] = $upload_thum . $row['img1']; } else { $row['Img_Src'] = $cf['TO_IMG']['no_image_s']; // 썸네일 $row['Img_SrcBig'] = $cf['TO_IMG']['no_image_l']; // 원본 } // 호텔등급 이미지 설정 $row['HG_Img_Src'] = ""; if ($row['Grade'] && $row['HG_Image']) { $row['HG_Img_Src'] = "/FileData/hotel_grade/" . $row['HG_Image']; } // 등급 $level_data = base_codec("HTL","HLVL",$row['level_cd']); $row['HG_Img_Src'] = $level_data[0]['cd_img']; $row['level_nm'] = $level_data[0]['cd_nm']; // 전체 지역명 $area_nm = ""; // 대륙명 if ($row['areaa_cd']){ $arr_tmp = to_area_a($row['areaa_cd'],"N"); $arr_t = $arr_tmp['0']; $row['areaa_cd_nm'] = $arr_t['ContinentName']; $area_nm = $arr_t['ContinentName']; } // 국가명 if ($row['areab_cd']){ $arr_tmp = to_area_b($row['areaa_cd'],$row['areab_cd']," and DelFlag='N' "); $arr_t = $arr_tmp['0']; $row['areab_cd_nm'] = $arr_t['NationName']; $area_nm .= ">".$arr_t['NationName']; } // 도시명 if ($row['areac_cd']) { $arr_tmp = to_area_c("",$row['areab_cd'],$row['areac_cd'],"N"); $arr_t = $arr_tmp['0']; $row['areac_cd_nm'] = $arr_t['CityName']; $area_nm .= ">".$arr_t['CityName']; } $row['area_nm'] = $area_nm; // 호텔 상품타입 아이콘 설정 (20101126 ) $row['SType_icon'] = ""; if ($row['SType']) { $row['SType_array'] = @explode(",", $row['SType']); $CODE_HSP = TO_get_code("HSP"); // 호텔유형 아이콘 기초코드 for ($s=0; $s<count($CODE_HSP); $s++) { if (in_array($CODE_HSP[$s][CdName], $row['SType_array'])) { $row['SType_icon'] .= "<img src='{$CODE_HSP[$s][CdImg]}' alt='{$CODE_HSP[$s][CdName]}' title='{$CODE_HSP[$s][CdName]}' border='0' align='absmiddle' /> "; } } } $arr[] = $row; } return $arr; } // 호텔 갤러리정보를 일괄 정리후 배열로 반환 // // @param $g_uid : 상품 uid // @param $rows : 가져옴 로우수 // @param $type : 호텔갤러리 코드(Code) (SELECT * FROM TB_CodeB WHERE CodeID = 'HPT') // @return : 2차원 배열 function TO_get_hotel_photo($g_uid, $rows=0, $type="") { global $cf; $upload="/FileData/hotel/"; $upload_thum="/FileData/hotel_thum/"; // 호텔 갤러리정보를 가져옴 $sql = "SELECT * FROM TB_HOTEL_GALLERY WHERE hotel_seq IN ( SELECT hseq FROM TB_SelHotel WHERE g_uid = '$g_uid' AND SortType = 'A' ) "; if ($type) $sql .= "and gallery_cd = '$type' "; $sql .= "ORDER BY order_num, g_seq DESC "; if ($rows) $sql .= "limit $rows"; $rs = db_query($sql); // 호텔 갤러리정보를 호텔코드별로 배열에 저장 $arr = array(); while ($row = db_fetch_array($rs)) { if (!$rows || ($rows && count($arr[$row[Gidx]]) < $rows)) { // 갤러리 이미지 설정 if ($row['img']) { $row['Img_Src'] = $upload_thum . $row['img']; // 썸네일 $row['Img_SrcBig'] = $upload . $row['img']; // 원본 if (!file_exists($cf['path'] . $row['Img_Src'])) { $row['Img_Src'] = $row['Img_SrcBig']; } } else { $row['Img_Src'] = $cf['TO_IMG']['no_image_s']; // 썸네일 $row['Img_SrcBig'] = $cf['TO_IMG']['no_image_l']; // 원본 } $arr[$row['hotel_seq']][] = $row; } } return $arr; } // 상품 여행지정보 가져옴 // // @param $g_uid : 상품 uid // @param $type : 여행지정보 코드(code) (SELECT * FROM TB_CODEC WHERE cd_b='TGUB') // @param $Iidx : 선택 여행지 id // @param data_place : 행사에서 선택된 관광지 목록 array // @param dwlist : 행사에서 선택된 관광지를 리턴하도록 할때 Y // @return : array function TO_get_info($g_uid, $type="",$pseq="",$Iidx="",$data_date_place="",$dwlist="N") { $where_type = ""; $where_pseq = ""; $sql_date = ""; // 행사에서 선택된 관광지 목록 array if(is_array($data_date_place) and $dwlist=="Y") { $sql_in = ""; foreach($data_date_place as $v) if($v['Iidx']) $sql_in .= ",'{$v[Iidx]}'"; if($sql_in) $sql_date = " and Iidx in (" . substr($sql_in,1) . ") "; } // 행사에서 선택된 목록만 요청했는데, 목록이 없으면 리턴 않함 if($dwlist=="Y" and $sql_date=="") $sql_date = " and Iidx='xxxxxxxxx' "; if ($type) $where_type = " and a.place_cd = '$type' "; if ($pseq) $where_pseq = " and pseq = '$pseq' "; if ($Iidx) $where_Iidx = " and Iidx = '{$Iidx}' "; $sql = "SELECT si.*,a.* FROM ( SELECT * FROM TB_SelInfo WHERE g_uid = '$g_uid' {$where_pseq} {$where_Iidx} {$sql_date} ) si LEFT JOIN TB_PLACE a ON a.seq = si.pseq where 1 {$where_type} ORDER BY si.OrderNum, si.Tpe desc "; $rs = db_query($sql); // 배열로 저장 $data = array(); while ($row = db_fetch_array($rs)) { $row = TO_stripslashes($row); // stripslashes 처리 // 구분코드명 $arr_t = base_codec("HTL","TGUB",$row['place_cd']); $row['place_cd_nm'] = $arr_t[0]['cd_nm']; // 국가명 if ($row['areab_cd']){ $arr_tmp = to_area_b("",$row['areab_cd']," and DelFlag='N' "); $row['NationName'] = $arr_tmp['0']['NationName']; $row['area_nm'] = $row['NationName']; } // 도시명 if ($row['areac_cd']) { $arr_tmp = to_area_c("",$row['areab_cd'],$row['areac_cd'],"N"); $arr = $arr_tmp['0']; $row['CityName'] = $arr_tmp['0']['CityName']; $row['area_nm'] .= ">" . $row['CityName']; } // 대표이미지 if ($row['img1']) { $row['Img_SrcBig'] = "/FileData/tourplace/".$row['img1']; $row['Img_Src'] = "/FileData/tourplace_thum/".$row['img1']; } $data[] = $row; } return $data; } // 상품 갤러리정보를 일괄 정리후 배열로 반환 // // @param $g_uid : 상품 uid // @param $rows : 가져옴 로우수 // @return : 2차원 배열 function TO_get_good_photo($g_uid, $rows=0) { global $cf, $d_uid; // 상품 갤러리정보를 가져옴 $sql = "select ImgTitle, ImgMemo from TB_GoodImg where Gidx = '$g_uid' order by orderNum, idx desc "; if ($rows) $sql .= "limit $rows"; $rs = db_query($sql); // 상품을 배열에 저장 $arr = array(); while ($row = db_fetch_array($rs)) { // 갤러리 이미지 설정 if ($row['ImgTitle']) { $row['Img_Src'] = "/FileData/good_img_thum/" . $row['ImgTitle']; // 썸네일 $row['Img_SrcBig'] = "/FileData/good_img/" . $row['ImgTitle']; // 원본 if (!file_exists($cf['path'] . $row['Img_Src'])) { $row['Img_Src'] = $row['Img_SrcBig']; } } else { $row['Img_Src'] = $cf['TO_IMG']['no_image_s']; // 썸네일 $row['Img_SrcBig'] = $cf['TO_IMG']['no_image_l']; // 원본 } $arr[] = $row; } return $arr; } // 상품 지역정보 갤러리정보를 일괄 정리후 배열로 반환 // // @param $g_uid : 상품 uid (상품코드가 없을 경우 전체에서 가져옴) // @param $rows : 가져옴 로우수 // @param $type : 지역정보 타입(Code) (SELECT * FROM TB_CodeB WHERE CodeID = 'TPE') // @param $Gidx : 지역정보 코드 (지역정보 일련번호) // @return : 2차원 배열 function TO_get_info_photo($g_uid="", $rows=0, $type="", $Gidx="") { global $cf; // 지역정보 정보를 가져옴 $sql = "SELECT * FROM TB_PLACE_GALLERY "; // 상품코드가 있을 경우 (해당 상품에서 가져옴) (20091111 ) if ($g_uid) { $sql .= "WHERE place_seq IN ( SELECT pseq FROM TB_SelInfo WHERE g_uid = '$g_uid' ) "; } // 상품코드가 없을 경우 (전체에서 가져옴) else { $sql .= "where iDX > 0 "; } if ($Gidx) $sql .= "and Gidx = '$Gidx' "; if ($type) $sql .= "and ImgType = '$type' "; $sql .= "ORDER BY place_seq, order_num "; if ($rows && $Gidx) $sql .= "limit $rows"; $rs = db_query($sql); //echo $sql; // 지역정보 갤러리정보를 코드별로 배열에 저장 $arr = array(); while ($row = db_fetch_array($rs)) { // 갤러리 이미지 설정 if ($row['img']) { $row['Img_Src'] = "/FileData/tourplace_thum/" . $row['img']; // 썸네일 $row['Img_SrcBig'] = "/FileData/tourplace/" . $row['img']; // 원본 if (!file_exists($cf['path'] . $row['Img_Src'])) { $row['Img_Src'] = $row['Img_SrcBig']; } } else { $row['Img_Src'] = $cf['TO_IMG']['no_image_s']; // 썸네일 $row['Img_SrcBig'] = $cf['TO_IMG']['no_image_l']; // 원본 } $arr[$row[place_seq]][] = $row; } return $arr; } // 지역별 호텔정보(XXXXX) // // @param $Bidx : 국가코드 // @param $Cidx : 도시코드 // @param sql_where : // @return : array function toad_hotel_list($Bidx="",$Cidx="",$delflag="",$sql_where="") { $grade_path = "/FileData/hotel_grade/"; $data = array(); if ( !$Bidx && !$Cidx && !$sql_where ) return $data; $sql = "select * "; $sql .= " from TB_HOTEL where 1 {$sql_where}"; if ( $Bidx ) $sql .= " and areab_cd='{$Bidx}' "; // 국가 if ( $Cidx ) $sql .= " and areac_cd='{$Cidx}' "; // 도시 $sql .= " order by order_num "; $rs = db_query($sql); for($i=0 ; $rows = db_fetch_array($rs) ; $i++){ $data[$i] = $rows; $data[$i]['grade'] = $grade_path.$rows['grade_img']; // 등급 $level_data = base_codec("HTL","HLVL",$rows['level_cd']); $data[$i]['grade'] = $level_data[0]['cd_img']; $data[$i]['level_nm'] = $level_data[0]['cd_nm']; } return $data; } // 지역별 관광지/지역/선택관광 정보(XXXXX) // // @param $Bidx : 국가코드 // @param $Cidx : 도시코드 // @param sql_where : // @return : array function toad_area_list($Bidx="",$Cidx="",$delflag="",$sql_where="") { if ( !$Bidx && !$Cidx ) return array(); $sql = "select * from TB_PLACE where 1 "; if ($Bidx) $sql .= " and areab_cd='{$Bidx}' "; if ($Cidx) $sql .= " and areac_cd='{$Cidx}' "; if ($delflag) $sql .= " and disp_yn='{$delflag}' "; $sql .= " {$sql_where} order by place_cd, order_num "; $rs = db_query($sql); $data = array(); while($row = db_fetch_array($rs)) { // 관광지구분 $place_data = base_codec("HTL","TGUB",$rows['place_cd']); $row['place_cd_nm'] = $place_data[0]['cd_nm']; $data[] = $row; } return $data; } // 여행상품 찜하기 // // @params tab: 상품구분 // @params g_uid: 상품id // @params d_uid: 행사id // @params limit: function tour_wish($tab="",$g_uid="",$d_uid="",$limit="") { global $cf,$TO_CF,$TO_MB; $data= array(); $table = "TB_MEMBER_WISH"; if(!$TO_MB['mb_id']) return $data; // where $sql_where = " and lang='{$cf[lang]}' "; if($tab) $sql_where .= " and tab='{$tab}' "; if($g_uid) $sql_where .= " and g_uid='{$g_uid}' "; if($d_uid) $sql_where .= " and d_uid='{$d_uid}' "; // limit if($limit) $sql_limit = " {$limit} "; // SQL $sql = "select * from {$table} where mb_id='{$TO_MB[mb_id]}' {$sql_where} "; $rs = db_query($sql); while($row = db_fetch_array($rs)) { // 상품상세 바로가기 링크 $link = "g_uid=".$row['s_uid']."&m_uid=".$row['m_uid']."&s_uid=".$row['s_uid']."&g_uid=".$row['g_uid']; $row['href']="../good/info_main.html?".$link; // PC $row['mhref']="../tmbi_good/info_main.html?".$link; // mobile $data[] = $row; } return $data; } /****************************************************************************** * * 3. 행사 , 행사구분 ,일정표 , 상담 * ******************************************************************************/ function getRecentlyDateInfo($g_uid = ''){ if(!$g_uid){ return false; } $sql = "SELECT * FROM date WHERE g_uid = {$g_uid} ORDER BY d_uid DESC LIMIT 1"; return db_fetch($sql); } // 여행상품 출발일 정보 목록 // // @guid : 상품ID // @date : 출발일 // @sql_where : // @order : 출력순위 // @limit : 갯수 // @agent_id : 대리점 ID function date_list($g_uid="",$d_start="",$sql_where="",$sql_order="",$limit="",$agent_id="") { global $cf,$TO_MB; /*if(devCookie()){ echo 'g_uid is '.$g_uid.'<br>'; echo 'd_start is '.$d_start.'<br>'; echo 'sql_where is '.$sql_where.'<br>'; echo 'sql_order is '.$sql_order.'<br>'; echo 'limit is '.$limit.'<br>'; echo 'agent_id is '.$agent_id.'<br>'; // ||naver^18449^15050^0^^^^0^0^0^||coupang^17998^15229^0^^^^0^0^0^ // ||naver^19000^15050^0^^^^1^18810^15840^||coupang^19000^15229^0^^^^0^0^0^ //dev // ||naver^19000^15050^0^^^^0^0^0^^1||coupang^19000^15229^0^^^^1^0^0^^1 }*/ // 대리점(2017-03-23.허종) if ($cf['MODE']=="user" and $TO_MB['mb_level']==$cf['agent_level']) $agent_id = $TO_MB['mb_id']; // 환율체크 class $CommonTour_v = new CommonTour(); // 관리자는 전 기간 예약가능 if ( $cf['MODE'] == "user") $sql_where .= " and d_start >= curdate() "; // 대리점 검색 if ( $agent_id ) $sql_where .= " and d_agent_ga like '%||{$agent_id}%'"; // 테이블 (상품마스터ID) if ( $g_uid ) { $table = " date d LEFT JOIN ( SELECT * FROM good where 1 and g_uid='{$g_uid}' ) g ON g.g_uid=d.g_uid LEFT JOIN ( SELECT dtid as dt_id,order_num,del_flag,disp_yn FROM TB_GOOD_DATE_TYPE WHERE 1 and g_uid='{$g_uid}' and disp_yn='Y' order by order_num ) dt ON dt.dt_id=d.dtid "; $sql_where .= " and d.g_uid='{$g_uid}' "; } // 테이블 (상품마스터 정보가 없는 행사) else{ $table = "date d"; } if ( $d_start != "none" ) { if ( !$d_start ) { // 가장최근 출발일 $sql = "select d_start from {$table} order by d_start desc limit 1"; $row = db_fetch($sql); $d_start = substr($row['d_start'],0,7); // 자료가 없을면 이번달을 출발일로 정함 if ( !$d_start ) $d_start = ("Y-m"); } } // 상품마스터 ID //$tour_join = _e("조인투어"); //$tour_one = _e("단독투어"); $ikil = _e("익일"); $st_ko = _e("한국기준"); $st_lo = _e("현지기준"); $tax_in = _e("TAX포함"); $tax_out = _e("TAX불포함"); $fee_air = _e("항공요금포함"); $fee_air_out = _e("항공요금불포함"); if($g_uid) { $sql = "select g.b_uid, g.m_uid, g.s_uid,g.g_image1,g.map_x,g.map_y, d_start,g.admin_id,g.admin_nm,g.today_reserve,g.today_reserve_time, IF(d_title <> '', d_title, g.g_title) AS d_title,d.tab as tab,g.gdt as gdt,if(g.gdt='gr','조인투어','단독투어') as gdt_nm , if(g.gdt='pe',d.d_pe_people_inwon,1) as gdt_people_inwon ,g.g_sch as g_sch,exchange_fg,exid, "; } // 상품마스터 정보가 없는 행사 else{ $sql = "select d_title,tab, "; } // SQL $sql .= " d.d_uid, d.dtid, d.g_uid,d_code, date_format(d_start,'%Y.%m.%d') as d_start2,d_start,d.admin_id,d.admin_nm,d.admin_brench,d.admin_depart, day(d_start) as d_start_day, DATE_FORMAT(d_start, '%m.%d') AS d_start_str, d_starttime,d_starttime2,if(d_starttime2<>'',concat(d_starttime,'~',d_starttime2),d_starttime) as d_starttime3, d_endtime,d_endtime2,if(d_endtime2<>'',concat(d_endtime,'~',d_endtime2),d_endtime) as d_endtime3, d.d_starttime2_nx,d.d_starttime_see,d.d_starttime2_see,d.d_endtime2_nx,d.d_endtime_see,d.d_endtime2_see,d.d_kor_sch,d.d_agent_ga, if(d.d_starttime2_nx='Y','{$ikil}','') as d_starttime2_nx2,if(d.d_endtime2_nx='Y','{$ikil}','') as d_endtime2_nx2, if(d.d_starttime_see='A','{$st_ko}','{$st_lo}') as d_starttime_see2,if(d.d_starttime2_see='A','{$st_ko}','{$st_lo}') as d_starttime2_see2, if(d.d_endtime_see='A','{$st_ko}','{$st_lo}') as d_endtime_see2,if(d.d_endtime2_see='A','{$st_ko}','{$st_lo}') as d_endtime2_see2, d_plane2, d.d_good_option,d.d_good_hotel,d.d_good_place,d.d_good_map, d.d_g_special,d.d_g_special_mo,d.d_g_inclusion,d.d_g_noinclusion,d.d_g_rule,d.d_g_rule_mo,d.d_content, d.d_disp_adult,d.d_disp_child,d.d_disp_baby,d.d_disp_infant,tour_cond,d_kor_sch, if(d.d_starttime2_nx='Y',date_add(d.d_start,interval 1 day),d.d_start) as d_start_d, /*(한국출발~)현지도착*/ d.d_end as d_end_d,/*(현지출발~)한국도착*/ case date_format(d.d_start, '%w') when 0 then '일' when 1 then '월' when 2 then '화' when 3 then '수' when 4 then '목' when 5 then '금' when 6 then '토' else '' end as d_start_yo, if(d.d_endtime2_nx='Y' and d.d_endtime_see='B',date_add(d.d_end,interval -1 day),d.d_end) as d_end,/*현지출발(~한국도착)*/ d.d_route, d_plane1_cd,d_plane1, d_plane2_cd,d_plane2, periodStr, period, d_people1, d_people2,d_people3,/*예약인원,정원,최소출발인원*/ IF(d_people2 - d_people1 <= 0, 0, d_people2 - d_people1) AS d_seat, IF(d_people1 > 0 AND d_people3 > 0,d_people1 - d_people3 , IF(d.tab='D' AND d.gdt='gr',d_people1 - d_gr_people_min,999999) ) as d_min_inwon, d_ok,d_tax,tax_money1,tax_money2,tax_money3,tax_money4, if(d_tax='Y','{$tax_in}','{$tax_out}') as d_tax_str, if(d_oil='Y','{$fee_air}','{$fee_air_out}') as d_oil_str, d_oil,oil_money1,oil_money2,oil_money3,oil_money4, d_cost1,d_cost2,d_cost3,d_cost4, d_buy1,d_buy2,d_buy3,d_buy4, d_agent1,d_agent2,d_agent3,d_agent4, d_money1,d_money2,d_money3,d_money7,d_money4,d_money5,d_money6,d_money8, d_money4p,d_money5p,d_money6p,d_money8p, d.d_type , d_endtime, (select count(SiDX) from TB_Schedule where d_uid=d.d_uid and Sort='1') as schdule_count, d.d_gr_people_min,d.d_pe_people_unit,d.d_pe_people_inwon , d.acct_final , d.point_yn, d.point_buy1, d.point_buy2 from {$table} where 1 "; // 출발일 if ($d_start && $d_start != "none") { if ( strlen($d_start) == 10 ) $sql .= " and d_start = '{$d_start}' "; else $sql .= " and left(d_start,7) like '{$d_start}%' "; } $sql .= " {$sql_where} "; // 출력순위 if ( $sql_order ) $sql .= " order by {$sql_order} "; else $sql .= " order by d_start "; // 상품ID가 있으면, 행사명이 order num순서대로 출력 if($g_uid) $sql .= ",order_num "; // 갯수 if ( $limit ) $sql .= " limit {$limit} "; //echo $sql; //logCheck($sql); /*if(devCookie()){ p($sql); exit; }*/ $rs = db_query($sql); $data = array(); while($row = db_fetch_array($rs)) { //출발요일 $row['d_start_yo'] = get_yoil($row['d_start'],$cf['lang']); // 도착일정 $row['d_end2'] = str_replace("-",".",$row['d_end']); $row['d_end_yo'] = get_yoil($row['d_end'],$cf['lang']); // 예약상태 초기화 // 관리자(어드민)는 지난행사,초과예약에서도 예약가능 $row['d_ok_str'] = _e("예약가능"); // 예약문자 $row['d_ok_str2'] = _e("예약하기"); // 예약버튼 type_1 $row['d_ok_str2_list'] = _e("예약접수"); // 예약버튼 type_2 $row['d_ok_class'] = "able"; // 예약가능 class $row['d_ok_bgcolor'] = "#4178bd"; // 예약가능 색상(color) $reserv_yn = "Y"; // 예약가능 $res_stat_cd = "R"; // 예약코드(대기예약) $reserv_ok = "A"; // // 예약가능 $reserv_str = $row['d_ok_str']; $reserv_str2 = $row['d_ok_str2_list']; $reserv_color = $row['d_ok_bgcolor']; $reserv_class = $row['d_ok_class']; $reserv_class2 = $row['d_ok_class']; if ( $row['d_ok']=="B" ) { // 대기 $row['d_ok_str'] = _e("대기예약"); $row['d_ok_str2'] = _e("대기예약"); $row['d_ok_str2_list'] = _e("예약접수"); $row['d_ok_class'] = "wait"; $row['d_ok_bgcolor'] = "#6a5252"; $reserv_yn = "Y"; // 대기예약 $res_stat_cd = "R"; // 예약코드(대기예약) $reserv_ok = "B"; // 대기예약[사용자] } // 최소출발인원 체크 if ( ($row['d_min_inwon']>=0 and $row['d_min_inwon']<999999 and $row['tab']!='T') OR $row['d_ok']=="D" ) { $row['d_ok_str'] = _e("출발확정"); $row['d_ok_str2'] = _e("예약하기"); $row['d_ok_str2_list'] = _e("예약하기"); $row['d_ok_class'] = "ok"; $row['d_ok_bgcolor'] = "#df4e4e"; $reserv_yn = "Y"; // 예약하기 $res_stat_cd = "C"; // 예약코드(확정예약) $reserv_ok = "D"; // 예약하기[사용자] } if (($row['d_start'] < date("Y-m-d") or // 날짜초과 intval($row['d_seat']) <= 0 or // 남은좌석이 없음 $row['d_ok'] == "C") and $cf['MODE'] == "user" or ( $row['today_reserve'] == 'N' && $row['d_start'] == date("Y-m-d"))) // 상태값이 마감 , 관리자 제외 { $row['d_ok_str'] = _e("예약마감"); $row['d_ok_str2'] = _e("예약마감"); $row['d_ok_str2_list'] = _e("예약마감"); $row['d_ok_class'] = "close"; $row['d_ok_bgcolor'] = "#cecece"; $reserv_yn = "N"; // 예약불가 $res_stat_cd = "XXXXXXX"; // 예약코드(예약불가) $reserv_ok = "C"; // 예약불가[사용자] } // if(devCookie()){ // date("Y-m-d"); if($row['today_reserve'] == 'N'){ $nowTime = time(); $dStart = strtotime($row['d_start']); $maxTime = $nowTime + (3600 * (int) $row['today_reserve_time']); if(($maxTime - $dStart) > 0){ $row['d_ok_str'] = _e("예약마감"); $row['d_ok_str2'] = _e("예약마감"); $row['d_ok_str2_list'] = _e("예약마감"); $row['d_ok_class'] = "close"; $row['d_ok_bgcolor'] = "#cecece"; $reserv_yn = "N"; // 예약불가 $res_stat_cd = "XXXXXXX"; // 예약코드(예약불가) $reserv_ok = "C"; // 예약불가[사용자] } } // } #### 관리자 모드 표출#### if ($cf['MODE'] == "admin") { // 관리자>여행상품>행사목록 표출 switch($row['d_ok']) { case "A": $row['d_ok_str3'] = _e("예약가능"); $row['d_ok_class3'] = "able"; break; case "B": $row['d_ok_str3'] = _e("대기예약"); $row['d_ok_class3'] = "wait"; break; case "C": $row['d_ok_str3'] = _e("예약마감"); $row['d_ok_class3'] = "close"; break; if($row['d_start'] <= date("Y-m-d")) { $row['d_ok_str3'] = _e("예약마감"); $row['d_ok_class3'] = "close"; } } /*** * @김태영 확인만함 강주임에게 대표님께 확인 요청함. * @author taeyoung * @date 2023.01.04 */ /*if(devCookie()){ p($row); exit; }*/ if ( ($row['d_min_inwon']>=0 and $row['d_min_inwon']<999999 and $row['tab']!='T') OR $row['d_ok']=="D" ) { $row['d_ok_str3'] = _e("출발확정"); $row['d_ok_class3'] = "ok"; } // 관리자는 예약가능(2016-02-12) $reserv_yn = "Y"; } // 예약코드 $row['reserv_yn'] = $reserv_yn; $row['reserv_ok'] = $reserv_ok; $row['reserv_str'] = $row['d_ok_str2']; $row['reserv_str2'] = $row['d_ok_str2']; $row['reserv_color'] = $row['d_ok_bgcolor']; $row['reserv_class'] = $row['d_ok_class']; $row['reserv_class2'] = $row['d_ok_class']; $row['res_stat_cd'] = $res_stat_cd; // 운송수단(항공편(A) OR 기타(E)) if ($row['d_route'] == "A") { $row['d_route_nm'] = "항공수송"; // 출국 if ($row['d_plane1_cd']) { $ar_t = TO_get_airline(" and airline_code='{$row[d_plane1_cd]}' "); $row['d_plane1_nm'] = $row['d_plane1_cd']; if ($ar_t[0]['airnm_kor']) { $row['d_plane1_nm'] = $ar_t[0]['airnm_kor']; $row['d_plane1_img'] = "<img src='".$ar_t[0]['air_img_src']."' class='air_logo' align='absmiddle' title='".$row['d_plane1_nm']."'>"; } } // 입국 if ($row['d_plane2_cd']) { $row['d_plane2_nm'] = $row['d_plane2_cd']; $ar_t = TO_get_airline(" and airline_code='{$row[d_plane2_cd]}' "); if ($ar_t[0]['airnm_kor']) { $row['d_plane2_nm'] = $ar_t[0]['airnm_kor']; $row['d_plane2_img'] = "<img src='".$ar_t[0]['air_img_src']."' class='air_logo' align='absmiddle' title='".$row['d_plane2_nm']."'>"; } } } else { $row['d_route_nm'] = "기타수송"; // 출국 if ($row['d_plane1_cd']) { $d_plane1_arr = base_codec("HTL","ABTU",$row['d_plane1_cd']); $d_plane1_arr = $d_plane1_arr[0]; $row['d_plane1_img'] = ($d_plane1_arr) ? "<img src='".$d_plane1_arr['cd_img']."'>":""; } // 입국 if($row['d_plane2_cd']) { $d_plane2_arr = base_codec("HTL","ABTU",$row['d_plane2_cd']); $d_plane2_arr = $d_plane2_arr[0]; $row['d_plane2_img'] = ($d_plane2_arr['cd_img']) ? "<img src='".$d_plane2_arr['cd_img']."'>":""; } } // 행사기간 세팅 $row['d_period'] = ""; if ($row['d_start']==$row['d_end']) { $row['d_period'] = _e("일일투어"); } else { /* if (!$row['periodStr']) $row['d_period'] .= "무"; else $row['d_period'] .= $row['periodStr']; $row['d_period'] .= "박 " . (($row['period']) ? $row['period'] . "일" : ""); */ if (!$row['periodStr']) $row['d_period'] .= _e("일일투어"); else { if($cf['lang']=='ko') { $row['d_period'] .= $row['periodStr']. "박 " . (($row['period']) ? $row['period'] . "일" : ""); } else { if($row['period']) $row['period'] = $row['period'] . _e("일"); $row['d_period'] = $row['period'] . $row['periodStr'] . _e("박"); } } } // 행사가격(성인) 설정 (원화를 각 통화금액으로 변환) if($cf['curunit'] == 'KRW') { $d_money1 = $row['d_cost1']; } else { $d_money1 = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$row['d_cost1'])); } //$row['d_money1_str'] = ($row['d_money1']) ? number_format($row['d_money1']) . "원" : "가격문의"; $row['d_money1_str'] = ($d_money1) ? _eunit($d_money1) : _e("요금문의"); // 출발일자 링크 설정 $row['d_href'] = ""; if ($row['d_ok'] == "A" || $row['d_ok'] == "B" || $row['d_ok'] == "D") { $row['d_href'] = "info_main.html?b_uid_s=" . $row['b_uid'] . "&m_uid_s=" . $row['m_uid'] . "&s_uid_s=" . $row['s_uid'] . "&g_uid=" . $row[g_uid] . "&d_uid=" . $row['d_uid']; } // 기타 $arr_t = array(); $arr_t = explode(":",$row['d_starttime']); $row['d_starttime_1'] = $arr_t[0]; // 국내출발시 $row['d_starttime_2'] = $arr_t[1]; // 국내출발분 $arr_t = array(); $arr_t = explode(":",$row['d_starttime2']); $row['d_starttime2_1'] = $arr_t[0]; // 현지도착시 $row['d_starttime2_2'] = $arr_t[1]; // 현지도착분 $arr_t = explode(":",$row['d_endtime']); $row['d_endtime_1'] = $arr_t[0]; // 현지출발시 $row['d_endtime_2'] = $arr_t[1]; // 현지출발분 $arr_t = explode(":",$row['d_endtime2']); $row['d_endtime2_1'] = $arr_t[0]; // 국내도착시 $row['d_endtime2_2'] = $arr_t[1]; // 국내도착분 // 출발시간 if ( $row['d_starttime2'] ) { $row['d_starttime_str'] = $row['d_starttime']."→".$row['d_starttime2']; } else { $row['d_starttime_str'] = $row['d_starttime']; } // 도착시간 if ( $row['d_endtime2'] ) { $row['d_endtime_str'] = $row['d_endtime']."→".$row['d_endtime2']; } else { $row['d_endtime_str'] = $row['d_endtime']; } // 상품 메인이미지 설정 if ($row['g_image1']) { $row['Img_Src'] = "/FileData/good_thum/" . $row['g_image1']; // 썸네일 $row['Img_SrcBig'] = "/FileData/good/" . $row['g_image1']; // 원본 } else { $row['Img_Src'] = $cf['TO_IMG']['no_image_m']; // 썸네일 $row['Img_SrcBig'] = $cf['TO_IMG']['no_image_l']; // 원본 } // Tax & 유류할증 $row['d_tax2'] = _e("TAX불포함"); $row['d_oil2'] = _e("항공요금불포함"); if ($row['d_tax']=="Y") $row['d_tax2'] = _e("TAX포함"); if ($row['d_oil']=="Y") $row['d_oil2'] = _e("항공요금포함"); // 공급가 $row['adult_buy'] = $row['d_buy1']; $row['child_buy'] = $row['d_buy2']; $row['baby_buy'] = $row['d_buy3']; $row['infant_buy'] = $row['d_buy4']; // 대리점 가격 $agent_ga_arr = explode("||",$row['d_agent_ga']); $row['d_agent_all'] = array(); if(is_array($agent_ga_arr)) { foreach($agent_ga_arr as $v){ $agent_arr = explode("^",$v); if($agent_arr[0]) { $agent_comm = $agent_arr[5]; $agent_comm_type = $agent_arr[6]; // A정액제 , B정율제 $row['d_agent_all'][] = array( 'agent_id' => $agent_arr[0], 'adult_price' => $agent_arr[1], 'child_price' => $agent_arr[2], 'baby_price' => $agent_arr[3], 'infant_price' => $agent_arr[4], 'buy_dc_rate' => $agent_arr[7], 'adult_buy_price' => $agent_arr[8], 'child_buy_price' => $agent_arr[9], 'baby_buy_price' => $agent_arr[10], 'agent_dc_rate' => $agent_arr[11], // taeyoung 판매처 수수료 ); } } } // 행사가격 OR 대리점 행사가격 $adult_price = (int)$row['d_money1']; $child_price = (int)$row['d_money2']; $baby_price = (int)$row['d_money3']; $infant_price = (int)$row['d_money7']; if($agent_id) { foreach($row['d_agent_all'] as $v){ if($v['agent_id']==$agent_id) { $adult_price = (int)$v['adult_price']; $child_price = (int)$v['child_price']; $baby_price = (int)$v['baby_price']; $infant_price = (int)$v['infant_price']; } } } // 개인판매가 + 할증료 + tax $row['adult_price'] = $adult_price; $row['child_price'] = $child_price; $row['baby_price'] = $baby_price; $row['infant_price'] = $infant_price; //2019-10-18 원화를 각 통화금액으로 변환 if($cf['curunit'] =='KRW') { $row['adult_price_fr'] = $adult_price; $row['child_price_fr'] = $child_price; $row['baby_price_fr'] = $baby_price; $row['infant_price_fr'] = $infant_price; $row['d_money1_fr'] = $row['d_money1']; $row['d_money2_fr'] = $row['d_money2']; $row['d_money3_fr'] = $row['d_money3']; $row['d_money4_fr'] = $row['d_money4']; // 성인 정상가 $row['d_money5_fr'] = $row['d_money5']; // 소인 정상가 $row['d_money6_fr'] = $row['d_money6']; // 유아 정상가 $row['d_money7_fr'] = $row['d_money7']; } else { $row['adult_price_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$adult_price)); $row['child_price_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$child_price)); $row['baby_price_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$baby_price)); $row['infant_price_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$infant_price)); $row['d_money1_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$row['d_money1'])); $row['d_money2_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$row['d_money2'])); $row['d_money3_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$row['d_money3'])); $row['d_money4_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$row['d_money4'])); $row['d_money5_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$row['d_money5'])); $row['d_money6_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$row['d_money6'])); $row['d_money7_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$row['d_money7'])); } // Tax(x) + 유류할증료 $row['adult_tax'] = (int)$row['oil_money1']; $row['child_tax'] = (int)$row['oil_money2']; $row['baby_tax'] = (int)$row['oil_money3']; $row['infant_tax'] = (int)$row['oil_money4']; //2019-10-18 원화를 각 통화금액으로 변환 if($cf['curunit'] =='KRW') { $row['adult_tax_fr'] = $row['adult_tax']; $row['child_tax_fr'] = $row['child_tax']; $row['baby_tax_fr'] = $row['baby_tax']; $row['infant_tax_fr'] = $row['infant_tax']; } else { $row['adult_tax_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$row['adult_tax'])); $row['child_tax_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$row['child_tax'])); $row['baby_tax_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$row['baby_tax'])); $row['infant_tax_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$row['infant_tax'])); } // 외환환율 적용 //$row['adult_price_normal'] = 0; //$row['child_price_normal'] = 0; //$row['baby_price_normal'] = 0; //$row['infant_price_normal'] = 0; // 원가 $row['adult_cost'] = $row['d_cost1']; $row['child_cost'] = $row['d_cost2']; $row['baby_cost'] = $row['d_cost3']; $row['infant_cost'] = $row['d_cost4']; //2019-10-18 원화를 각 통화금액으로 변환 if($cf['curunit'] =='KRW') { $row['adult_cost_fr'] = $row['adult_cost']; $row['child_cost_fr'] = $row['child_cost']; $row['baby_cost_fr'] = $row['baby_cost']; $row['infant_cost_fr'] = $row['infant_cost']; } else { $row['adult_cost_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$row['adult_cost'])); $row['child_cost_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$row['child_cost'])); $row['baby_cost_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$row['baby_cost'])); $row['infant_cost_fr'] = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],money=>$row['infant_cost'])); } // 최소금액 표기 if($row['baby_price'] > 0){ $row['price_fr'] = $row['baby_price_fr']; // 판매가 $row['price_normal_fr'] = $row['d_money6_fr']; // 정상가 $row['price_profit'] = $row['d_money6p']; // 할인율 $row['price_crite'] = _e("유아기준"); } else if($row['child_price'] > 0){ $row['price_fr'] = $row['child_price_fr']; $row['price_normal_fr'] = $row['d_money5_fr']; $row['price_profit'] = $row['d_money5p']; $row['price_crite'] = _e("소인기준"); } else { $row['price_fr'] = $row['adult_price_fr']; $row['price_normal_fr'] = $row['d_money4_fr']; $row['price_profit'] = $row['d_money4p']; $row['price_crite'] = _e("성인기준"); } /* if($row['exchange_fg']=="Y") { // 원가 $row['adult_cost'] = $CommonTour_v->exchangeMoney(array("exid"=>$row['exid'],money=>$row['d_cost1'])); $row['child_cost'] = $CommonTour_v->exchangeMoney(array("exid"=>$row['exid'],money=>$row['d_cost2'])); $row['baby_cost'] = $CommonTour_v->exchangeMoney(array("exid"=>$row['exid'],money=>$row['d_cost3'])); $row['infant_cost'] = $CommonTour_v->exchangeMoney(array("exid"=>$row['exid'],money=>$row['d_cost4'])); // 유류세 $row['adult_oil'] = $CommonTour_v->exchangeMoney(array("exid"=>$row['exid'],money=>$row['oil_money1'])); $row['child_oil'] = $CommonTour_v->exchangeMoney(array("exid"=>$row['exid'],money=>$row['oil_money2'])); $row['baby_oil'] = $CommonTour_v->exchangeMoney(array("exid"=>$row['exid'],money=>$row['oil_money3'])); $row['infant_oil'] = $CommonTour_v->exchangeMoney(array("exid"=>$row['exid'],money=>$row['oil_money4'])); $row['adult_tax'] = $row['adult_oil']; $row['child_tax'] = $row['child_oil']; $row['baby_tax'] = $row['baby_oil']; $row['infant_tax'] = $row['infant_oil']; // 총판매가 $row['adult_price'] = $CommonTour_v->exchangeMoney(array("exid"=>$row['exid'],money=>$adult_price)); $row['child_price'] = $CommonTour_v->exchangeMoney(array("exid"=>$row['exid'],money=>$child_price)); $row['baby_price'] = $CommonTour_v->exchangeMoney(array("exid"=>$row['exid'],money=>$baby_price)); $row['infant_price'] = $CommonTour_v->exchangeMoney(array("exid"=>$row['exid'],money=>$infant_price)); // 정산판매가 $row['adult_price_normal'] = $CommonTour_v->exchangeMoney(array("exid"=>$row['exid'],money=>$row['d_money4'])); $row['child_price_normal'] = $CommonTour_v->exchangeMoney(array("exid"=>$row['exid'],money=>$row['d_money5'])); $row['baby_price_normal'] = $CommonTour_v->exchangeMoney(array("exid"=>$row['exid'],money=>$row['d_money6'])); $row['infant_price_normal'] = $CommonTour_v->exchangeMoney(array("exid"=>$row['exid'],money=>$row['d_money8'])); } */ $data[] = $row; } return $data; } // // 여행상품 출발일 정보 가공 // // @params data : array // @return array function date_list_replace($data="") { global $cf; if(!is_array($data)) return; // 외환정보 $CommonTour_v = new CommonTour(); // 숙박정보 $good_hotel_arr = explode("||",$data['d_good_hotel']); if(is_array($good_hotel_arr)) { foreach($good_hotel_arr as $v){ $hotel_arr = explode("^",$v); if($hotel_arr[0]) { $data['good_hotel_all'][] = array( 'hseq' => $hotel_arr[0], 'hotel_nm' => $hotel_arr[1], ); } } } // 관광지 정보 $good_place_arr = explode("||",$data['d_good_place']); if(is_array($good_place_arr)) { foreach($good_place_arr as $v){ $place_arr = explode("^",$v); if($place_arr[0]) { $tmp_arr = TO_get_info($data['g_uid'],"","",$place_arr[0]); $tmp_arr = $tmp_arr[0]; $data['good_place_all'][] = array( 'Iidx' => $place_arr[0], 'place_nm' => $place_arr[1], 'area_nm' => $tmp_arr['CityName'], 'place_cd_nm' => $tmp_arr['place_cd_nm'] ); } } } // 지도위치 $good_map_arr = explode("||",$data['d_good_map']); if(is_array($good_map_arr)) { $data['d_good_map_x'] = ($good_map_arr[0]) ? $good_map_arr[0]:$data['map_x']; $data['d_good_map_y'] = ($good_map_arr[1]) ? $good_map_arr[1]:$data['map_y']; } // 옵션상품 $good_option_arr = explode("||",$data['d_good_option']); if(is_array($good_option_arr)) { foreach($good_option_arr as $v) { $option_arr = explode("^",$v); if($option_arr[0]) { $price_sell = (int)$option_arr[2]; $price_agent = (int)$option_arr[3]; //2019-10-18 원화를 각 통화금액으로 변환 if($cf['curunit']=="KRW") { $price_sell_fr = $price_sell; $price_agent_fr = $price_agent; } else { $price_sell_fr = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$price_sell)); $price_agent_fr = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$price_agent)); } /* if($data['exchange_fg']=="Y") { // 외환 체크(2016-12-28.허종) $price_sell = $CommonTour_v->exchangeMoney(array("exid"=>$data['exid'],"money"=>$price_sell)); $price_agent = $CommonTour_v->exchangeMoney(array("exid"=>$data['exid'],"money"=>$price_agent)); } */ /*if(devCookie()){ p($option_arr); }*/ $isOptionDisplay = ""; if(isset($option_arr[0])){ if($option_arr[0]){ $sqlOp = "SELECT disp_yn FROM TB_GOOD_OPTION WHERE opid = {$option_arr[0]}"; $resDataOp = db_fetch($sqlOp); $isOptionDisplay = $resDataOp['disp_yn']; } } $data['good_option_all'][] = array ( 'opid' => $option_arr[0], 'op_nm' => $option_arr[1], 'op_price_sell' => $price_sell, 'op_price_agent' => $price_agent, 'op_price_sell_fr' => $price_sell_fr, 'op_price_agent_fr' => $price_agent_fr, 'disp_yn' => $isOptionDisplay, ); } } } // 대리점 $agent_arr = $data['d_agent_all']; if(is_array($agent_arr)) { foreach($agent_arr as $v) { if($v['agent_id']) { $tmp_arr = get_member($v['agent_id']); $agent_nm = $tmp_arr['bz_corp_nm']; $data['agent_all'][] = array( 'agent_id' => $v['agent_id'], 'agent_nm' => $agent_nm, 'adult_price' => $v['adult_price'], 'child_price' => $v['child_price'], 'baby_price' => $v['baby_price'], 'infant_price' => $v['infant_price'], 'adult_buy_price' => $v['adult_buy_price'], // 거래처별 공급가 'child_buy_price' => $v['child_buy_price'], 'baby_buy_price' => $v['baby_buy_price'] );} } } // 현지도착일(국내출발 현지도착일) $data['d_start_d2'] = TO_date_type($data['d_start_d'],1); $data['d_start_d_yo'] = get_yoil($data['d_start_d'],$cf['lang']); // 국내도착일(현지출발 국내도착일) $data['d_end_d2'] = TO_date_type($data['d_end_d'],1); $data['d_end_d_yo'] = get_yoil($data['d_end_d'],$cf['lang']); // 담당자 부서 if($data['admin_depart']) { $arr = base_codec("CRP","DEPT",$data['admin_depart']); $data['admin_depart_nm']=$arr[0]['cd_nm']; } // 담당자 지점 if($data['admin_brench']) { $arr = base_codec("CRP","BRCH",$data['admin_brench']); $data['admin_brench_nm']=$arr[0]['cd_nm']; } return $data; } // 일정표 정보 // // @param $g_uid : 상품 ID // @param $sql_where : // @param $order_by : // @return : 배열 function toad_schedule($g_uid="", $sql_where="",$order_by = "",$limit="") { global $cf; $data = array(); $table = "TB_Schedule"; $sql = "select * from {$table} where 1 "; if ($g_uid) $sql .= " and g_uid='{$g_uid}' "; if ( $sql_where ) { $sql .= " {$sql_where} "; } else { $sql .= " and Sort = '0' "; // 대표(기본)일정표(0) , 공통일정표(2) } if ( $order_by ) { $sql .= " order by {$order_by} "; } else { $sql .= " order by OrderNum asc "; } // LIMIT if ($limit) $sql .= " {$limit} "; $rs = db_query($sql); for($i=0 ; $row=db_fetch_array($rs) ; $i++) { // 1차 카테고리명 $cate_arr = TO_get_bc($row['b_uid']); $row['b_name'] =$cate_arr[0]['b_name']; // 사용 flag if ($row['DelFlag'] == "N") { $row['DelFlag_icon'] = $cf['icon']['start']; $row['DelFlag_opp'] = "Y"; } else { $row['DelFlag_icon'] = $cf['icon']['stop']; $row['DelFlag_opp'] = "N"; } // 행사출발일과 일정표 출발일의 날짜를 맞춤 if ($row['d_uid']) { $sql = "select d_start,d_end from date where d_uid='{$row[d_uid]}' limit 1"; $d_row = db_fetch($sql); $arr_r = date_to_date($d_row['d_start'],$d_row['d_end']); for($j=0,$k=1 ; $j<count($arr_r) ; $j++,$k++) { $arr = $arr_r[$j]; $pos1 = strpos($row['ScheduleText'],"<date_str_".$k.">")+strlen("<date_str_".$k.">"); $pos2 = strpos($row['ScheduleText'],"</date_str_".$k.">"); $str = substr($row['ScheduleText'],$pos1,$pos2); $pos3 = strpos($str,"</date_str_".$k.">"); $str = substr($str,0,$pos3); $row['ScheduleText'] = str_replace($str,$arr['date']."<br />".$arr['yoil']."요일",$row['ScheduleText']); } } // 등록일 $row['RegDate2'] = str_replace("-",".",$row['RegDate']); $data[] = $row; } return $data; } // 카테고리(bc)별 일정표 갯수 // function toad_schedule_cnt() { $sql =" SELECT b.b_uid,b.b_name, IFNULL(g.cnt, 0) AS cnt FROM ( SELECT '99999' as b_uid,'전체' AS b_name UNION ALL SELECT b_uid,b_name FROM bc where DelFlag='N' and tab in ('P','D') ) b LEFT JOIN ( SELECT IF(b_uid>=0,b_uid,'99999')b_uid, COUNT(*) AS cnt FROM TB_Schedule WHERE Sort = '2' GROUP BY b_uid WITH ROLLUP ) g ON b.b_uid = g.b_uid "; $rs = db_query($sql); $data = array(); while($rows = db_fetch_array($rs)) { $data[] = $rows; } return $data; } // 해당상품의 행사(출발상품) 정보를 가져옴 // // @param $g_uid : 상품 uid // @param $d_uid : 행사 uid // @return : 배열 function TO_get_date($g_uid, $d_uid="") { global $cf,$TO_GOOD; // 행사 idx가 없을 경우 // 오늘 이후의 가장 최근 일정정보를 가져옴 if (!$d_uid) { $d_sql = "select d.*, g.g_title, case date_format(d_start, '%w') when 0 then 'SUN' when 1 then 'MON' when 2 then 'TUE' when 3 then 'WED' when 4 then 'THU' when 5 then 'FRI' when 6 then 'SAT' else '' end as start_yo, case date_format(d_end, '%w') when 0 then 'SUN' when 1 then 'MON' when 2 then 'TUE' when 3 then 'WED' when 4 then 'THU' when 5 then 'FRI' when 6 then 'SAT' else '' end as end_yo, IF(d_people2 - d_people1 <= 0, 0, d_people2 - d_people1) AS d_seat from `date` d left join (select g_uid, g_title from good) g on g.g_uid = d.g_uid where d.g_uid = '$g_uid' and d.d_start > curdate() and d.d_ok != 'n' order by d.d_start limit 1 "; } // 일정표 idx가 있을 경우 else { $d_sql = "select d.*, g.g_title, case date_format(d_start, '%w') when 0 then 'SUN' when 1 then 'MON' when 2 then 'TUE' when 3 then 'WED' when 4 then 'THU' when 5 then 'FRI' when 6 then 'SAT' else '' end as start_yo, case date_format(d_end, '%w') when 0 then 'SUN' when 1 then 'MON' when 2 then 'TUE' when 3 then 'WED' when 4 then 'THU' when 5 then 'FRI' when 6 then 'SAT' else '' end as end_yo, IF(d_people2 - d_people1 <= 0, 0, d_people2 - d_people1) AS d_seat from `date` d left join (select g_uid, g_title from good) g on g.g_uid = d.g_uid where d.d_uid = '$d_uid' and d_ok != 'n' "; } $d_row = db_fetch($d_sql); $d_row = TO_stripslashes($d_row); // stripslashes 처리 //언어별 요일변경 $d_row['start_yo'] = get_yoil($d_row['start_yo'],$cf['lang']); $d_row['end_yo'] = get_yoil($d_row['end_yo'],$cf['lang']); // 일정표 idx 설정 $d_uid = $d_row['d_uid']; // 행사명이 없을 경우 상품명으로 대체 if (!trim($d_row['d_title'])) $d_row['d_title'] = $d_row['g_title']; if(!$d_row['d_title']) $d_row['d_title'] = $TO_GOOD['g_title']; //$d_row['d_money1_str'] = ($d_row['d_money1']) ? number_format($d_row['d_money1']) . "원" : "가격문의"; //$d_row['d_money2_str'] = ($d_row['d_money2']) ? number_format($d_row['d_money2']) . "원" : "가격문의"; //$d_row['d_money3_str'] = ($d_row['d_money3']) ? number_format($d_row['d_money3']) . "원" : "가격문의"; $d_row['d_money1_str'] = ($d_row['d_money1']) ? _euint($d_row['d_money1']) :_e("요금문의"); $d_row['d_money2_str'] = ($d_row['d_money2']) ? _eunit($d_row['d_money2']) : _e("요금문의"); $d_row['d_money3_str'] = ($d_row['d_money3']) ? _eunit($d_row['d_money3']) : _e("요금문의"); //예약인원 카운터(실예약테이블참조)(20120712.허종) if($d_row['d_start']){ $sql = " SELECT b.Res_Block,a.Order_State "; $sql .= " FROM TB_ResMain a , TB_ResI01 b "; $sql .= " WHERE a.Res_No=b.Res_No AND b.Goods_Code='{$g_uid}' AND a.Tour_start='".$d_row['d_start']."' and a.Order_State not in('E') ";//예약상태가 취소('E')가 아닌정보만 포함 $total_person = 0;//예약인원(계) $rs = db_query($sql); while($rows = db_fetch_array($rs)) { $total_person += (int)$rows['Res_Block']; } $d_row['d_people1'] = $total_person; // 예약인원(실예약인원) }else{ $d_row['d_people1'] = ($d_row['d_people1']) ? $d_row['d_people1'] : 0; // 예약인원(정확하지 않음.) } $d_row['d_people2'] = ($d_row['d_people2']) ? $d_row['d_people2'] : 0; // 정원 $d_row['d_people1_str'] = number_format($d_row['d_people1']); $d_row['d_people2_str'] = number_format($d_row['d_people2']); // 성인 가격이 있을 때 상품 가격 $re_money0_tmp = 0; if ($d_row['d_money1']) { $re_money0_tmp = $d_row['d_money1']; } // 성인 가격이 없을 때 상품 가격 else { if ($list['g_low'] && $list['g_high']) { $re_money0_tmp = $list['g_high']; } else if ($list['g_low']) { $re_money0_tmp = $list['g_low']; } else if ($list['g_high']) { $re_money0_tmp = $list['g_high']; } else { $re_money0_tmp = 0; } } // 계약금 설정 (결제할 금액의 반올림, 총금액의 10%) $re_money0_tmp = preg_replace('/[^0-9]/', '', $re_money0_tmp); // 가격에서 숫자만 추출함 $d_row['PriceIN'] = ($re_money0_tmp > 0) ? round($re_money0_tmp * 0.1) : 0; // 예약가능 및 예약인원 설정 $d_row['d_ok_image'] = ""; $d_row['d_ok_str'] = ""; // 예약상태 문자열 $d_row['d_ok_color'] = ""; // 예약상태 색상 $d_row['is_reserve'] = false; // 예약상태 설정 switch ($d_row['d_ok']) { case "A": $d_row['d_ok_str'] = _e("예약가능"); $d_row['d_ok_color'] = $cf['d_ok_color_A']; $d_row['d_ok_image'] = $cf['TO_IMG']['reserve_3']; $d_row['is_reserve'] = true; break; case "B": $d_row['d_ok_str'] = _e("대기예약가능"); $d_row['d_ok_color'] = $cf['d_ok_color_B']; $d_row['d_ok_image'] = $cf['TO_IMG']['reserve_4']; $d_row['is_reserve'] = true; break; case "C": $d_row['d_ok_str'] = _e("예약마감"); $d_row['d_ok_color'] = $cf['d_ok_color_C']; $d_row['d_ok_image'] = $cf['TO_IMG']['reserve_1']; $d_row['is_reserve'] = false; break; case "S": $d_row['d_ok_str'] = _e("출발가능"); $d_row['d_ok_color'] = $cf['d_ok_color_S']; $d_row['d_ok_image'] = $cf['TO_IMG']['reserve_2']; $d_row['is_reserve'] = true; break; } //정원(d_seat)처리 if($d_row[d_type]=="T"){//행사타입이 행사명(T) $d_row['d_seat'] = 10; }else{ $d_row['d_seat'] = (int)$d_row['d_seat']; } if ($d_row['d_seat'] <= 0 and $d_row['d_type']=="A") { //행사타입이 출발명(A)만 처리(20130313.허종) $d_row['d_ok_str'] = _e("대기예약가능"); $d_row['d_ok_color'] = $cf['d_ok_color_B']; $d_row['d_ok_image'] = $cf['TO_IMG']['reserve_4']; $d_row['is_reserve'] = true; } // 예약가능 인원 설정 //$d_row['d_seat'] = (int)$d_row['d_people2'] - (int)$d_row['d_people1']; // 상품가격을 표시함 if ($d_row['d_start'] > 0) { $d_row['d_price_str'] = $d_row['d_money1_str']; } else { $d_row['d_price_str'] = $list['price']; } // 여행기간 $d_row['d_period'] = ""; if ($d_row['d_start']==$d_row['d_end']) { $d_row['d_period']=_e("당일"); } else { /* if (!$d_row['periodStr']) $d_row['d_period'] .= "무"; else $d_row['d_period'] .= $d_row['periodStr']; $d_row['d_period'] .= "박 " . (($d_row['period']) ? $d_row['period'] . "일" : ""); */ if (!$d_row['periodStr']) $d_row['d_period'] .= _e("일일투어"); else { if($cf['lang']=='ko') { $d_row['d_period'] .= $d_row['periodStr']. "박 " . (($d_row['period']) ? $d_row['period'] . "일" : ""); } else { if($d_row['period']) $d_row['period'] = $d_row['period'] . _e("일"); $d_row['d_period'] = $d_row['period'] . $d_row['periodStr'] . _e("박"); } } } // 여행날짜 설정 if($d_row['d_start'] and $d_row['d_end'] ){//출발일자 정보가 있음 $start_date = date("Y-m-d", strtotime($d_row['d_start'])); $end_date = date("Y-m-d", strtotime($d_row['d_end'])); $d_row['d_date_str'] = "$start_date({$d_row['start_yo']}) [{$d_row['d_plane1']}] ~ $end_date({$d_row['end_yo']}) [{$d_row['d_plane2']}]"; $d_row['d_date_start'] = "$start_date({$d_row['start_yo']})"; $d_row['d_date_end'] = "$end_date({$d_row['end_yo']})"; }else{ $d_row['d_date_str']=""; $d_row['d_date_start'] = ""; $d_row['d_date_end'] = ""; } return $d_row; } // 출발상품(행사) 리스트를 정렬함 (가격별, 항공사별) // // @param $arr : 출발상품(행사) 배열 // @param $sort : 가격별 정렬 (asc:오름차순(default), desc:내림차순) // @return : 2차원 배열 function TO_get_date_sort($data, $sort="asc") { // 행사가 없을 경우 if (!is_array($data) || count($data) == 0 || !$data) return array(); // 출발상품을 가격별로 출력하기 위해 정렬 $data = php_multisort($data, array(array('key'=>'d_money1','sort'=>$sort,'type'=>'numeric'), array('key'=>'d_plane1'), array('key'=>'d_start'))); // 출발상품을 정렬해서 배열로 다시 저장 $arr = array(); $i = -1; $s_price = 0; // 가격 저장 $s_air = ""; // 항공 저장 foreach ($data as $row) { if ($s_price != (int)$row[d_money1] || $s_air != $row[d_plane1]) $i++; $s_price = $arr[$i][d_money1] = (int)$row[d_money1]; $s_air = $arr[$i][d_plane1] = $row[d_plane1]; $arr[$i][d_money1_str] = number_format($row[d_money1]); $arr[$i][AirNameKR] = $row[AirNameKR]; $arr[$i][AirImageSrc] = $row[AirImageSrc]; $arr[$i][date_list][] = $row; } return $arr; } // 월별 행사수를 배열로 가져옴 // // @param $g_uid : 상품 uid // @param $rows : 가져옴 로우수 // @param $d_day : 선택된 년월 // @return : 2차원 배열 function TO_get_date_month($g_uid, $rows=3, $d_day="") { if (!$d_day) $d_day = date("Y-m"); $d_day = substr($d_day,0, 7); // 월별 행사수 가져옴 $sql = "SELECT LEFT(d_start, 7) AS d_day, COUNT(*) AS d_cnt, DATE_FORMAT(d_start, '%Y') AS d_day_yy, DATE_FORMAT(d_start, '%m') AS d_day_mm FROM `date` d WHERE d.g_uid = '$g_uid' AND d.d_start > CURDATE() GROUP BY d_day ORDER BY d_day limit $rows "; $rs = db_query($sql); $arr = array(); while ($row = db_fetch_array($rs)) { // 선택월 설정 $row['d_day_on'] = false; if ($d_day == $row['d_day']) $row['d_day_on'] = true; $arr[] = $row; } return $arr; } // 일정표 정보를 가져옴 // // @param $g_uid : 상품 uid // @param $d_uid : 행사 uid // @return : 배열 function TO_get_schedule($g_uid, $d_uid) { global $cf; // 해당 행사의 일정표를 가져옴 if ($d_uid) { $sql = "select *,d_content as ScheduleText from date where d_uid = '$d_uid'"; $row = db_fetch($sql); $d_start = $row['d_start']; $d_end = $row['d_end']; // 행사출발일과 일정표 출발일의 날짜를 맞춤 $arr_r = date_to_date($d_start,$d_end); for($j=0,$k=1 ; $j<count($arr_r) ; $j++,$k++) { $arr = $arr_r[$j]; // 날짜(요일) 문자열 대치 $search = "/<date_str_{$k}>(.*?)<\/date_str_{$k}>/i"; //$replace = "<date_str_{$k}>".$arr['date']." ".$arr['yoil']."요일"."</date_str_{$k}>"; $replace = "<date_str_{$k}>".$arr['date']." ".$arr['yoil']."</date_str_{$k}>"; $row['ScheduleText'] = preg_replace($search,$replace,$row['ScheduleText']); } if($cf['lang'] == 'cn' || $cf['lang'] == 'en' || $cf['lang'] == 'hk') { $yoil_ko = array('일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'); $yoil_cn = array('星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'); $yoil_hk = array('星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'); $yoil_en = array('SUNDAY', 'MONDAY', 'TUESDAY', 'WEDNSDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY'); $row['ScheduleText'] = str_replace("일요일",${"yoil_".$cf['lang']}[0],$row['ScheduleText']); $row['ScheduleText'] = str_replace("월요일",${"yoil_".$cf['lang']}[1],$row['ScheduleText']); $row['ScheduleText'] = str_replace("화요일",${"yoil_".$cf['lang']}[2],$row['ScheduleText']); $row['ScheduleText'] = str_replace("수요일",${"yoil_".$cf['lang']}[3],$row['ScheduleText']); $row['ScheduleText'] = str_replace("목요일",${"yoil_".$cf['lang']}[4],$row['ScheduleText']); $row['ScheduleText'] = str_replace("금요일",${"yoil_".$cf['lang']}[5],$row['ScheduleText']); $row['ScheduleText'] = str_replace("토요일",${"yoil_".$cf['lang']}[6],$row['ScheduleText']); $row['ScheduleText'] = str_replace("일요일",${"yoil_".$cf['lang']}[7],$row['ScheduleText']); } } // 일정표가 없을 경우 해당 상품의 일정표를 가져옴 if (!$row['d_content']) { $sql = "select * from TB_Schedule where g_uid = '$g_uid'"; $row = db_fetch($sql); // 행사출발일과 일정표 출발일의 날짜를 맞춤 $arr_r = date_to_date($d_start,$d_end); for($j=0,$k=1 ; $j<count($arr_r) ; $j++,$k++) { $arr = $arr_r[$j]; // 날짜(요일) 문자열 대치 $search = "/<date_str_{$k}>(.*?)<\/date_str_{$k}>/i"; //$replace = "<date_str_{$k}>".$arr['date']." ".$arr['yoil']."요일"."</date_str_{$k}>"; $replace = "<date_str_{$k}>".$arr['date']." ".$arr['yoil']."</date_str_{$k}>"; $row['ScheduleText'] = preg_replace($search,$replace,$row['ScheduleText']); } if($cf['lang'] == 'cn' || $cf['lang'] == 'en' || $cf['lang'] == 'hk') { $yoil_ko = array('일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'); $yoil_cn = array('星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'); $yoil_hk = array('星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'); $yoil_en = array('SUNDAY', 'MONDAY', 'TUESDAY', 'WEDNSDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY'); $row['ScheduleText'] = str_replace("일요일",${"yoil_".$cf['lang']}[0],$row['ScheduleText']); $row['ScheduleText'] = str_replace("월요일",${"yoil_".$cf['lang']}[1],$row['ScheduleText']); $row['ScheduleText'] = str_replace("화요일",${"yoil_".$cf['lang']}[2],$row['ScheduleText']); $row['ScheduleText'] = str_replace("수요일",${"yoil_".$cf['lang']}[3],$row['ScheduleText']); $row['ScheduleText'] = str_replace("목요일",${"yoil_".$cf['lang']}[4],$row['ScheduleText']); $row['ScheduleText'] = str_replace("금요일",${"yoil_".$cf['lang']}[5],$row['ScheduleText']); $row['ScheduleText'] = str_replace("토요일",${"yoil_".$cf['lang']}[6],$row['ScheduleText']); $row['ScheduleText'] = str_replace("일요일",${"yoil_".$cf['lang']}[7],$row['ScheduleText']); } } // date_str_noti 태그 찾아서 제거 $row['ScheduleText'] = preg_replace("/<div class=\"date_str_noti\" [^>]*>(.*?)<\/div>/i","",$row['ScheduleText']); // 날짜태그 보이게 $row['ScheduleText'] = str_replace("display:none;",'',$row['ScheduleText']); $row['ScheduleText'] = str_replace("display: none;",'',$row['ScheduleText']); return $row; } // 출발일의 첫 년월일, 마지막 년월일 // // @g_uid : 상품id function startdate_first_last($g_uid) { $y = date("Y"); $sql = "select MIN(d_start) AS first_dt, MAX(d_start) AS last_dt "; $sql .= " from `date` where g_uid='{$g_uid}' "; $data = db_fetch($sql); if(!$data['first_dt']) $data['first_dt']=date("Y-m-d"); if(!$data['last_dt']) $data['last_dt']=date("Y-m-d"); $tmp_arr = explode("-",$data['first_dt']); if(($y - $tmp_arr[0]) > 5) {//현재년도와 5년이상 차이나면 현재년도에서 5년전 생성 $data['first_dt1'] = $y-5; }else{ $data['first_dt1'] = $tmp_arr[0];//년 } $data['first_dt2'] = $tmp_arr[1];//월 $data['first_dt3'] = $tmp_arr[2];//일 $tmp_arr = explode("-",$data['last_dt']); $data['last_dt1'] = $tmp_arr[0];//년 $data['last_dt2'] = $tmp_arr[1];//월 $data['last_dt3'] = $tmp_arr[2];//일 return $data; } // 행사(출발일) 생성 // // @date_arr : 저장할 행사변수를 array // function toad_create_date($pdata="") { global $TO_MB,$cf; $table = "date"; if (!is_array($pdata)) return false; extract($pdata); // 필수값 체크 if ( !is_numeric($period) or !is_numeric($periodStr) or !$d_start or !$d_title) return false; $d_money1= str_replace(",","",$d_money1); // 성인 정상요금 $d_money2= str_replace(",","",$d_money2); // 소인 정상요금 $d_money3= str_replace(",","",$d_money3); // 유아 정상요금 $d_money7= str_replace(",","",$d_money7); // 영아 정상요금 $d_starttime = $d_starttime_1.":".$d_starttime_2; // 국내출발시간 $d_starttime2 = $d_starttime2_1.":".$d_starttime2_2; // 현지도착시간(추가) if($d_starttime2_nx!="Y") $d_starttime2_nx="N"; $d_endtime = $d_endtime_1.":".$d_endtime_2; // 현지출발시간 $d_endtime2 = $d_endtime2_1.":".$d_endtime2_2; // 국내도착시간(추가) if($d_endtime2_nx!="Y") $d_endtime2_nx="N"; // 담당자 if(!$admin_id) { $arr = get_member($TO_MB['mb_id']); $admin_id = $TO_MB['mb_id']; $admin_nm = $arr['mb_nm']; $admin_brench = $arr['emp_brench_cd']; $admin_depart = $arr['emp_depart_cd']; } // 귀국일 $tmp_date = (int)$period-1; $tmp_date = ($tmp_date<0) ? $tmp_date:0; $enddate = date('Y-m-d', strtotime("+{$tmp_date} day" , strtotime($d_start) ) ); // 도착(귀국)일 // 쿼리 $sql_ins = "insert into {$table} set "; $sql_ins .= " g_uid='{$g_uid}' "; $sql_ins .= " ,d_title='{$d_title}' "; // 출발일정 $sql_ins .= " ,d_start='{$d_start}' "; // 출국일 $sql_ins .= " ,periodStr='{$periodStr}' "; // 박수 $sql_ins .= " ,period='{$period}' "; // 일수 $sql_ins .= ",d_kor_sch='{$d_kor_sch}' ";// 당일 $sql_ins .= " ,d_starttime = '{$d_starttime}' "."\n"; // 출발시간 $sql_ins .= " ,d_starttime_see = '{$d_starttime_see}' "."\n"; // 한국출발 A한국기준,B현지기준(신규) $sql_ins .= " ,d_starttime2_nx = '{$d_starttime2_nx}' "."\n"; // [국내]N,Y익일(신규) $sql_ins .= " ,d_starttime2 = '{$d_starttime2}' "."\n"; // 현지도착시간(추가) $sql_ins .= " ,d_starttime2_see = '{$d_starttime2_see}' "."\n"; // 현지도착 A한국기준,B현지기준(신규) // 도착일정 $sql_ins .= " ,d_end='{$enddate}' "; // 귀국일 $sql_ins .= " ,d_endtime = '{$d_endtime}' "."\n"; // 출발시간 $sql_ins .= " ,d_endtime_see = '{$d_endtime_see}' "."\n"; // 현지출발A한국기준,B현지기준(신규) $sql_ins .= " ,d_endtime2_nx = '{$d_endtime2_nx}' "."\n"; // [국내]N,Y익일(신규) $sql_ins .= " ,d_endtime2 = '{$d_endtime2}' "."\n"; $sql_ins .= " ,d_endtime2_see = '{$d_endtime2_see}' "."\n"; // 한국도착A한국기준,B현지기준(신규) // 교통편 $sql_ins .= " ,d_route = '{$d_route}' "."\n"; $sql_ins .= " ,d_plane1_cd = '{$d_plane1_cd}' "."\n"; $sql_ins .= " ,d_plane1 = '{$d_plane1}' "."\n"; $sql_ins .= " ,d_plane2_cd = '{$d_plane2_cd}' "."\n"; $sql_ins .= " ,d_plane2 = '{$d_plane2}' "."\n"; // 가격&정원 $sql_ins .= " ,d_money1='{$d_money1}' "; $sql_ins .= " ,d_money2='{$d_money2}' "; $sql_ins .= " ,d_money3='{$d_money3}' "; $sql_ins .= " ,d_money7='{$d_money7}' "; $sql_ins .= " ,d_people2='{$d_people2}' "; // 정원(대,팀) // 담당자 $sql_ins .= " ,admin_brench='{$admin_brench}' "; $sql_ins .= " ,admin_depart='{$admin_depart}' "; $sql_ins .= " ,admin_id='{$admin_id}' "; $sql_ins .= " ,admin_nm='{$admin_nm}' "; $sql_ins .= " ,d_regdate=now() "; db_query($sql_ins); $row = db_fetch("select last_insert_id() as d_uid"); $d_uid = $row['d_uid']; if ($d_uid) return $d_uid; else return false; } // 여행상품 상담관리 마스터 // function contab_list($sql_where="",$sql_order="",$olds=0,$line=0) { $table="TB_CONTAB"; // 정렬 if ( !$sql_order ) $sql_order = " order by cseq desc "; else $sql_order = " order by ".$sql_order; $sql = "select *, (select count(*) from TB_RES_GOOD where TB_CONTAB.cseq=TB_RES_GOOD.cseq) as good_cnt , (select count(*) from TB_RES_HOTEL where TB_CONTAB.cseq=TB_RES_HOTEL.cseq) as hotel_cnt from {$table} where 0=0 {$sql_where} {$sql_order}"; if($olds>=0 and $line>0) $sql .= " limit $olds , $line"; $rs = db_query($sql); $data = array(); for ( $i=0 ; $row = db_fetch_array($rs) ; $i++ ) { // 출발일 $row['d_start2'] = ""; if ( !strpos($row['d_start'],"-00-00") ) { $row['d_start2'] = str_replace("-","/",$row['d_start']); } // 상담예약 $row['contab_wdt2'] = ""; if ( !strpos($row['contab_wdt'],"-00-00") ) { $row['contab_wdt2'] = str_replace("-","/",$row['contab_wdt']); } // 상담일 $row['contab_dt2'] = ""; $row['contab_dt2'] = substr(str_replace("-","/",$row['contab_dt']),0,10); // 진행상태 $contab_arr = base_codec("PRD","CONT",$row['proc_stat_cd']); $row['proc_stat_nm'] = "<font color='".$contab_arr[0]['cd_memo']."'>".$contab_arr[0]['cd_nm']."</font>"; $row['reserv_yn'] = $reserv_yn; $data[] = $row; } return $data; } // 여행상품 상담 목록 // // @params sql_where; function contab_sd_list($sql_where="") { $data = array(); if (!$sql_where) return $data; $table="TB_CONTAB_SD"; $sql = "select *,IF(mode='G','',ct_cont) as ct_cont , ct_cont as mail_cont, case mode when 'C' then '상담' when 'M' then '문자' when 'E' then '메모' when 'G' then '견적' else '상담' end as mode_nm from {$table} where 1 {$sql_where} order by seq desc "; $rs = db_query($sql); for ( $i=0 ; $row = db_fetch_array($rs) ; $i++){ $row['ins_dt2'] = str_replace("-","/",$row['ins_dt']); $data[] = $row; } return $data; } // 행사정보 일자별 예약자수 업데이트 // // @res_no : 예약번호 // @d_uid : 행사번호 function good_date_people_update($d_uid="", $inwon) { global $cf; $table ="date"; if(!$d_uid) return false; $date_arr = db_fetch("select * from date where d_uid = '{$d_uid}' limit 1 "); if(!$date_arr) return false; if(!$inwon){ // 예약 테이블에서 여행인원 계산 $sql = "SELECT SUM(IF(generation='A',1,0)) AS adult_inwon, SUM(IF(generation='C',1,0)) AS child_inwon, SUM(IF(generation='B',1,0)) AS baby_inwon, COUNT(seq) AS inwon FROM TB_RES_GOOD_PERSON AS res_p LEFT JOIN TB_RES_GOOD AS res ON res.res_no = res_p.res_no WHERE res.order_state in('B', 'C', 'D', 'E', 'F', 'G') res.ev_uid='".$_uid."'"; $person_data = db_fetch($sql); $d_people1 = $person_data['inwon']; } else { // 필요 수량 만큼만 업데이트 $d_people1 = $date_arr['d_people1'] + $inwon; if($d_people1 < 0) $d_people1 = 0; } $sql = "update date set d_people1 = '{$d_people1}' where d_uid = '{$d_uid}' limit 1"; //db_query($sql); //Log::save(sprintf("%s(%d) good_date_people_update : %s ", __FILE__, __LINE__, $sql), '', date('Ym')); // * 사용중지 : 짚라인에서 재고값이 넘어오는데, 사이트상의 재고값이 더 작고 비일치 문제 발생 가능성 } // 행사정보를 TB_RES_GOOD_DATE로 행사정보 카피 // // @res_no : 예약번호 // @d_uid : 행사번호 function res_good_date_update($res_no="",$d_uid="", $api_reserve_type) { global $cf; $table ="date"; // TB_RES_GOOD_DATE로 행사정보 카피 if ( $res_no ) { $res_date_arr = db_fetch("select count(*) as res_cnt from TB_RES_GOOD_DATE where res_no='{$res_no}'"); $res_date_cnt = $res_date_arr['res_cnt']; if ( $res_date_cnt == 0 and $d_uid ) { $date_arr = db_fetch("select * from date where d_uid = '{$d_uid}' limit 1 "); // ★★★★★★★★★★행사정보 저장(TB_RES_GOOD_DATE) ★★★★★★★ $is_query = false; $sql = " insert into TB_RES_GOOD_DATE set "; $sql .= " res_no='{$res_no}', "; $sql .= " lang='{$cf[lang]}', "; $sql .= " curunit='{$cf[curunit]}', "; foreach( $date_arr as $colnm => $val){ // 일정표는 가공해서 저장 if ($colnm=="d_content") { $arr_tmp = TO_get_schedule($date_arr['g_uid'], $d_uid); $val = $arr_tmp['ScheduleText']; $val = str_replace("'",""e;",$arr_tmp['ScheduleText']); } // 예약 후 일정 확정하는 상품의 경우 별도 처리 if($api_reserve_type == 'AFTER') { if($colnm=="d_uid" || $colnm=="dtid"){ $val = 0; } if($colnm=="d_start" || $colnm=="d_end"){ $val = "0000-00-00"; } } if ($colnm!="admin_nm") $sql .= "{$colnm} = '{$val}', "; else $sql .= "{$colnm} = '{$val}' "; $is_query = true; } Log::save(sprintf("%s(%d) Res Update SQL {$sql} ", __FILE__, __LINE__), '', 'yanolja/'.date('Ym')); if ($is_query==true) db_query($sql); } } } // 행사 구분 목록 // // params g_uid : 상품id // params dtid : 행사타입ID // params del_flag : 삭제 // params disp_yn : 노출 // params d_start :출발일 function good_date_type($g_uid,$dtid="",$del_flag="N",$disp_yn="",$d_start="") { global $cf; $table = "TB_GOOD_DATE_TYPE"; $data = array(); $sql = "select * from {$table} where g_uid='{$g_uid}' "; if ($dtid) $sql .= " and dtid='{$dtid}' "; if ($del_flag) $sql .= " and del_flag='{$del_flag}' "; if ($disp_yn) $sql .= " and disp_yn='{$disp_yn}' "; $sql .= " order by order_num "; $rs = db_query($sql); for($i=0 ; $row = db_fetch_array($rs) ; $i++) { // 노출 if ($row['disp_yn'] == "Y") { $row['disp_yn_icon'] = $cf['icon']['start']; $row['disp_yn_opp'] = "N"; } else { $row['disp_yn_icon'] = $cf['icon']['stop']; $row['disp_yn_opp'] = "Y"; } // 행사ID 체크(2016-05-16,허종) if($d_start) { $data_dtype = db_fetch("select d_uid, d_ok, IF(d_people2 - d_people1 <= 0, 0, d_people2 - d_people1) AS d_seat from date where g_uid='{$row[g_uid]}' and dtid='{$row[dtid]}' and d_start='{$d_start}' limit 1"); // 행사ID가 없을때, 오늘이후 행사ID 출력 if(!$data_dtype['d_uid']){ /*if(devCookie()){ p('ag'); }*/ $data_dtype = db_fetch("select MIN(d_uid) AS d_uid from date where g_uid='{$row[g_uid]}' and dtid='{$row[dtid]}' and d_start>curdate()"); } // 예약가능 인원 없을 경우 마감처리 220508 if(intval($data_dtype['d_seat']) <= 0) { $data_dtype['d_ok'] = 'C'; } $row['d_seat'] = $data_dtype['d_seat']; $row['d_uid'] = $data_dtype['d_uid']; $row['d_ok'] = $data_dtype['d_ok']; if($row['d_ok'] == 'C') { $row['class'] = 'close'; } else { $row['class'] = ''; } } $data[] = $row; } return $data; } /****************************************************************************** * * 4. 예약 * ******************************************************************************/ // 예약정보 가져옴 // function res_good_master($sql_where="",$sql_order="",$limit="", $mode="") { global $cf; $class_v = new CommonTour(); $table = "TB_RES_GOOD"; $data = array(); $sql = "select *,if(gdt='gr','조인투어','단독투어') as gdt_nm , if(tab='D',ev_start,ev_end) as ev_end from {$table} as res where 1 {$sql_where} "; if ( $sql_order ) $sql .= " order by {$sql_order}"; else $sql .= " order by res_seq desc "; if ( $limit ) $sql .= " limit {$limit} "; /*if(devCookie()){ p($sql); }*/ $rs = db_query($sql); for($i=0 ; $row = db_fetch_array($rs) ; $i++) { // 상품구분 $tab_arr = TO_good_module("all",$row['tab']); $row['tab_nm'] = $tab_arr['name']; // 여행인원 $sql = "SELECT SUM(IF(generation='A',1,0)) AS adult_inwon, SUM(IF(generation='C',1,0)) AS child_inwon, SUM(IF(generation='B',1,0)) AS baby_inwon, SUM(IF(generation='I',1,0)) AS infant_inwon, SUM(IF(b2b_consumed='Y',1,0)) AS consumed_inwon, COUNT(seq) AS inwon FROM TB_RES_GOOD_PERSON WHERE res_no='".$row['res_no']."' "; /*if(devCookie()){ p($sql); exit; }*/ $person_data = db_fetch($sql); $row['inwon'] = $person_data['inwon']; $row['adult_inwon'] = $person_data['adult_inwon']; $row['child_inwon'] = $person_data['child_inwon']; $row['baby_inwon'] = $person_data['baby_inwon']; $row['infant_inwon'] = $person_data['infant_inwon']; $row['consumed_inwon'] = $person_data['consumed_inwon']; if($mode!="simple") { // 입금상태 (미납/완납/과납) $class_AccountCustomer = new AccountCustomer(); $arr = $class_AccountCustomer->res_account_info($row['res_no']); /*if(devCookie()){ p($arr); exit; }*/ $arr_account = $arr['tot']; //[son]TB_RES_GOOD.res_stat_cd : 예약진행상태(PRD>HRES), C(확정예약) $row['res_mrecv_str'] = _e("대기"); if( $arr_account['pre_money'] > 0 and $row['res_stat_cd']=="C") { $row['res_mrecv_str'] = "<span class='icon_unpaid'>"._e('미납')."</span>"; $row['res_mrecv_str2'] = _e('미결제'); //2019-10-18 각 외화의 pre_money, pay_money //$arr_account['pre_money_fr'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_account['pre_money'])); //$arr_account['pay_money_fr'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_account['pay_money'])); $arr_account['pre_money_fr'] = $row['sales_total_fr']; $arr_account['pay_money_fr'] = "0"; } if( $arr_account['pre_money'] < 0 ) { $row['res_mrecv_str'] = "<span style='color:#3333FF;'>"._e('과납')."</span>"; $row['res_mrecv_str2'] = _e('과납'); } /*if(devCookie()){ p($arr_account); exit; }*/ if( $row['res_stat_cd']=="C" and $arr_account['pre_money'] == 0 ) { $row['res_mrecv_str'] = "<span style='display:inline-block; padding:0px 2px 1px; margin-top:2px; font-weight:bold; color:#FFF;background-color:#000;'>"._e('완납')."</span>"; $row['res_mrecv_str2'] = _e('완납'); //$arr_account['pre_money_fr'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_account['pre_money'])); //$arr_account['pay_money_fr'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_account['pay_money'])); $arr_account['pre_money_fr'] = "0"; $arr_account['pay_money_fr'] = $row['sales_total_fr']; } // 모객인원을 전부 취소 or 진행상태가 취소 if ($row['inwon']==0 or $row['res_stat_cd']=="D") $row['proc_str'] = "-"; // 예약진행상태 $code_data = base_codec("PRD","HRES",$row['res_stat_cd']); $row['res_stat_str'] = $code_data[0]['cd_nm']; $row['res_stat_color'] = $code_data[0]['cd_memo']; $row['account'] = $arr_account; // 고객 정산용 테이블(TB_ACCOUNT_CUSTOMER)과 내용 맞추기 if($row['sales_total'] > 0) { $row['price_total'] = $row['sales_total']; } else { $row['price_total'] = $row['agent_total']; } $row['price_cost_total'] = $row['sales_total_cost']; // 결제 유무 $row['pay_yn'] = "N"; if ($row['res_stat_cd']=="C" and $arr_account['pre_money']>0) { // 확정예약 && 미결제금액이 '0' 이상 $row['pay_yn'] = "Y"; // 결제가능 } if ($row['res_stat_cd']=="C" and $arr_account['pre_money']==0) { // 확정예약 && 미결제금액이 '0' $row['pay_yn'] = "C"; // 결제완료 } // 진행전달 $code_res = base_codec("PRD","RESP",$row['order_state']); if($cf['MODE']=='admin') { $row['order_state_str'] = $code_res[0]['cd_nm']; //$row['order_state_str2'] = $code_res[0]['cd_nm']; } else { $row['order_state_str'] = _e($code_res[0]['cd_nm']); //$row['order_state_str2'] = _e($code_res[0]['cd_nm']); } $row['order_state_color'] = $code_res[0]['cd_memo']; if($row['order_state']=="A") { if($cf['MODE']=='admin') { $row['order_state_str2'] = "입금대기중"; } else { $row['order_state_str2'] =_e("입금대기중"); } $row['order_state_color2'] = "#E02525"; } else { $row['order_state_str2'] =""; $row['order_state_color2'] = "#333"; if($row['order_state']!="H") { if($cf['MODE']!='admin' && $arr_account['pay_card'] > 0){ $row['order_state_str2'] = _e("카드결제완료"); } else { if($row['agent_id'] == 'benepia'){ $row['order_state_str2'] = '포인트결제완료'; }else{ $row['order_state_str2'] = _e("무통장입금완료"); } } } } // 기타 $row['ins_dt2'] = str_replace("-","/",substr($row['ins_dt'],0,10)); $row['ins_dt3'] = substr($row['ins_dt'],0,10); $row['edit_dt2'] = str_replace("-","/",substr($row['edit_dt'],0,10)); $row['ev_start_yoil'] = get_yoil($row['ev_start'],$cf['lang']); // 행사출발요일 $row['ev_end_yoil'] = get_yoil($row['ev_end'],$cf['lang']); // 행사도착요일 } $data[] = $row; } return $data; } // 예약정보 가공 // function res_good_master_replace($data="") { global $cf; if(!is_array($data)) return $data; // 행사정보 $arr = array(); $sql = "select *, if(d_starttime2<>'',concat(d_starttime,'~',d_starttime2),d_starttime) as d_starttime3, if(d_endtime2<>'',concat(d_endtime2,'~',d_endtime),d_endtime) as d_endtime3, date_format(d_start,'%Y.%m.%d') as d_start2, case date_format(d_start, '%w') when 0 then 'SUN' when 1 then 'MON' when 2 then 'TUE' when 3 then 'WED' when 4 then 'THU' when 5 then 'FRI' when 6 then 'SAT' else '' end as d_start_yo, d_end, date_format(d_end,'%Y.%m.%d') as d_end2, case date_format(d_end, '%w') when 0 then 'SUN' when 1 then 'MON' when 2 then 'TUE' when 3 then 'WED' when 4 then 'THU' when 5 then 'FRI' when 6 then 'SAT' else '' end as d_end_yo, d_content,d_g_inclusion,d_g_noinclusion,d_g_rule , point_yn, point_buy1, point_buy2 from TB_RES_GOOD_DATE where res_no='{$data[res_no]}' "; $row_date = db_fetch($sql); //언어별 요일변경 $row_date['d_start_yo'] = get_yoil($row_date['d_start_yo'],$cf['lang']); $row_date['d_end_yo'] = get_yoil($row_date['d_end_yo'],$cf['lang']); // 교통편 이미지 if ($row_date['d_plane1_cd']) { $d_plane1_arr = base_codec("HTL","ABTU",$row_date['d_plane1_cd']); $d_plane1_arr = $d_plane1_arr[0]; $row_date['d_plane1_img'] = ($d_plane1_arr['cd_img']) ? "<img src='".$d_plane1_arr['cd_img']."'>":""; } if($row_date['d_plane2_cd']) { $d_plane2_arr = base_codec("HTL","ABTU",$row_date['d_plane2_cd']); $d_plane2_arr = $d_plane2_arr[0]; $row_date['d_plane2_img'] = ($d_plane2_arr['cd_img']) ? "<img src='".$d_plane2_arr['cd_img']."'>":""; } // 행사기간 $row_date['d_period'] = ""; if ( ($row_date['d_start']==$row_date['d_end']) ) { $row_date['d_period'] = _e("일일투어"); } else { /* if (!$row_date['periodStr']) $row_date['d_period'] .= "무"; else $row_date['d_period'] .= $row_date['periodStr']; $row_date['d_period'] .= "박 " . (($row_date['period']) ? $row_date['period'] . "일" : ""); */ if (!$row_date['periodStr']) $row_date['d_period'] .= _e("일일투어"); else { if($cf['lang']=='ko') { $row_date['d_period'] .= $row_date['periodStr']. "박 " . (($row_date['period']) ? $row_date['period'] . "일" : ""); } else { if($row_date['period']) $row_date['period'] = $row_date['period'] . _e("일"); $row_date['d_period'] = $row_date['period'] . $row_date['periodStr'] . _e("박"); } } } //style edit $row_date['d_g_inclusion'] = str_replace("font-size:16px;", "", $row_date['d_g_inclusion']); $row_date['d_g_noinclusion'] = str_replace("font-size:16px;", "", $row_date['d_g_noinclusion']); // 운송수단(항공편(A) OR 기타(E)) if ($row_date['d_route'] == "A") { $row_date['d_route_nm'] = "항공수송"; // 출국 if ($row_date['d_plane1_cd']) { $ar_t = TO_get_airline(" and delflag='N' and airline_code='{$row_date[d_plane1_cd]}' "); $row_date['d_plane1_nm'] = $row_date['d_plane1_cd']; if ($ar_t[0]['airnm_kor']) { $row_date['d_plane1_nm'] = $ar_t[0]['airnm_kor']; $row_date['d_plane1_img'] = "<img src='".$ar_t[0]['air_img_src']."' width='22' align='absmiddle'>"; } } // 입국 if ($row_date['d_plane2_cd']) { $row_date['d_plane2_nm'] = $row_date['d_plane2_cd']; $ar_t = TO_get_airline(" and delflag='N' and airline_code='{$row_date[d_plane2_cd]}' "); if ($ar_t[0]['airnm_kor']) { $row_date['d_plane2_nm'] = $ar_t[0]['airnm_kor']; $row_date['d_plane2_img'] = "<img src='".$ar_t[0]['air_img_src']."' width='22' align='absmiddle'>"; } } } else { $row_date['d_route_nm'] = "기타수송"; // 출국 if ($row_date['d_plane1_cd']) { $d_plane1_arr = base_codec("HTL","ABTU",$row_date['d_plane1_cd']); $d_plane1_arr = $d_plane1_arr[0]; $row_date['d_plane1_img'] = ($d_plane1_arr) ? "<img src='".$d_plane1_arr['cd_img']."'>":""; } // 입국 if($row_date['d_plane2_cd']) { $d_plane2_arr = base_codec("HTL","ABTU",$arr['d_plane2_cd']); $d_plane2_arr = $d_plane2_arr[0]; $row_date['d_plane2_img'] = ($d_plane2_arr['cd_img']) ? "<img src='".$d_plane2_arr['cd_img']."'>":""; } } // 행사정보 리턴 $data['date'] = $row_date; // 대리점 가격 $agent_ga_arr = explode("||",$row_date['d_agent_ga']); $arr['d_agent_all'] = array(); if(is_array($agent_ga_arr)) { foreach($agent_ga_arr as $v){ $agent_arr = explode("^",$v); if($agent_arr[0]) { $tmp_arr = get_member($agent_arr[0]); $agent_nm = $tmp_arr['bz_corp_nm']; // A정액제 B정율제 $agent_comm=""; $agent_comm_type=""; $agent_comm_type_str=""; $agent_comm_unit=""; if ($agent_arr[6]) { $agent_comm = $agent_arr[5]; $agent_comm_type = $agent_arr[6]; $agent_comm_unit = ($agent_arr[6]=="A") ? "원":"%"; $agent_comm_str = ($agent_arr[6]=="A") ? "정액제":"정율제"; } $data['d_agent_all'][] = array( 'agent_id' => $agent_arr[0], 'agent_nm' => $agent_nm, 'adult_price' => $agent_arr[1], 'child_price' => $agent_arr[2], 'baby_price' => $agent_arr[3], //'infant_price' => $agent_arr[4], 'buy_dc_rate' => $agent_arr[7], 'adult_buy_price' => $agent_arr[8], 'child_buy_price' => $agent_arr[9], 'baby_buy_price' => $agent_arr[10], 'agent_comm' => $agent_comm, 'agent_comm_type' => $agent_comm_type, 'agent_comm_unit' => $agent_comm_unit, 'agent_comm_str' => $agent_comm_str ); } } } // 공급가 (KEN) $data['adult_buy_tot'] = $data['adult_buy'] * $data['adult_inwon']; $data['child_buy_tot'] = $data['child_buy'] * $data['child_inwon']; $data['baby_buy_tot'] = $data['baby_buy'] * $data['baby_inwon']; // 공급가 합계 $data['buy_tot'] = $data['adult_buy_tot'] + $data['child_buy_tot'] + $data['baby_buy_tot']; // 거래처가 210209 $data['adult_agent_tot'] = $data['adult_agent'] * $data['adult_inwon']; $data['child_agent_tot'] = $data['child_agent'] * $data['child_inwon']; $data['baby_agent_tot'] = $data['baby_agent'] * $data['baby_inwon']; // 거래처가 합계 $data['agent_tot'] = $data['adult_agent_tot'] + $data['child_agent_tot'] + $data['baby_agent_tot']; //2019-10-18 옵션상품 정보 //$sql = "select *,(op_price_sell * op_num) as tot_op_price from TB_RES_GOOD_OPTION where res_no='{$data[res_no]}' and opitp='P' "; $sql = "select *,(op_price_sell_fr * op_num) as tot_op_price from TB_RES_GOOD_OPTION where res_no='{$data[res_no]}' and opitp='P' "; $res = db_query($sql); while($op_row = db_fetch_array($res)) { $data['d_good_option_all'][] = $op_row; } // 추가항목 정보 $sql = "select * from TB_RES_GOOD_OPTION where res_no='{$data[res_no]}' and opitp='A' "; $rs = db_query($sql); while($r = db_fetch_array($rs)) { $data['d_good_addon_all'][] = $r; } return $data; } // 예약정보 가져옴 // // @param $res_no : 예약번호 or 예약정보배열 // @param $full : 행사정보/동행자정보 가져올지 여부 (true:가져옴, false:안가져옴) // @return : 배열 function TO_get_reserve($res_no, $full=false) { global $cf; if (!$res_no) return array(); //예약자 실 카운터 $sql_person_count =" (select count(iDX) from TB_ResPerson Where Res_No='".$res_no."' AND cmptype='adult') as cPerson1, "; $sql_person_count .=" (select count(iDX) from TB_ResPerson Where Res_No='".$res_no."' AND cmptype='child') as cPerson2 ,"; $sql_person_count .=" (select count(iDX) from TB_ResPerson Where Res_No='".$res_no."' AND cmptype='baby') as cPerson3 ,"; // 예약정보배열이 아닐 경우 if (!is_array($res_no)) { $sql = "select ri.*, rm.*, ".$sql_person_count." d.g_uid as Res_g_uid, d.d_uid as Res_d_uid, (select CdName from TB_CodeB where CodeID = 'RST' AND DelFlag='N' and rm.Order_State=Code) as Order_Status_Str, (select Res_KName FROM TB_ResPerson where Res_No = rm.Res_No and OrderNum = '1') as Res_KName from TB_ResMain rm left join TB_ResI01 ri on rm.Res_No = ri.Res_No left join `date` d on ri.d_uid = d.d_uid where rm.Res_No = '$res_no'"; $row = db_fetch($sql); } // 예약정보배열일 경우 else { $row = $res_no; } $row = TO_stripslashes($row); // stripslashes 처리 // 날짜 설정 (년월일) $row['RegDay'] = TO_date_type($row['RegDate'], 1); // 등록일 $row['EditDay'] = TO_date_type($row['EditDate'], 1); // 수정일 // 영수 설정 $row['Yongsu_gu_str'] = "미영수"; if (($row['Yongsu_gu']) == "Y") $row['Yongsu_gu_str'] = "청구"; else if (($row['Yongsu_gu']) == "N") $row['Yongsu_gu_str'] = "미영수"; else if (($row['Yongsu_gu']) == "D") $row['Yongsu_gu_str'] = "영수완료"; // 상세금액 설정 $row['Detail_Price'] = ""; if ((int)$row[cPerson1] > 0) { // 성인 //$row['Detail_Price'] .= "성인 : " . number_format($row[Price1]) . "원 × " . (int)$row[Person1]; $row['Detail_Price'] .= "성인 : " . _eunit($row[Price1]) . " × " . (int)$row[Person1]; } if ((int)$row[cPerson2] > 0) { // 아동 if ($row['Detail_Price']) $row['Detail_Price'] .= " / "; $row['Detail_Price'] .= "아동 : " . _eunit($row[Price2]) . " × " . (int)$row[Person2]; } if ((int)$row[cPerson3] > 0) { // 유아 if ($row['Detail_Price']) $row['Detail_Price'] .= " / "; $row['Detail_Price'] .= "유아 : " . _eunit($row[Price3]) . " × " . (int)$row[Person3]; } // 취소가능 설정 $row['is_cancel'] = false; if ($row['Order_State'] == "A" || $row['Order_State'] == "F") { $row['is_cancel'] = true; } // 예약상태 아이콘 $row['Order_State_icon'] = "<img src='$cf[url]/admin/image/res/icon_" . strtoupper($row['Order_State']) . ".gif' align='absmiddle' />"; // 결제방법 $row['Payment_Style_str'] = ""; switch ($row['Payment_Style']) { case "CARD": // 카드 $row['Payment_Style_str'] = "신용카드"; // 신용카드명 $row['Payment_Style_str'] .= "(" . $row['Card_Name']; // 할부 설정 if ((int)$row['Installment'] > 0) $row['Payment_Style_str'] .= "/" . (int)$row['Installment'] . "개월)"; else $row['Payment_Style_str'] .= "/일시불)"; break; case "TRAN": // 계좌이체 $row['Payment_Style_str'] = "계좌이체"; // 이체은행 $row['Payment_Style_str'] .= "(" . $row['Bank_Name'] . ")"; break; case "BANK": // 무통장입금 default: $row['Payment_Style_str'] = "무통장입금"; // 계좌정보 가져옴 $sql = "select * from TB_Account where Aidx = '{$row[Bank_Aidx]}'"; $bank = db_fetch($sql); if ($bank[Aidx]) { $row['Payment_Style_str'] .= "([" . $bank['BankName'] . "] " . $bank['BankNumber'] . " : " . $bank['BankUser'] . ")"; } } // 결제상태(???) $row['Pay_Result_str'] = ""; if ($row['Pay_Result'] == "READY") { $row['Pay_Result_str'] = "결제대기"; } else if($row['Pay_Result'] == "REQUEST") { $row['Pay_Result_str'] = "결제요청"; } // 공짜패키지(???) $row['FreePak_str'] = ""; if ($row['FreePak'] == "Y") { if ($row['Module_Chk05'] == "Y") { $row['FreePak_str'] = "<span class='freepak'>[A+]</span>"; } else { $row['FreePak_str'] = "<span class='freepak'>[FREE]</span>"; } } // 핸드폰 문자열 $row['Hp_No_str'] = ""; if ($row['Hp_No']) $row['Hp_No_str'] = "HP. " . $row['Hp_No']; // 출발일 문자열 $row['Tour_Start_str'] = ""; if ($row['Tour_Start']) $row['Tour_Start_str'] = TO_date_type($row['Tour_Start'], 1, true); // 도착일 문자열 $row['Tour_End_str'] = ""; if ($row['Tour_End']) $row['Tour_End_str'] = TO_date_type($row['Tour_End'], 1, true); // 행사정보/동행자정보 가져올지 여부 if ($full == true) { // 행사(출발상품) 정보 가져옴 $row['Res_date'] = TO_get_date($row['Res_g_uid'], $row['Res_d_uid']); // 동행자 정보 가져옴 $row['Res_person'] = TO_get_reserve_person($row['Res_No']); } return $row; } // 해당 예약의 동행(여행)자 가져옴(XXX) // // @param $res_no : 예약번호 // @return : 배열 function TO_get_reserve_person($res_no) { $arr = array(); if (!$res_no) return $arr; $sql = "select * from TB_ResPerson where Res_No = '$res_no' order by OrderNum"; $rs = db_query($sql); while ($row = db_fetch_array($rs)) { $row = TO_stripslashes($row); // stripslashes 처리 // 여권유무 //$row['Res_PassStr'] = ($row['Res_Pass'] == "Y") ? "있음" : "없음"; $row['Res_PassStr'] = ($row['Res_Pass'] == "Y") ? "YES" : "NO"; $arr[] = $row; } return $arr; } // 예약 동행자 정보 // function res_good_date_person($res_no,$seq="",$sql_where="") { $table = "TB_RES_GOOD_PERSON"; $data = array(); if (!$res_no) return $data; $sql = "select * from {$table} where res_no='{$res_no}' "; // 조건 if ($seq) $sql .= " and seq='{$seq}' "; $sql .= " {$sql_where} "; // 정렬 $sql .= " order by proc_cancel ,seq "; $rs = db_query($sql); while($row = db_fetch_array($rs)) { // 성인/아동/유아/유아 switch($row['generation']) { case "A": $row['generation_str'] = _e("성인"); break; case "C": $row['generation_str'] = _e("아동"); break; case "B": $row['generation_str'] = _e("유아"); break; case "I": $row['generation_str'] = _e("영아"); break; } // 성별 if ( $row['gend'] == "M" ) $row['gend_str'] = _e("남"); else if ( $row['gend'] == "F" ) $row['gend_str'] = _e("여"); // 영문이름 $name_eng_arr = explode("||",$row['name_eng']); $row['name_eng1'] = $name_eng_arr[0]; $row['name_eng2'] = $name_eng_arr[1]; $data[] = $row; } return $data; } // // 상품 행사 예약 데이터 계산 // // params @rdata : 행사 선택 정보 // return array function res_GoodDateCalculate($rdata=array()) { global $cf; $data = array(); if(!is_array($rdata)) return $data; $class_v = new CommonTour(); /*if(devCookie()){ if($rdata['g_uid'] == '2152') { $rdata['g_uid'] = '2037'; } }*/ // 행사 정보 $rows = date_list($rdata['g_uid'] , "none" , " and d_uid='".$rdata['d_uid']."' "); $row = date_list_replace($rows[0]); // 행사가격 계산 $adult_price = (float)$row['adult_price']; $child_price = (float)$row['child_price']; $baby_price = (float)$row['baby_price']; $infant_price = (float)$row['infant_price']; //2019-10-18 원화를 각 통화금액으로 변환 if($cf['curunit'] == "KRW") { $adult_price_fr = $adult_price; $child_price_fr = $child_price; $baby_price_fr = $baby_price; $infant_price_fr = $infant_price; $adult_oil_fr = (float)$row['adult_oil']; $child_oil_fr = (float)$row['child_oil']; $baby_oil_fr = (float)$row['baby_oil']; $infant_oil_fr = (float)$row['infant_oil']; } else { $adult_price_fr = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$adult_price)); $child_price_fr = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$child_price)); $baby_price_fr = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$baby_price)); $infant_price_fr = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$infant_price)); $adult_oil_fr = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>(float)$row['adult_oil'])); $child_oil_fr = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>(float)$row['child_oil'])); $baby_oil_fr = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>(float)$row['baby_oil'])); $infant_oil_fr = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>(float)$row['infant_oil'])); } // 거래처가격 if($rdata['agent_id']) { if(is_array($row['d_agent_all'])){foreach($row['d_agent_all'] as $v){ if($v['agent_id']==$rdata['agent_id']) { $adult_price = (float)$v['adult_price']; $child_price = (float)$v['child_price']; $baby_price = (float)$v['baby_price']; $infant_price = (float)$v['infant_price']; $adult_buy_price = (float)$v['adult_buy_price']; $child_buy_price = (float)$v['child_buy_price']; $baby_buy_price = (float)$v['baby_buy_price']; } }} } $tot_adult = (float)$adult_price * (int)$rdata['adult_inwon']; $tot_child = (float)$child_price * (int)$rdata['child_inwon']; $tot_baby = (float)$baby_price * (int)$rdata['baby_inwon']; $tot_infant = (float)$infant_price * (int)$rdata['infant_inwon']; $tot_adult_fr = $adult_price_fr * (int)$rdata['adult_inwon']; $tot_child_fr = $child_price_fr * (int)$rdata['child_inwon']; $tot_baby_fr = $baby_price_fr * (int)$rdata['baby_inwon']; $tot_infant_fr = $infant_price_fr * (int)$rdata['infant_inwon']; $tot_date = $tot_adult + $tot_child +$tot_baby + $tot_infant; $tot_date_fr = $tot_adult_fr + $tot_child_fr +$tot_baby_fr + $tot_infant_fr; // 판매처별 공급가 if($adult_buy_price > 0) $row['adult_buy'] = $adult_buy_price; if($child_buy_price > 0) $row['child_buy'] = $child_buy_price; if($baby_buy_price > 0) $row['baby_buy'] = $baby_buy_price; // 공급가 합계 $adult_buy_tot = $row['adult_buy'] * $rdata['adult_inwon']; $child_buy_tot = $row['child_buy'] * $rdata['child_inwon']; $baby_buy_tot = $row['baby_buy'] * $rdata['baby_inwon']; $infant_tot = $row['infant_buy'] * $rdata['infant_inwon']; // 공급가 합계 $buy_total = $adult_buy_tot + $child_buy_tot + $baby_buy_tot + $infant_tot; // 옵션가격 계산 $data_option = $row['good_option_all']; $tot_option = 0; $tot_option_fr = 0; for($i=0 ; $i<count($rdata['opid_arr']) ; $i++){ if(is_array($data_option)){foreach($data_option as $op) { // 사용자에서 쓰는 옵션상품개수 파라메터 $op_num = (int)$rdata['opid_num_arr'][$i]; // 관리자에서 쓰는 옵션상품 파라메터 if($rdata['op_num_arr'][$i]) $op_num = $rdata['op_num_arr'][$i]; if($op['opid']==$rdata['opid_arr'][$i]) { $tot_option += $tot_op[] = ($rdata['agent_id']) ? (float)$op['op_price_agent'] * (int)$op_num : (float)$op['op_price_sell'] * (int)$op_num ; $tot_option_fr += $tot_op_fr[] = (float)$op['op_price_sell_fr'] * (int)$op_num ; /* $tot_option += $tot_op[] = ($rdata['agent_id']) ? (float)$op['op_price_agent'] * (int)$op_num : (float)$op['op_price_sell'] * (int)$op_num ; */ } }} } // 합계 $sales_total = $tot_date + $tot_option; $sales_total_fr = $tot_date_fr + $tot_option_fr; /*if(devCookie()){ echo '$sales_total is '.$sales_total.'<br>'; echo '$sales_total_fr is '.$sales_total_fr.'<br>'; }*/ // 행사소계, 옵션상품 소계 , 판매가 합계 $data = array( 'tot_adult' =>$tot_adult,'tot_child'=>$tot_child,'tot_baby'=>$tot_baby,'tot_infant'=>$tot_infant, 'tot_date' =>$tot_date, 'tot_op' =>$tot_op,'tot_option'=>$tot_option, 'oil_money1' => $row['adult_oil'] , 'oil_money2'=>$row['child_oil'] , 'oil_money3'=>$row['baby_oil'] , 'oil_money4'=>$row['infant_oil'], 'sales_total' =>$sales_total, 'tot_adult_fr' =>$tot_adult_fr,'tot_child_fr'=>$tot_child_fr,'tot_baby_fr'=>$tot_baby_fr,'tot_infant_fr'=>$tot_infant_fr, 'tot_date_fr' =>$tot_date_fr, 'tot_op_fr' =>$tot_op_fr,'tot_option_fr'=>$tot_option_fr, 'oil_money1_fr' => $adult_oil_fr , 'oil_money2_fr'=>$child_oil_fr , 'oil_money3_fr'=>$baby_oil_fr , 'oil_money4_fr'=>$infant_oil_fr, 'sales_total_fr' =>$sales_total_fr, 'buy_total' => $buy_total ); return $data; } /****************************************************************************** * * 5. 정산 * ******************************************************************************/ // XXXXXXXXXXXXXXXXXXXXXXXXXXXX // 여행상품 정산 정보(행사기준) // // params d_uid : 행사ID // params seq : function acc_good_date($d_uid,$seq="") { $table = "TB_ACCOUNT_GOOD"; $data['list'] = array(); // 정산 항목 목록 $data['calu'] = array(); // 정산 누적금액 및 이익율 계산 $revn_tot = 0; // 수익계 $exes_tot = 0; // 비용계 if (!$d_uid) return $data; $sql = "select * from {$table} where d_uid='{$d_uid}' "; if ($seq) $sql .= " and seq='{$seq}' "; $sql .= " order by acc_dt , ins_dt "; $rs = db_query($sql); // 각 항목 조회 for($i=0 ; $row=db_fetch_array($rs) ; $i++) { $revn_tot += $row['revn_price']; // 수익계 $exes_tot += $row['exes_price']; // 비용계 $data['list'][] = $row; } if (!$seq ) { $arr = array(); $comm_tot = 0; // 수수료 수익 $incom_tot =0; // 총수익 $tot_pay = 0; // 총입금액 $price_total = 0; // 판매금액 if ( count($data['list']) > 0 ) // 정산정보가 있음 { // 판매(입금)액 //$arr_t = res_good_master(" and ev_uid='{$d_uid}' and res_stat_cd='C' "); $arr_t = res_good_master(" and ev_uid='{$d_uid}' and res_stat_cd in ('C','E') "); for($i=0 ; $i<count($arr_t) ; $i++) { $price_total += $arr_t[$i]['price_total']; } // 알선수수료 = 판매금액 - 비용계(2014-07-29) $comm_tot = $price_total - $exes_tot; // 총수익 = 알선수수료 + 수익계(COM,수수료 등) $incom_tot = $comm_tot + $revn_tot; } $arr['revn_tot'] = $revn_tot; // 비용계 $arr['exes_tot'] = $exes_tot; // 수익계 $arr['comm_tot'] = $comm_tot; // 알선수수료 $arr['incom_tot'] = $incom_tot; // 총수익 $data['calu'] = $arr; } // return return $data; } // XXXXXXXXXXXXXXXXXXXXXXXXXXXX // 여행상품 정산 정보(예약기준) // // params res_no : 예약번호 // params seq : function acc_good_date_res($res_no,$seq="") { $table = "TB_ACCOUNT_GOOD"; $data['list'] = array(); // 정산 항목 목록 $data['calu'] = array(); // 정산 누적금액 및 이익율 계산 $revn_tot = 0; // 수익계 $exes_tot = 0; // 비용계 $exes_common = 0; // 출금지출(2014-07-29) $exes_vat = 0; // 부가세 지출(2014-07-29) if (!$res_no) return $data; $sql = "select * from {$table} where res_no='{$res_no}' "; if ($seq) $sql .= " and seq='{$seq}' "; $sql .= " order by acc_dt , ins_dt "; $rs = db_query($sql); // 각 항목 조회 for ($i=0 ; $row=db_fetch_array($rs) ; $i++) { $revn_tot += $row['revn_price']; // 수익계 $exes_tot += $row['exes_price']; // 비용계,총지출 = 출금지출 + 부가세 지출(2014-07-29) if($row['exes_cd']=="EXES006") // 부가세 지출(2014-07-29) { $exes_vat += $row['exes_price']; } else // 출금 지출(2014-07-29) { $exes_common += $row['exes_price']; } $data['list'][] = $row; } if (!$seq) { $arr = array(); $comm_tot = 0; // 수수료 수익 $incom_tot =0; // 총수익 if ( count($data['list']) > 0 ) { // 정산정보가 있음 // 판매(입금)액 $arr_t = res_good_master(" and res_no='{$res_no}' "); $price_total = $arr_t[0]['price_total']; // 알선수수료 = 판매액 - 비용계(항공,지상비등등) $comm_tot = $price_total - $exes_tot; // 총수익 = 알선수수료 + 수익계(COM,수수료 등) $incom_tot = $comm_tot + $revn_tot; } $arr['revn_tot'] = $revn_tot; $arr['exes_tot'] = $exes_tot; // 총지출 = 출금지출 + 부가세 지출 $arr['exes_common'] = $exes_common; // 출금 지출(2014-07-29) $arr['exes_vat'] = $exes_vat; // 부가세 지출(2014-07-29) $arr['comm_tot'] = $comm_tot; // 알선수수료 $arr['incom_tot'] = $incom_tot; // 총수익 $data['calu'] = $arr; } // return return $data; } /* * [son] 상품상세페이지에서 언어가 변경될때 * 상품과 해당 언어의 사용 매치 체크 bc.b_lang * 해당 언어에 맞는 같은 코드의 다른 상품으로 리다이렉트 * */ function bc_category_check($g_uid) { global $cf; //상품정보 $row = db_fetch("select * from good where g_uid='{$g_uid}'"); if(empty($row)) return; //1차 카테고리 정보 $bcRow = db_fetch("select * from bc where b_uid='{$row['b_uid']}'"); if(empty($bcRow)) return; //언어 확인 if(!empty($row['tour_code']) && $cf['lang']!=$bcRow['b_lang']) { // $sql = "select A.* from good A inner join bc B on A.b_uid=B.b_uid"; $sql .= " where 1"; $sql .= " and A.tour_code='{$row['tour_code']}'"; $sql .= " and B.b_lang='{$cf['lang']}'"; $otherRow = db_fetch($sql); if(empty($otherRow)) { $url = '/'; } else { $url = $_SERVER['PHP_SELF'].'?b_uid_s='.$otherRow['b_uid'].'&m_uid_s='.$otherRow['m_uid'].'&s_uid_s='.$otherRow['s_uid'].'&g_uid='.$otherRow['g_uid']; } error_msg("top.document.location.href='{$url}';","script"); } } // 상품목록 전체보기에서 사용하는 함수 function TO_good_date_data($g_uid) { global $cf, $curunit, $CommonTour_v; $table = "TB_GOOD_DATE_TYPE"; $data = array(); // 상품정보 $sql = "SELECT * FROM good WHERE g_uid = '{$g_uid}'"; $row_good = db_fetch($sql); $sql = "select * from {$table} where g_uid='{$g_uid}' "; $sql .= " and del_flag='N' and disp_yn ='Y'"; $sql .= " order by order_num "; $yoil_list = array('월', '화', '수', '목', '금', '토', '일'); $rs = db_query($sql); for($i=0 ; $row = db_fetch_array($rs) ; $i++) { // 행사명 $data['type_nm'][] = $row['date_type_nm']; // 행사일정데이터 $sql = "SELECT MIN(d_start) AS s_date, MAX(d_start) AS e_date, MAX(d_people3) as people3, MAX(d_gr_people_min) as gr_people, MAX(d_pe_people_inwon) as pe_people, MAX(d_money1) as a_sell, MAX(d_money2) as c_sell, MAX(d_buy1) as a_buy, MAX(d_buy2) as c_buy FROM date WHERE dtid = '{$row['dtid']}'"; // 판매기간 $data_date = db_fetch($sql); $data['sales_period'][] = $data_date['s_date'] . ' ~ ' . $data_date['e_date']; // 출발요일 $yoil_arr = array(); $sql = "select d_start, WEEKDAY(d_start) as yoil FROM date WHERE dtid = '{$row['dtid']}' GROUP BY yoil ORDER BY yoil asc"; $rs_yoil = db_query($sql); if($rs_yoil) { while($row_yoil=db_fetch_array($rs_yoil)){ $yoil_arr[] = $yoil_list[$row_yoil['yoil']]; } $data['start_yoil'][] = implode(",", $yoil_arr); } // 최소출발 if($row_good['tab']=='D') { //데이투어 if($row_good['gdt']=='gr') { //단체투어 $data['start_num'][] = $data_date['gr_people']; } else { //단독투어 $data['start_num'][] = "1~".$data_date['pe_people']; } } else { //패키지 $data['start_num'][] = $data_date['people3']; } // 원화를 각 통화금액으로 변환 if($curunit =='KRW') { $sell_price_adult = $data_date['a_sell']; $sell_price_child = $data_date['c_sell']; $buy_price_adult = $data_date['a_buy']; $buy_price_child = $data_date['c_buy']; } else { $sell_price_adult = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$curunit,money=>$data_date['a_sell'])); $sell_price_child = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$curunit,money=>$data_date['c_sell'])); $buy_price_adult = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$curunit,money=>$data_date['a_buy'])); $buy_price_child = $CommonTour_v->exchangeMoney_Reverse(array("ext_eng"=>$curunit,money=>$data_date['c_buy'])); } // 판매가 $data['sell_price_adult'][] = $sell_price_adult; $data['sell_price_child'][] = $sell_price_child; $data['buy_price_adult'][] = $buy_price_adult; $data['buy_price_child'][] = $buy_price_child; } return $data; } /** * @author taeyoung * 2022.06.24 * 휴일 데이터 가져오기 */ function get_holiday(){ $table = "TB_HOLIDAY"; $data = array(); $nowTime = time(); $sql = "SELECT * FROM TB_HOLIDAY WHERE timestamp >= {$nowTime} AND nation = 'ko' ORDER BY holidayid DESC "; $rs = db_query($sql); $data = array(); while($row = db_fetch_array($rs)){ $data[$row['holiday_date']] = $row; // array_push($data, $row); } return $data; } // by taeyoung // 2022.06.07 // 해당 상품의 할인 옵션 가져오기 function get_discount_option($g_uid) { $table = "TB_GOOD_DISCOUNT"; $data = array(); // 상품정보 if($_SERVER['REMOTE_ADDR'] == '14.6.87.193'){ $sql = "SELECT * FROM {$table} WHERE g_uid = '{$g_uid}' AND disp_yn ='Y' ORDER BY order_num ASC"; }else{ $sql = "SELECT * FROM {$table} WHERE g_uid = '{$g_uid}' AND disp_yn ='Y' AND dc_test = 'N' ORDER BY order_num ASC"; } $rs = db_query($sql); for($i=0 ; $row = db_fetch_array($rs) ; $i++) { array_push($data, $row); } return $data; } /** * by taeyoung * 2022.06.15 * SEO 메타데이터 불러오기 */ function meta_data($tableName, $dataSeq){ $data = array(); if(!$tableName || !$dataSeq){ return false; } $seqFieldName = 'g_uid'; $nameField = 'g_title'; if($tableName == 'TB_HOTEL'){ $seqFieldName = 'hseq'; $nameField = 'hotel_nm'; }else{ $tableName = "good"; } // 상품정보 $sql = "SELECT {$nameField} AS g_title, seo_keyword, seo_desc, sns_share_img FROM {$tableName} WHERE {$seqFieldName} = '{$dataSeq}'"; /*if(devCookie()){ echo $sql; }*/ $rs = db_query($sql); for($i=0 ; $row = db_fetch_array($rs) ; $i++) { array_push($data, $row); } return $data; } /** * by taeyoung * 2022.06.27 * 휴일 데이터 불러오기 */ function get_holiday_list(){ $sql = "SELECT * FROM TB_HOLIDAY ORDER BY holiday_date ASC"; $rs = db_query($sql); $data = array(); $calendarHolidayData = array(); while($row = db_fetch_array($rs)){ array_push($data, $row); $calendarHolidayData[$row['holiday_date']] = $row; } return $calendarHolidayData; } /** * @author taeyoung * 상품목록 바텍 * 2022.07.14 * */ // 해외패키지 기초상품 목록 // function good_list_vatech($sql_where="",$sql_order="",$olds=0,$line=0) { global $cf,$TO_CF,$TO_MB; // 대리점(2017-03-23.허종) if ($cf['MODE']=="user" and $TO_MB['mb_level']==$cf['agent_level']) $agent_id = $TO_MB['mb_id']; $class_v = new CommonTour(); $BD_SET = TO_get_board_setup('',$cf['grp']); $BD_CD_REV = $BD_SET[2][BD_CD]; // REVIEW BD_CD 언어별 후기게시판 $table = "good"; $upload = $cf['path']."/FileData/good/"; $upload_thumb = $cf['path']."/FileData/good_thum/"; $upload2 = "/FileData/good/"; $upload_thumb2 = "/FileData/good_thum/"; //$tour_join = _e("조인투어"); //$tour_one = _e("단독투어"); $sql = "select * , (select b_name from bc where bc.b_uid=good.b_uid limit 1) as b_uid_nm , (select m_name from mc where mc.m_uid=good.m_uid limit 1) as m_uid_nm , if(gdt='gr','조인투어','단독투어') as gdt_nm from {$table} where 1 = 1 AND welfare = 'vatech'"; // 조건 if ( $sql_where ) $sql .= " ".$sql_where ; // 정렬 if ( $sql_order ) $sql .= " order by ".$sql_order; else $sql .= " order by g_no asc , g_regdate desc "; // 페이징 if ( $olds >= 0 and $line > 0 ) $sql .= " limit $olds , $line"; $data = array(); $rs = db_query($sql); $i=0; while($rows = db_fetch_array($rs)) { $data[$i] = $rows; // 이미지-관리자디렉토리위치 if ( is_file($upload.$rows['g_image1']) ) { $data[$i]['img_src'] = $upload2.$rows['g_image1']; $data[$i]['img_src_thum'] = $upload_thumb2.$rows['g_image1']; } else { $data[$i]['img_src'] = $cf['TO_IMG']['no_image_s']; $data[$i]['img_src_thum'] = $cf['TO_IMG']['no_image_s']; } // 이미지-사용자디렉토리위치 if ( $rows['g_image1'] ) { $data[$i]['img_src2'] = $upload2.$rows['g_image1']; $data[$i]['img_src2_thum'] = $upload_thumb2.$rows['g_image1']; } else { $data[$i]['img_src2'] = $cf['TO_IMG']['no_image_s']; $data[$i]['img_src2_thum'] = $cf['TO_IMG']['no_image_s']; } //상품명 $data[$i]['g_title'] = $rows[g_title]; //담당자 정보 $data[$i]['officer'] = to_get_officer($rows[admin_id]); //공급처 아이디 $data[$i]['producer_id'] = $rows[producer_id]; // 추천 기초코드 이미지 매칭 $cdimg = ""; $cdnm = ""; if($cf['MODE']=='admin') { $rowb = db_fetch_array(db_query("select b_lang from bc where b_uid='$rows[b_uid]'")); // 상품특징아이콘 if($rowb['b_lang']=='ko' || $rowb['b_lang']=='ag') $icon_code = "TSPE"; elseif($rowb['b_lang']=='en') $icon_code = "TSIE"; elseif($rowb['b_lang']=='cn') $icon_code = "TSIC"; elseif($rowb['b_lang']=='hk') $icon_code = "TSIH"; $data[$i]['lang'] = $rowb['b_lang']; } else { // 상품특징아이콘 if($cf['lang']=='ko' || $cf['lang']=='ag') $icon_code = "TSPE"; elseif($cf['lang']=='en') $icon_code = "TSIE"; elseif($cf['lang']=='cn') $icon_code = "TSIC"; elseif($cf['lang']=='hk') $icon_code = "TSIH"; } $code_arr = base_codec("TGO",$icon_code,"","N"); $g_type_arr = explode(",",$rows['g_type']); for( $j=0 ; $j<count($g_type_arr) ; $j++) { if($g_type_arr[$j]) { $str = ""; for( $k=0 ; $k<count($code_arr) ;$k++){ if ( $code_arr[$k]['code']==$g_type_arr[$j] ) { if($cf['is_mobile'] == true && $code_arr[$k]['cd_memo']) { $cdimg .= "<img src='".$code_arr[$k]['cd_memo']."' title='".$code_arr[$k]['cd_nm']."' border='0' align='adsmiddle'> "; } else { $cdimg .= "<img src='".$code_arr[$k]['cd_img']."' title='".$code_arr[$k]['cd_nm']."' border='0' align='adsmiddle'> "; } $cdnm .= "<span>" . $code_arr[$k]['cd_nm'] . "</span>"; } } } } $data[$i]['special_icon'] = $cdimg; $data[$i]['special_nm'] = $cdnm; $data[$i]['g_type'] = $rows['g_type']; $apiimg = ""; if($rows['g_api']){ $g_api_arr = explode(",",$rows['g_api']); foreach($g_api_arr as $k => $v){ $apiimg .= "<img src='/admin/image/partner/".strtolower($v).".png' border='0' align='adsmiddle' title='API연동 : ".$v."'> "; } $data[$i]['api_icon'] = $apiimg; } // 등록일,수정일 $data[$i]['g_regdate2'] = str_replace("-",".",$rows['g_regdate']); $data[$i]['g_regdate3'] = substr(str_replace("-",".",$rows['g_regdate']),0,10); $data[$i]['g_moddate2'] = str_replace("-",".",$rows['g_moddate']); $data[$i]['g_moddate3'] = substr(str_replace("-",".",$rows['g_moddate']),0,10); // 지역 if ($rows['Cidx']) { $tmp_arr = to_area_c($rows['Aidx'],$rows['Bidx'],$rows['Cidx']); $area_arr = $tmp_arr[0]; $data[$i]['area'] = $area_arr['NationName']." > ".$area_arr['CityName']; } // 전시 if ($rows['g_ok']=="Y"){ $data[$i]['g_ok_opp'] = "N"; $data[$i]['use_img'] = $cf['icon']['start']; }else{ $data[$i]['g_ok_opp'] = "Y"; $data[$i]['use_img'] = $cf['icon']['stop']; } // 대표가(최저가 , 최고가) /* $sql = "select min(d_money1) as min_price,max(d_money1) as max_price, min(d_money4) as min_price_sell from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y') AND d_money1 >0 group by g_uid "; */ /* $sql = "select min(d_money1) as min_price,max(d_money1) as max_price, min(d_money4) as min_price_sell from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y' order by dtid) AND d_money1 >=0 group by g_uid "; */ // 220112 상품 목록에 표기 (대인+소인 중 최소값) $sql = "select MIN(NULLIF(d_money1, 0)) as min_price1, MIN(NULLIF(d_money2, 0)) as min_price2, max(d_money1) as max_price, min(d_money4) as min_price_sell from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y' order by dtid) AND d_money1 >=0 group by g_uid "; $arr_t = db_fetch($sql); //2019-10-18 원화를 각 통화금액으로 변환 if($cf['curunit'] == 'KRW') { $data[$i]['min_price_sell'] = $arr_t['min_price_sell']; } else { $data[$i]['min_price_sell'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_t['min_price_sell'])); } //00명의 선택 if($cf['MODE']=='admin') { $data[$i]['g_select_num'] = $rows['g_select_num']; } else { $data[$i]['g_select_num'] = number_format($rows['g_select_num']); } //후기카운트, 별점 가져오기 if($BD_CD_REV) { $sql_where = " where MSEQ > 0 "; $sql_where .= " and b_uid='{$rows[b_uid]}' and m_uid='{$rows[m_uid]}' and s_uid='{$rows[s_uid]}' and g_uid='{$rows[g_uid]}' "; // 리스트 수 가져옴 $sql = "select count(*) as total, ROUND(AVG(star_rating),1) as starAVG from {$BD_CD_REV} $sql_where"; $r3 = db_fetch($sql); $data[$i]['review_total'] = $r3[total]; //후기카운트 $data[$i]['star_avg'] = $r3[starAVG]; //별점 평균 if(!$data[$i]['star_avg']) $data[$i]['star_avg'] = '5.0'; } // 대리점 가격 if($agent_id) { $sql = "select d_agent_ga from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y' order by dtid) AND d_agent_ga!='' group by g_uid "; $arr_t = db_fetch($sql); $agent_ga_arr = explode("||",$arr_t['d_agent_ga']); if(is_array($agent_ga_arr)) { foreach($agent_ga_arr as $v){ $agent_arr = explode("^",$v); if($agent_arr[0]==$agent_id) { //$agent_arr[0] agent id //$agent_arr[1] adult_price //$agent_arr[2] child_price //$agent_arr[3] baby_price //$agent_arr[4] infant_price //$agent_arr[5] 할인율 $arr_t['agent_price_sell'] = (int)$agent_arr[1]; } } } $arr_t['min_price'] = $arr_t['agent_price_sell']; $arr_t['max_price'] = $arr_t['agent_price_sell']; } //end $agent_id // 220112 대인 + 소인 중 최소값 (0 제외) if($arr_t['min_price2'] > 0) { $min_price = $arr_t['min_price2']; } else if($arr_t['min_price1'] > 0) { $min_price = $arr_t['min_price1']; } else { $min_price = 0; // 요금문의 } //2019-10-18 가격 -> 각 통화가격변환 if($cf['curunit'] == 'KRW') { $data[$i]['min_price'] = $min_price; $data[$i]['max_price'] = $arr_t['max_price']; } else { $data[$i]['min_price'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$min_price)); $data[$i]['max_price'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_t['max_price'])); } // 외환사용 /* if($data[$i]['exchange_fg']=="Y") { $data[$i]['min_price'] = $class_v -> exchangeMoney(array("exid"=>$data[$i]['exid'],"money"=>$arr_t['min_price'])); $data[$i]['max_price'] = $class_v -> exchangeMoney(array("exid"=>$data[$i]['exid'],"money"=>$arr_t['max_price'])); }else{ $data[$i]['min_price'] = $arr_t['min_price']; $data[$i]['max_price'] = $arr_t['max_price']; } */ $data[$i]['main_to_max_price'] = "<span class='txt_price'>"._e("요금문의")."</span>"; $data[$i]['main_to_max_price2'] = "<span class='txt_price'>"._e("요금문의")."</span>"; if( $data[$i]['min_price'] > 0 ) { $data[$i]['main_to_max_price'] = _eunit($data[$i]['min_price']) . " ~ " . _eunit($data[$i]['max_price']); $data[$i]['main_to_max_price2'] = _eunit($data[$i]['min_price']); } // 대표 박수 $sql = "select if((periodStr=0 or periodStr is null) and Period=1,'"._e('당일')."',concat(periodStr,'"._e('박')."',Period,'"._e('일')."')) period_date "; $sql .= " FROM date WHERE d_start>=CURDATE() AND g_uid='{$rows[g_uid]}' "; $sql .= "group by periodStr,Period "; $arr_t = db_fetch($sql); $data[$i]['period_date'] = $arr_t['period_date']; // 담당자사진 $data[$i]['admin_img'] = "/FileData/logo/logo_small.png"; if ( $data[$i]['admin_id'] ) { $admin_arr = get_member($data[$i][admin_id]); if ( $admin_arr['emp_img'] ) $data[$i]['admin_img'] = "../FileData/emp/".$admin_arr['emp_img']; $data[$i]['admin_tel'] = ($admin_arr['mb_tel']) ? $admin_arr['mb_tel']:$TO_CF['shop_tel']; $data[$i]['admin_email'] = ($admin_arr['mb_email']) ? $admin_arr['mb_email']:$TO_CF['shop_email']; } // 링크 if($data[$i]['tab']=="V") { $data[$i]['d_href'] = "live_view.html?b_uid_s=" . $rows['b_uid'] . "&m_uid_s=" . $rows['m_uid'] . "&s_uid_s=" . $rows['s_uid'] . "&g_uid=" . $rows[g_uid]; } else { $data[$i]['d_href'] = "info_main.html?b_uid_s=" . $rows['b_uid'] . "&m_uid_s=" . $rows['m_uid'] . "&s_uid_s=" . $rows['s_uid'] . "&g_uid=" . $rows[g_uid]; } // 최근행사 $sql="SELECT d_uid FROM `date` WHERE g_uid='{$rows[g_uid]}' and d_start=(SELECT MIN(d_start) FROM `date` WHERE g_uid='{$rows[g_uid]}' AND d_start > CURDATE() and d_ok<>'C' ) and dtid in (select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and disp_yn='Y' and del_flag='N' ) order by d_uid "; $row_date = db_fetch($sql); $d_uid = $row_date['d_uid']; // 티켓/패스(2016-12-27.허종) if($data[$i]['tab']=="T") { //$data[$i]['유효기간'] = $data[$i]['movie_i']; //$data[$i]['취소수수료'] = $data[$i]['g_brief']; //$data[$i]['연속사용교환여부'] = $data[$i]['g_ready']; // v $data[$i]['주의사항'] = $data[$i]['g_cautions']; // v $data[$i]['이용안내'] = $data[$i]['g_inclusion']; //$data[$i]['이용규칙'] = $data[$i]['g_noinclusion']; $data[$i]['환불안내'] = $data[$i]['g_rule']; // v //$data[$i]['주문안내'] = $data[$i]['g_heed']; } $i++; } return $data; } // 복지몰 추천상품 function good_list_vatech_recommend($sql_where="",$sql_order="",$olds=0,$line=0) { global $cf,$TO_CF,$TO_MB; // 대리점(2017-03-23.허종) if ($cf['MODE']=="user" and $TO_MB['mb_level']==$cf['agent_level']) $agent_id = $TO_MB['mb_id']; $class_v = new CommonTour(); $BD_SET = TO_get_board_setup('',$cf['grp']); $BD_CD_REV = $BD_SET[2][BD_CD]; // REVIEW BD_CD 언어별 후기게시판 $table = "good"; $upload = $cf['path']."/FileData/good/"; $upload_thumb = $cf['path']."/FileData/good_thum/"; $upload2 = "/FileData/good/"; $upload_thumb2 = "/FileData/good_thum/"; //$tour_join = _e("조인투어"); //$tour_one = _e("단독투어"); $sql = "select * , (select b_name from bc where bc.b_uid=good.b_uid limit 1) as b_uid_nm , (select m_name from mc where mc.m_uid=good.m_uid limit 1) as m_uid_nm , if(gdt='gr','조인투어','단독투어') as gdt_nm from {$table} where 1 = 1 AND welfare = 'vatech'"; // 조건 if ( $sql_where ) $sql .= " ".$sql_where ; // 정렬 if ( $sql_order ) $sql .= " order by ".$sql_order; else $sql .= " order by g_no asc , g_regdate desc "; // 페이징 if ( $olds >= 0 and $line > 0 ) $sql .= " limit $olds , $line"; $data = array(); // $sql = "select * , // (select b_name from bc where bc.b_uid=good.b_uid limit 1) as b_uid_nm , // (select m_name from mc where mc.m_uid=good.m_uid limit 1) as m_uid_nm , // if(gdt='gr','조인투어','단독투어') as gdt_nm // from {$table} where 1 = 1 AND welfare = 'vatech'"; /*if(devCookie()){ p($sql_where); exit; }*/ $rs = db_query($sql); $i=0; while($rows = db_fetch_array($rs)) { $data[$i] = $rows; // 이미지-관리자디렉토리위치 if ( is_file($upload.$rows['g_image1']) ) { $data[$i]['img_src'] = $upload2.$rows['g_image1']; $data[$i]['img_src_thum'] = $upload_thumb2.$rows['g_image1']; } else { $data[$i]['img_src'] = $cf['TO_IMG']['no_image_s']; $data[$i]['img_src_thum'] = $cf['TO_IMG']['no_image_s']; } // 이미지-사용자디렉토리위치 if ( $rows['g_image1'] ) { $data[$i]['img_src2'] = $upload2.$rows['g_image1']; $data[$i]['img_src2_thum'] = $upload_thumb2.$rows['g_image1']; } else { $data[$i]['img_src2'] = $cf['TO_IMG']['no_image_s']; $data[$i]['img_src2_thum'] = $cf['TO_IMG']['no_image_s']; } //상품명 $data[$i]['g_title'] = $rows[g_title]; //담당자 정보 $data[$i]['officer'] = to_get_officer($rows[admin_id]); //공급처 아이디 $data[$i]['producer_id'] = $rows[producer_id]; // 추천 기초코드 이미지 매칭 $cdimg = ""; $cdnm = ""; if($cf['MODE']=='admin') { $rowb = db_fetch_array(db_query("select b_lang from bc where b_uid='$rows[b_uid]'")); // 상품특징아이콘 if($rowb['b_lang']=='ko' || $rowb['b_lang']=='ag') $icon_code = "TSPE"; elseif($rowb['b_lang']=='en') $icon_code = "TSIE"; elseif($rowb['b_lang']=='cn') $icon_code = "TSIC"; elseif($rowb['b_lang']=='hk') $icon_code = "TSIH"; $data[$i]['lang'] = $rowb['b_lang']; } else { // 상품특징아이콘 if($cf['lang']=='ko' || $cf['lang']=='ag') $icon_code = "TSPE"; elseif($cf['lang']=='en') $icon_code = "TSIE"; elseif($cf['lang']=='cn') $icon_code = "TSIC"; elseif($cf['lang']=='hk') $icon_code = "TSIH"; } $code_arr = base_codec("TGO",$icon_code,"","N"); $g_type_arr = explode(",",$rows['g_type']); for( $j=0 ; $j<count($g_type_arr) ; $j++) { if($g_type_arr[$j]) { $str = ""; for( $k=0 ; $k<count($code_arr) ;$k++){ if ( $code_arr[$k]['code']==$g_type_arr[$j] ) { if($cf['is_mobile'] == true && $code_arr[$k]['cd_memo']) { $cdimg .= "<img src='".$code_arr[$k]['cd_memo']."' title='".$code_arr[$k]['cd_nm']."' border='0' align='adsmiddle'> "; } else { $cdimg .= "<img src='".$code_arr[$k]['cd_img']."' title='".$code_arr[$k]['cd_nm']."' border='0' align='adsmiddle'> "; } $cdnm .= "<span>" . $code_arr[$k]['cd_nm'] . "</span>"; } } } } $data[$i]['special_icon'] = $cdimg; $data[$i]['special_nm'] = $cdnm; $data[$i]['g_type'] = $rows['g_type']; $apiimg = ""; if($rows['g_api']){ $g_api_arr = explode(",",$rows['g_api']); foreach($g_api_arr as $k => $v){ $apiimg .= "<img src='/admin/image/partner/".strtolower($v).".png' border='0' align='adsmiddle' title='API연동 : ".$v."'> "; } $data[$i]['api_icon'] = $apiimg; } // 등록일,수정일 $data[$i]['g_regdate2'] = str_replace("-",".",$rows['g_regdate']); $data[$i]['g_regdate3'] = substr(str_replace("-",".",$rows['g_regdate']),0,10); $data[$i]['g_moddate2'] = str_replace("-",".",$rows['g_moddate']); $data[$i]['g_moddate3'] = substr(str_replace("-",".",$rows['g_moddate']),0,10); // 지역 if ($rows['Cidx']) { $tmp_arr = to_area_c($rows['Aidx'],$rows['Bidx'],$rows['Cidx']); $area_arr = $tmp_arr[0]; $data[$i]['area'] = $area_arr['NationName']." > ".$area_arr['CityName']; } // 전시 if ($rows['g_ok']=="Y"){ $data[$i]['g_ok_opp'] = "N"; $data[$i]['use_img'] = $cf['icon']['start']; }else{ $data[$i]['g_ok_opp'] = "Y"; $data[$i]['use_img'] = $cf['icon']['stop']; } // 대표가(최저가 , 최고가) /* $sql = "select min(d_money1) as min_price,max(d_money1) as max_price, min(d_money4) as min_price_sell from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y') AND d_money1 >0 group by g_uid "; */ /* $sql = "select min(d_money1) as min_price,max(d_money1) as max_price, min(d_money4) as min_price_sell from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y' order by dtid) AND d_money1 >=0 group by g_uid "; */ // 220112 상품 목록에 표기 (대인+소인 중 최소값) $sql = "select MIN(NULLIF(d_money1, 0)) as min_price1, MIN(NULLIF(d_money2, 0)) as min_price2, max(d_money1) as max_price, min(d_money4) as min_price_sell from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y' order by dtid) AND d_money1 >=0 group by g_uid "; $arr_t = db_fetch($sql); //2019-10-18 원화를 각 통화금액으로 변환 if($cf['curunit'] == 'KRW') { $data[$i]['min_price_sell'] = $arr_t['min_price_sell']; } else { $data[$i]['min_price_sell'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_t['min_price_sell'])); } //00명의 선택 if($cf['MODE']=='admin') { $data[$i]['g_select_num'] = $rows['g_select_num']; } else { $data[$i]['g_select_num'] = number_format($rows['g_select_num']); } //후기카운트, 별점 가져오기 if($BD_CD_REV) { $sql_where = " where MSEQ > 0 "; $sql_where .= " and b_uid='{$rows[b_uid]}' and m_uid='{$rows[m_uid]}' and s_uid='{$rows[s_uid]}' and g_uid='{$rows[g_uid]}' "; // 리스트 수 가져옴 $sql = "select count(*) as total, ROUND(AVG(star_rating),1) as starAVG from {$BD_CD_REV} $sql_where"; $r3 = db_fetch($sql); $data[$i]['review_total'] = $r3[total]; //후기카운트 $data[$i]['star_avg'] = $r3[starAVG]; //별점 평균 if(!$data[$i]['star_avg']) $data[$i]['star_avg'] = '5.0'; } // 대리점 가격 if($agent_id) { $sql = "select d_agent_ga from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y' order by dtid) AND d_agent_ga!='' group by g_uid "; $arr_t = db_fetch($sql); $agent_ga_arr = explode("||",$arr_t['d_agent_ga']); if(is_array($agent_ga_arr)) { foreach($agent_ga_arr as $v){ $agent_arr = explode("^",$v); if($agent_arr[0]==$agent_id) { //$agent_arr[0] agent id //$agent_arr[1] adult_price //$agent_arr[2] child_price //$agent_arr[3] baby_price //$agent_arr[4] infant_price //$agent_arr[5] 할인율 $arr_t['agent_price_sell'] = (int)$agent_arr[1]; } } } $arr_t['min_price'] = $arr_t['agent_price_sell']; $arr_t['max_price'] = $arr_t['agent_price_sell']; } //end $agent_id // 220112 대인 + 소인 중 최소값 (0 제외) if($arr_t['min_price2'] > 0) { $min_price = $arr_t['min_price2']; } else if($arr_t['min_price1'] > 0) { $min_price = $arr_t['min_price1']; } else { $min_price = 0; // 요금문의 } //2019-10-18 가격 -> 각 통화가격변환 if($cf['curunit'] == 'KRW') { $data[$i]['min_price'] = $min_price; $data[$i]['max_price'] = $arr_t['max_price']; } else { $data[$i]['min_price'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$min_price)); $data[$i]['max_price'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_t['max_price'])); } // 외환사용 /* if($data[$i]['exchange_fg']=="Y") { $data[$i]['min_price'] = $class_v -> exchangeMoney(array("exid"=>$data[$i]['exid'],"money"=>$arr_t['min_price'])); $data[$i]['max_price'] = $class_v -> exchangeMoney(array("exid"=>$data[$i]['exid'],"money"=>$arr_t['max_price'])); }else{ $data[$i]['min_price'] = $arr_t['min_price']; $data[$i]['max_price'] = $arr_t['max_price']; } */ $data[$i]['main_to_max_price'] = "<span class='txt_price'>"._e("요금문의")."</span>"; $data[$i]['main_to_max_price2'] = "<span class='txt_price'>"._e("요금문의")."</span>"; if( $data[$i]['min_price'] > 0 ) { $data[$i]['main_to_max_price'] = _eunit($data[$i]['min_price']) . " ~ " . _eunit($data[$i]['max_price']); $data[$i]['main_to_max_price2'] = number_format($data[$i]['min_price']).' P'; } // 대표 박수 $sql = "select if((periodStr=0 or periodStr is null) and Period=1,'"._e('당일')."',concat(periodStr,'"._e('박')."',Period,'"._e('일')."')) period_date "; $sql .= " FROM date WHERE d_start>=CURDATE() AND g_uid='{$rows[g_uid]}' "; $sql .= "group by periodStr,Period "; $arr_t = db_fetch($sql); $data[$i]['period_date'] = $arr_t['period_date']; // 담당자사진 $data[$i]['admin_img'] = "/FileData/logo/logo_small.png"; if ( $data[$i]['admin_id'] ) { $admin_arr = get_member($data[$i][admin_id]); if ( $admin_arr['emp_img'] ) $data[$i]['admin_img'] = "../FileData/emp/".$admin_arr['emp_img']; $data[$i]['admin_tel'] = ($admin_arr['mb_tel']) ? $admin_arr['mb_tel']:$TO_CF['shop_tel']; $data[$i]['admin_email'] = ($admin_arr['mb_email']) ? $admin_arr['mb_email']:$TO_CF['shop_email']; } // 링크 if($data[$i]['tab']=="V") { $data[$i]['d_href'] = "live_view.html?b_uid_s=" . $rows['b_uid'] . "&m_uid_s=" . $rows['m_uid'] . "&s_uid_s=" . $rows['s_uid'] . "&g_uid=" . $rows[g_uid]; } else { $data[$i]['d_href'] = "info_main.html?b_uid_s=" . $rows['b_uid'] . "&m_uid_s=" . $rows['m_uid'] . "&s_uid_s=" . $rows['s_uid'] . "&g_uid=" . $rows[g_uid]; } // 최근행사 $sql="SELECT d_uid FROM `date` WHERE g_uid='{$rows[g_uid]}' and d_start=(SELECT MIN(d_start) FROM `date` WHERE g_uid='{$rows[g_uid]}' AND d_start > CURDATE() and d_ok<>'C' ) and dtid in (select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and disp_yn='Y' and del_flag='N' ) order by d_uid "; $row_date = db_fetch($sql); $d_uid = $row_date['d_uid']; // 티켓/패스(2016-12-27.허종) if($data[$i]['tab']=="T") { //$data[$i]['유효기간'] = $data[$i]['movie_i']; //$data[$i]['취소수수료'] = $data[$i]['g_brief']; //$data[$i]['연속사용교환여부'] = $data[$i]['g_ready']; // v $data[$i]['주의사항'] = $data[$i]['g_cautions']; // v $data[$i]['이용안내'] = $data[$i]['g_inclusion']; //$data[$i]['이용규칙'] = $data[$i]['g_noinclusion']; $data[$i]['환불안내'] = $data[$i]['g_rule']; // v //$data[$i]['주문안내'] = $data[$i]['g_heed']; } $i++; } return $data; } function good_list_yeonsung($sql_where="",$sql_order="",$olds=0,$line=0) { global $cf,$TO_CF,$TO_MB; // 대리점(2017-03-23.허종) if ($cf['MODE']=="user" and $TO_MB['mb_level']==$cf['agent_level']) $agent_id = $TO_MB['mb_id']; $class_v = new CommonTour(); $BD_SET = TO_get_board_setup('',$cf['grp']); $BD_CD_REV = $BD_SET[2][BD_CD]; // REVIEW BD_CD 언어별 후기게시판 $table = "good_yeonsung"; $upload = $cf['path']."/FileData/good_yeonsung/"; $upload_thumb = $cf['path']."/FileData/good_yeonsung_thum/"; $upload2 = "/FileData/good_yeonsung/"; $upload_thumb2 = "/FileData/good_yeonsung_thum/"; $sql = "select * , (select b_name from bc where bc.b_uid=good_yeonsung.b_uid limit 1) as b_uid_nm , (select m_name from mc where mc.m_uid=good_yeonsung.m_uid limit 1) as m_uid_nm , if(gdt='gr','조인투어','단독투어') as gdt_nm from {$table} where 1 = 1 "; // 조건 if ( $sql_where ) $sql .= " ".$sql_where ; // 정렬 if ( $sql_order ) $sql .= " order by ".$sql_order; else $sql .= " order by g_no asc , g_regdate desc "; // 페이징 if ( $olds >= 0 and $line > 0 ) $sql .= " limit $olds , $line"; $data = array(); if(devCookie()){ // p($sql); // exit; } $rs = db_query($sql); $i=0; while($rows = db_fetch_array($rs)) { $data[$i] = $rows; // 이미지-관리자디렉토리위치 if ( is_file($upload.$rows['g_image1']) ) { $data[$i]['img_src'] = $upload2.$rows['g_image1']; $data[$i]['img_src_thum'] = $upload_thumb2.$rows['g_image1']; } else { $data[$i]['img_src'] = $cf['TO_IMG']['no_image_s']; $data[$i]['img_src_thum'] = $cf['TO_IMG']['no_image_s']; } // 이미지-사용자디렉토리위치 if ( $rows['g_image1'] ) { $data[$i]['img_src2'] = $upload2.$rows['g_image1']; $data[$i]['img_src2_thum'] = $upload_thumb2.$rows['g_image1']; } if ( $rows['s_image1'] ) { $data[$i]['img_srcs1'] = $upload2.$rows['s_image1']; $data[$i]['img_srcs1_thum'] = $upload_thumb2.$rows['s_image1']; } if ( $rows['s_image2'] ) { $data[$i]['img_srcs2'] = $upload2.$rows['s_image2']; $data[$i]['img_srcs2_thum'] = $upload_thumb2.$rows['s_image2']; } if ( $rows['s_image3'] ) { $data[$i]['img_srcs3'] = $upload2.$rows['s_image3']; $data[$i]['img_srcs3_thum'] = $upload_thumb2.$rows['s_image3']; } //상품명 $data[$i]['g_title'] = $rows['g_title']; //담당자 정보 $data[$i]['officer'] = to_get_officer($rows['admin_id']); //공급처 아이디 $data[$i]['producer_id'] = $rows['producer_id']; // 추천 기초코드 이미지 매칭 $cdimg = ""; $cdnm = ""; if($cf['MODE']=='admin') { $rowb = db_fetch_array(db_query("select b_lang from bc where b_uid='$rows[b_uid]'")); // 상품특징아이콘 if($rowb['b_lang']=='ko' || $rowb['b_lang']=='ag') $icon_code = "TSPE"; elseif($rowb['b_lang']=='en') $icon_code = "TSIE"; elseif($rowb['b_lang']=='cn') $icon_code = "TSIC"; elseif($rowb['b_lang']=='hk') $icon_code = "TSIH"; $data[$i]['lang'] = $rowb['b_lang']; } else { // 상품특징아이콘 if($cf['lang']=='ko' || $cf['lang']=='ag') $icon_code = "TSPE"; elseif($cf['lang']=='en') $icon_code = "TSIE"; elseif($cf['lang']=='cn') $icon_code = "TSIC"; elseif($cf['lang']=='hk') $icon_code = "TSIH"; } $code_arr = base_codec("TGO",$icon_code,"","N"); $g_type_arr = explode(",",$rows['g_type']); for( $j=0 ; $j<count($g_type_arr) ; $j++) { if($g_type_arr[$j]) { $str = ""; for( $k=0 ; $k<count($code_arr) ;$k++){ if ( $code_arr[$k]['code']==$g_type_arr[$j] ) { if($cf['is_mobile'] == true && $code_arr[$k]['cd_memo']) { $cdimg .= "<img src='".$code_arr[$k]['cd_memo']."' title='".$code_arr[$k]['cd_nm']."' border='0' align='adsmiddle'> "; } else { $cdimg .= "<img src='".$code_arr[$k]['cd_img']."' title='".$code_arr[$k]['cd_nm']."' border='0' align='adsmiddle'> "; } $cdnm .= "<span>" . $code_arr[$k]['cd_nm'] . "</span>"; } } } } $data[$i]['special_icon'] = $cdimg; $data[$i]['special_nm'] = $cdnm; $data[$i]['g_type'] = $rows['g_type']; $apiimg = ""; if($rows['g_api']){ $g_api_arr = explode(",",$rows['g_api']); foreach($g_api_arr as $k => $v){ $apiimg .= "<img src='/admin/image/partner/".strtolower($v).".png' border='0' align='adsmiddle' title='API연동 : ".$v."'> "; } $data[$i]['api_icon'] = $apiimg; } // 등록일,수정일 $data[$i]['g_regdate2'] = str_replace("-",".",$rows['g_regdate']); $data[$i]['g_regdate3'] = substr(str_replace("-",".",$rows['g_regdate']),0,10); $data[$i]['g_moddate2'] = str_replace("-",".",$rows['g_moddate']); $data[$i]['g_moddate3'] = substr(str_replace("-",".",$rows['g_moddate']),0,10); // 지역 if ($rows['Cidx']) { $tmp_arr = to_area_c($rows['Aidx'],$rows['Bidx'],$rows['Cidx']); $area_arr = $tmp_arr[0]; $data[$i]['area'] = $area_arr['NationName']." > ".$area_arr['CityName']; } // 전시 if ($rows['g_ok']=="Y"){ $data[$i]['g_ok_opp'] = "N"; $data[$i]['use_img'] = $cf['icon']['start']; }else{ $data[$i]['g_ok_opp'] = "Y"; $data[$i]['use_img'] = $cf['icon']['stop']; } // 대표가(최저가 , 최고가) /* $sql = "select min(d_money1) as min_price,max(d_money1) as max_price, min(d_money4) as min_price_sell from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y') AND d_money1 >0 group by g_uid "; */ /* $sql = "select min(d_money1) as min_price,max(d_money1) as max_price, min(d_money4) as min_price_sell from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y' order by dtid) AND d_money1 >=0 group by g_uid "; */ // 220112 상품 목록에 표기 (대인+소인 중 최소값) $sql = "select MIN(NULLIF(d_money1, 0)) as min_price1, MIN(NULLIF(d_money2, 0)) as min_price2, max(d_money1) as max_price, min(d_money4) as min_price_sell from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y' order by dtid) AND d_money1 >=0 group by g_uid "; $arr_t = db_fetch($sql); //2019-10-18 원화를 각 통화금액으로 변환 if($cf['curunit'] == 'KRW') { $data[$i]['min_price_sell'] = $arr_t['min_price_sell']; } else { $data[$i]['min_price_sell'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_t['min_price_sell'])); } //00명의 선택 if($cf['MODE']=='admin') { $data[$i]['g_select_num'] = $rows['g_select_num']; } else { $data[$i]['g_select_num'] = number_format($rows['g_select_num']); } //후기카운트, 별점 가져오기 if($BD_CD_REV) { $sql_where = " where MSEQ > 0 "; $sql_where .= " and b_uid='{$rows[b_uid]}' and m_uid='{$rows[m_uid]}' and s_uid='{$rows[s_uid]}' and g_uid='{$rows[g_uid]}' "; // 리스트 수 가져옴 $sql = "select count(*) as total, ROUND(AVG(star_rating),1) as starAVG from {$BD_CD_REV} $sql_where"; $r3 = db_fetch($sql); $data[$i]['review_total'] = $r3[total]; //후기카운트 $data[$i]['star_avg'] = $r3[starAVG]; //별점 평균 if(!$data[$i]['star_avg']) $data[$i]['star_avg'] = '5.0'; } // 대리점 가격 if($agent_id) { $sql = "select d_agent_ga from date where g_uid='{$rows[g_uid]}' and d_start > curdate() and dtid in(select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and del_flag='N' and disp_yn='Y' order by dtid) AND d_agent_ga!='' group by g_uid "; $arr_t = db_fetch($sql); $agent_ga_arr = explode("||",$arr_t['d_agent_ga']); if(is_array($agent_ga_arr)) { foreach($agent_ga_arr as $v){ $agent_arr = explode("^",$v); if($agent_arr[0]==$agent_id) { //$agent_arr[0] agent id //$agent_arr[1] adult_price //$agent_arr[2] child_price //$agent_arr[3] baby_price //$agent_arr[4] infant_price //$agent_arr[5] 할인율 $arr_t['agent_price_sell'] = (int)$agent_arr[1]; } } } $arr_t['min_price'] = $arr_t['agent_price_sell']; $arr_t['max_price'] = $arr_t['agent_price_sell']; } //end $agent_id // 220112 대인 + 소인 중 최소값 (0 제외) if($arr_t['min_price2'] > 0) { $min_price = $arr_t['min_price2']; } else if($arr_t['min_price1'] > 0) { $min_price = $arr_t['min_price1']; } else { $min_price = 0; // 요금문의 } //2019-10-18 가격 -> 각 통화가격변환 if($cf['curunit'] == 'KRW') { $data[$i]['min_price'] = $min_price; $data[$i]['max_price'] = $arr_t['max_price']; } else { $data[$i]['min_price'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$min_price)); $data[$i]['max_price'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_t['max_price'])); } // 외환사용 /* if($data[$i]['exchange_fg']=="Y") { $data[$i]['min_price'] = $class_v -> exchangeMoney(array("exid"=>$data[$i]['exid'],"money"=>$arr_t['min_price'])); $data[$i]['max_price'] = $class_v -> exchangeMoney(array("exid"=>$data[$i]['exid'],"money"=>$arr_t['max_price'])); }else{ $data[$i]['min_price'] = $arr_t['min_price']; $data[$i]['max_price'] = $arr_t['max_price']; } */ $data[$i]['main_to_max_price'] = "<span class='txt_price'>"._e("요금문의")."</span>"; $data[$i]['main_to_max_price2'] = "<span class='txt_price'>"._e("요금문의")."</span>"; if( $data[$i]['min_price'] > 0 ) { $data[$i]['main_to_max_price'] = _eunit($data[$i]['min_price']) . " ~ " . _eunit($data[$i]['max_price']); $data[$i]['main_to_max_price2'] = _eunit($data[$i]['min_price']); } // 대표 박수 $sql = "select if((periodStr=0 or periodStr is null) and Period=1,'"._e('당일')."',concat(periodStr,'"._e('박')."',Period,'"._e('일')."')) period_date "; $sql .= " FROM date WHERE d_start>=CURDATE() AND g_uid='{$rows[g_uid]}' "; $sql .= "group by periodStr,Period "; $arr_t = db_fetch($sql); $data[$i]['period_date'] = $arr_t['period_date']; // 담당자사진 $data[$i]['admin_img'] = "/FileData/logo/logo_small.png"; if ( $data[$i]['admin_id'] ) { $admin_arr = get_member($data[$i][admin_id]); if ( $admin_arr['emp_img'] ) $data[$i]['admin_img'] = "../FileData/emp/".$admin_arr['emp_img']; $data[$i]['admin_tel'] = ($admin_arr['mb_tel']) ? $admin_arr['mb_tel']:$TO_CF['shop_tel']; $data[$i]['admin_email'] = ($admin_arr['mb_email']) ? $admin_arr['mb_email']:$TO_CF['shop_email']; } // 링크 if($data[$i]['tab']=="V") { $data[$i]['d_href'] = "live_view.html?b_uid_s=" . $rows['b_uid'] . "&m_uid_s=" . $rows['m_uid'] . "&s_uid_s=" . $rows['s_uid'] . "&g_uid=" . $rows[g_uid]; } else { $data[$i]['d_href'] = "info_main.html?b_uid_s=" . $rows['b_uid'] . "&m_uid_s=" . $rows['m_uid'] . "&s_uid_s=" . $rows['s_uid'] . "&g_uid=" . $rows[g_uid]; } // 최근행사 $sql="SELECT d_uid FROM `date` WHERE g_uid='{$rows[g_uid]}' and d_start=(SELECT MIN(d_start) FROM `date` WHERE g_uid='{$rows[g_uid]}' AND d_start > CURDATE() and d_ok<>'C' ) and dtid in (select dtid from TB_GOOD_DATE_TYPE where g_uid='{$rows[g_uid]}' and disp_yn='Y' and del_flag='N' ) order by d_uid "; $row_date = db_fetch($sql); $d_uid = $row_date['d_uid']; // 티켓/패스(2016-12-27.허종) if($data[$i]['tab']=="T") { //$data[$i]['유효기간'] = $data[$i]['movie_i']; //$data[$i]['취소수수료'] = $data[$i]['g_brief']; //$data[$i]['연속사용교환여부'] = $data[$i]['g_ready']; // v $data[$i]['주의사항'] = $data[$i]['g_cautions']; // v $data[$i]['이용안내'] = $data[$i]['g_inclusion']; //$data[$i]['이용규칙'] = $data[$i]['g_noinclusion']; $data[$i]['환불안내'] = $data[$i]['g_rule']; // v //$data[$i]['주문안내'] = $data[$i]['g_heed']; } $i++; } return $data; } // 예약정보 가져옴 // function res_good_master_vatech($sql_where="",$sql_order="",$limit="", $mode="", $branch) { global $cf; $class_v = new CommonTour(); $table = "TB_RES_GOOD"; $data = array(); //$tour_join = _e("조인투어"); //$tour_one = _e("단독투어"); /*if(devCookie()){ p($branch); exit; }*/ $branchWhereSql = ""; if($branch){ $branchWhereSql = " AND branch = '{$branch}' "; } $sql = "select *,if(gdt='gr','조인투어','단독투어') as gdt_nm , if(tab='D',ev_start,ev_end) as ev_end from {$table} as res where 1 {$sql_where} AND agent_id = 'vatech'{$branchWhereSql}"; if ( $sql_order ) $sql .= " order by {$sql_order}"; else $sql .= " order by res_seq desc "; if ( $limit ) $sql .= " limit {$limit} "; /*if(devCookie()){ p($sql); exit; }*/ $rs = db_query($sql); for($i=0 ; $row = db_fetch_array($rs) ; $i++) { // 상품구분 $tab_arr = TO_good_module("all",$row['tab']); $row['tab_nm'] = $tab_arr['name']; // 여행인원 $sql = "SELECT SUM(IF(generation='A',1,0)) AS adult_inwon, SUM(IF(generation='C',1,0)) AS child_inwon, SUM(IF(generation='B',1,0)) AS baby_inwon, SUM(IF(generation='I',1,0)) AS infant_inwon, SUM(IF(b2b_consumed='Y',1,0)) AS consumed_inwon, COUNT(seq) AS inwon FROM TB_RES_GOOD_PERSON WHERE res_no='".$row['res_no']."' "; /*if(devCookie()){ p($sql); }*/ $person_data = db_fetch($sql); $row['inwon'] = $person_data['inwon']; $row['adult_inwon'] = $person_data['adult_inwon']; $row['child_inwon'] = $person_data['child_inwon']; $row['baby_inwon'] = $person_data['baby_inwon']; $row['infant_inwon'] = $person_data['infant_inwon']; $row['consumed_inwon'] = $person_data['consumed_inwon']; if($mode!="simple") { // 입금상태 (미납/완납/과납) $class_AccountCustomer = new AccountCustomer(); $arr = $class_AccountCustomer->res_account_info($row['res_no']); $arr_account = $arr['tot']; //[son]TB_RES_GOOD.res_stat_cd : 예약진행상태(PRD>HRES), C(확정예약) $row['res_mrecv_str'] = "대기"; if( $arr_account['pre_money'] > 0 and $row['res_stat_cd']=="C") { $row['res_mrecv_str'] = "<span class='icon_unpaid'>"._e('미납')."</span>"; $row['res_mrecv_str2'] = _e2('미결제'); //2019-10-18 각 외화의 pre_money, pay_money //$arr_account['pre_money_fr'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_account['pre_money'])); //$arr_account['pay_money_fr'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_account['pay_money'])); $arr_account['pre_money_fr'] = $row['sales_total_fr']; $arr_account['pay_money_fr'] = "0"; } if( $arr_account['pre_money'] < 0 ) { $row['res_mrecv_str'] = "<span style='color:#3333FF;'>"._e('과납')."</span>"; $row['res_mrecv_str2'] = _e('과납'); } /*if(devCookie()){ p($arr_account); exit; }*/ if( $row['res_stat_cd']=="C" and $arr_account['pre_money'] == 0 ) { $row['res_mrecv_str'] = "<span style='display:inline-block; padding:0px 2px 1px; margin-top:2px; font-weight:bold; color:#FFF;background-color:#000;'>"._e('완납')."</span>"; $row['res_mrecv_str2'] = _e('완납'); //$arr_account['pre_money_fr'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_account['pre_money'])); //$arr_account['pay_money_fr'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$arr_account['pay_money'])); $arr_account['pre_money_fr'] = "0"; $arr_account['pay_money_fr'] = $row['sales_total_fr']; } // 모객인원을 전부 취소 or 진행상태가 취소 if ($row['inwon']==0 or $row['res_stat_cd']=="D") $row['proc_str'] = "-"; // 예약진행상태 $code_data = base_codec("PRD","HRES",$row['res_stat_cd']); $row['res_stat_str'] = $code_data[0]['cd_nm']; $row['res_stat_color'] = $code_data[0]['cd_memo']; $row['account'] = $arr_account; // 고객 정산용 테이블(TB_ACCOUNT_CUSTOMER)과 내용 맞추기 if($row['sales_total'] > 0) { $row['price_total'] = $row['sales_total']; } else { $row['price_total'] = $row['agent_total']; } $row['price_cost_total'] = $row['sales_total_cost']; // 결제 유무 $row['pay_yn'] = "N"; if ($row['res_stat_cd']=="C" and $arr_account['pre_money']>0) { // 확정예약 && 미결제금액이 '0' 이상 $row['pay_yn'] = "Y"; // 결제가능 } if ($row['res_stat_cd']=="C" and $arr_account['pre_money']==0) { // 확정예약 && 미결제금액이 '0' $row['pay_yn'] = "C"; // 결제완료 } // 진행전달 $code_res = base_codec("PRD","RESP",$row['order_state']); if($cf['MODE']=='admin') { $row['order_state_str'] = $code_res[0]['cd_nm']; //$row['order_state_str2'] = $code_res[0]['cd_nm']; } else { $row['order_state_str'] = _e($code_res[0]['cd_nm']); //$row['order_state_str2'] = _e($code_res[0]['cd_nm']); } $row['order_state_color'] = $code_res[0]['cd_memo']; if($row['order_state']=="A") { if($cf['MODE']=='admin') { $row['order_state_str2'] ="입금대기중"; } else { $row['order_state_str2'] = _e("입금대기중"); } $row['order_state_color2'] = "#E02525"; } else { $row['order_state_str2'] =""; $row['order_state_color2'] = "#333"; if($row['order_state']!="H") { if($cf['MODE']!='admin' && $arr_account['pay_card'] > 0){ $row['order_state_str2'] = _e("카드결제완료"); } else { $row['order_state_str2'] = _e("무통장입금완료"); } } } // 기타 $row['ins_dt2'] = str_replace("-","/",substr($row['ins_dt'],0,10)); $row['ins_dt3'] = substr($row['ins_dt'],0,10); $row['edit_dt2'] = str_replace("-","/",substr($row['edit_dt'],0,10)); $row['ev_start_yoil'] = get_yoil($row['ev_start'],$cf['lang']); // 행사출발요일 $row['ev_end_yoil'] = get_yoil($row['ev_end'],$cf['lang']); // 행사도착요일 } $data[] = $row; } return $data; } /*** * 할인정보겟 * @date 2022.11.17 * @author taeyoung * @param $dcID * @return array|false|null */ function getDiscountInfo($dcID = 0){ if(!$dcID){ return false; } $sql = "SELECT * FROM TB_GOOD_DISCOUNT WHERE dcid = {$dcID}"; $data = db_fetch($sql); return $data; } function getMainPageSectionList($lang, $isView = 'Y', $isHotelSection = 'N'){ $tableName = "mainViewSection"; if($isView == 'YN'){ $isView = "Y','N"; } $hotelSectionWhereSql = ""; if($isHotelSection == 'Y' || $isHotelSection == 'N'){ $hotelSectionWhereSql = " AND hotelSection = '{$isHotelSection}'"; } $sql = "SELECT title, mainViewSectionID, seq FROM {$tableName} WHERE lang = '{$lang}' AND isView IN ('{$isView}') {$hotelSectionWhereSql} ORDER BY seq ASC"; /*if(devCookie()){ p($sql); }*/ $rs = db_query($sql); // 배열로 저장 $data = array(); while ($row = db_fetch_array($rs)) { array_push($data, $row); } return $data; } function getMainPageSectionViewGoodList($lang,$mainViewHotelSectionIdList = ''){ $tableName = "mainViewSectionGoods"; $sqlWhereMainSection = ""; if($mainViewHotelSectionIdList){ $sqlWhereMainSection = " AND mainViewSectionID IN ({$mainViewHotelSectionIdList})"; } $sql = "SELECT * FROM {$tableName} WHERE lang = '{$lang}' {$sqlWhereMainSection}"; $rs = db_query($sql); $data = array(); while ($row = db_fetch_array($rs)) { array_push($data, $row); } return $data; } /*** * 프라이빗 투어 매칭 버스 예약 정보 * @author taeyoung * @date 2022.12.06 * @param $match_private_bus * @return array|false|null */ function getPrivateBusResInfo($match_private_bus){ $sql = "SELECT * FROM TB_ERP_BUS WHERE match_private_bus = '{$match_private_bus}'"; $data = db_fetch($sql); return $data; } ?>