ÿØÿà JFIF  ` ` ÿþš 403 WEBHELL REBORN
403 WEBHELL REBORN
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 :
current_dir [ Writeable ] document_root [ Writeable ]

Buat Folder Baru:
Buat File Baru:

Current File : /tkt_travelbus/www/Lib/to_good.lib_220104.php
<?
/******************************************************************************
*
* 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' />&nbsp;";
			}
		}
	}

	// 상품명 툴팁 설정
	$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']." &gt; ".$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']." &gt; ".$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 .= "&gt;".$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 .= "&gt;".$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' />&nbsp;";
				}
			}
		}

		$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'] .= "&gt;" . $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']."&nbsp;".$arr['yoil']."요일"."</date_str_{$k}>";
			$replace = "<date_str_{$k}>".$arr['date']."&nbsp;".$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']."&nbsp;".$arr['yoil']."요일"."</date_str_{$k}>";
			$replace = "<date_str_{$k}>".$arr['date']."&nbsp;".$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("'","&quote;",$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']." &gt; ".$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']." &gt; ".$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']." &gt; ".$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;

}


?>

Anon7 - 2021