ÿØÿà JFIF ` ` ÿþ
Server : Apache System : Linux ruga7-004.fmcity.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : tkt_travelbus ( 1137) PHP Version : 7.0.0p1 Disable Function : mysql_pconnect Directory : /tkt_travelbus/www/Lib/ |
Upload File : |
<? /****************************************************************************** * * 1. 기초 코드 (기초코드,대륙/국가/도시 코드) * ******************************************************************************/ // 기초코드 정보를 배열로 가져옴 // // @param $CodeID : 기초코드 ID // @return : 배열 function TO_get_code($CodeID) { if (!$CodeID) return array(); // 기초코드 정보를 가져옴 $sql = "select * from TB_CodeB where CodeID = '$CodeID' and DelFlag = 'N' order by OrderNum, Code"; $rs = db_query($sql); // 배열로 저장 $arr = array(); while ($row = db_fetch_array($rs)) { $row = TO_stripslashes($row); // stripslashes 처리 $arr[] = $row; } return $arr; } // 기초코드 정보를 <option> 으로 반환 // // @param $CodeID : 기초코드 ID // @param $select : 셀렉트값 // @param $select : 셀렉트 value 값에 코드명 사용여부 (name:코드명사용, 없음:코드사용) (20100625 ) // @return : 문자열 function TO_get_code_option($CodeID, $select="", $value="") { if (!$CodeID) return; // 기초코드 정보를 가져옴 $TO_CODE = TO_get_code($CodeID); // <option> 설정 $option = ""; for ($i=0, $cnt=count($TO_CODE); $i<$cnt; $i++) { $v = (strtolower($value) == "name") ? $TO_CODE[$i][CdName] : $TO_CODE[$i][Code]; $selected = ($v == $select) ? " selected" : ""; $option .= "<option value='" . $v . "'{$selected}>" . $TO_CODE[$i][CdName] . "</option>"; } return $option; } // 대륙코드 목록 // // @params Aidx : 대륙코드 // @params delflag : function to_area_a($Aidx="",$delflag="",$lang="") { global $cf; $data = array(); $sql = "select * from TB_AreaA where 1 {$sql_where} "; if ($Aidx) $sql .= " and Aidx='{$Aidx}' "; if ($delflag) $sql .= " and DelFlag='{$delflag}' "; if ($lang) $sql .= " and ConLang='{$lang}' "; $sql .= " order by OrderNum "; $rs = db_query($sql); for($i=0 ; $row = db_fetch_array($rs) ; $i++){ $data[$i] = $row; // 사용 flag if ($row['DelFlag'] == "N") { $data[$i]['DelFlag_icon'] = $cf['icon']['start']; $data[$i]['DelFlag_opp'] = "Y"; } else { $data[$i]['DelFlag_icon'] = $cf['icon']['stop']; $data[$i]['DelFlag_opp'] = "N"; } // 해당 국가 개수 $arr = db_fetch("select count(*) as cnt from TB_AreaB where Aidx='{$row[Aidx]}' "); $data[$i]['in_cnt'] = $arr['cnt']; } return $data; } // 국가코드 목록 // // @params Aidx : 대륙코드 // @params Bidx : 국가코드 // @params sql_where : function to_area_b($Aidx="",$Bidx="",$sql_where="",$lang="") { global $cf; $data = array(); if($lang) $sql_lang = " and ConLang='".$lang."'"; $sql = "select * from TB_AreaB where 1 {$sql_where} and Aidx in(select Aidx from TB_AreaA where DelFlag='N' {$sql_lang} ) "; //$sql = "select * from TB_AreaB where 1 {$sql_where} and Aidx in(select Aidx from TB_AreaA where DelFlag='N') "; if ($Aidx) $sql .= " and Aidx='{$Aidx}' "; if ($Bidx) $sql .= " and Bidx='{$Bidx}' "; $sql .= " order by OrderNum "; $rs = db_query($sql); for($i=0 ; $row = db_fetch_array($rs) ; $i++){ $data[$i] = $row; // 대륙명 $arr = to_area_a($row['Aidx']); $data[$i]['ContinentName'] = $arr[0]['ContinentName']; // 해당 도시 개수 $arr = db_fetch("select count(*) as cnt from TB_AreaC where Aidx='{$row[Aidx]}' and Bidx='{$row[Bidx]}' "); $data[$i]['in_cnt'] = $arr['cnt']; if($cf['MODE']=="admin") { // 관리자용 // 관광지 수 $arr = db_fetch("select count(*) as place_cnt from TB_PLACE where areaa_cd='{$row[Aidx]}' and areab_cd='{$row[Bidx]}' "); $data[$i]['place_cnt'] = $arr['place_cnt']; } } return $data; } // 도시코드 목록 // // @params Aidx : 대륙코드 // @params Aidx : 국가코드 // @params delflag : function to_area_c($Aidx="",$Bidx,$Cidx="",$delflag="",$sql_where="") { $data = array(); if (!$Bidx) return $data; $sql = "select * from TB_AreaC where 1 {$sql_where} "; if ($Aidx) $sql .= " and Aidx='{$Aidx}' "; $sql .= " and Bidx='{$Bidx}' "; if ($Cidx) $sql .= " and Cidx='{$Cidx}' "; if ($delflag) $sql .= " and DelFlag='{$delflag}' "; $sql .= " order by OrderNum "; $rs = db_query($sql); for($i=0 ; $row = db_fetch_array($rs) ; $i++){ $data[$i] = $row; // 대륙이름 $arr = to_area_a($row['Aidx']); $data[$i]['ContinentName'] = $arr[0]['ContinentName']; // 국가이름 $arr = to_area_b($row['Aidx'],$row['Bidx']); $data[$i]['NationName'] = $arr[0]['NationName']; } return $data; } //기초코드 조회(1차) // function base_codea($code_id="") { if($code_id) $sql_where = " and CodeID='{$code_id}' "; $sql = "select * from TB_CODEA where DelFlag='N' {$sql_where} order by OrderNum "; $rs = db_query($sql); $data = array(); if($code_id){ $data = db_fetch($sql); //코드 검색 }else{ $data =db_fetch_all($rs); } return $data; } //기초코드 조회(2차) // //@CodeID : 1차코드 ID //@CiDX : 시퀀스 번호 or @Code function base_codeb($CodeID="",$CiDX="",$delflag="") { global $MemberID,$lang; if($CiDX) $sql_where = " and ( CiDX='{$CiDX}' or Code='{$CiDX}' )"; if($CodeID) $sql_where .= " and CodeID='{$CodeID}' "; if($delflag) $sql_where .= " and DelFlag='{$delflag}' "; $sql = "select *, (select count(seq) from TB_CODEC where TB_CODEB.Code=TB_CODEC.cd_b ) as cnt_b, IF(delflag='N','Y','N') as DelFlag_opp, IF(delflag='N','btn_check.gif','btn_stop.gif') as DelFlag2 from TB_CODEB where 0=0 {$sql_where} order by OrderNum,CiDX "; $rs = db_query($sql); $i=0; $data = array(); while($rows = db_fetch_array($rs)) { $data[$i] = $rows; // 개발자 전용 항목 /*if($MemberID != "click") { if($data[$i]['perm_write'] == "N") $data[$i]['perm_write_str'] = "alert('입력불가합니다.\\n개발사에 문의바랍니다.');return;"; if($data[$i]['perm_edit'] == "N") $data[$i]['perm_edit_str'] = "alert('수정불가합니다.\\n개발사에 문의바랍니다.');return;"; if($data[$i]['perm_delete'] == "N") $data[$i]['perm_delete_str'] = "alert('삭제불가합니다.\\n개발사에 문의바랍니다.');return;"; }*/ // 다국어 코드가 있으면 코드명을 바꿈. if ( $lang=="eng" or $lang=="cn" or $lang=="hk") { if ( $data[$i]['cd_nm_'.$lang] ) { $data[$i]['CdName'] = $data[$i]['cd_nm_'.$lang]; } } $i++; } return $data; } //기초코드 조회(3차) // //@cd_a:1차코드ID //@cd_b:2차코드ID //@seq : 시퀀스 번호 or @code //@lang : 다국어적용,영어(eng),중국어(cn)(include/top_proc.html 에서 설정) // function base_codec($cd_a,$cd_b,$seq="",$delflag="") { global $lang,$cf; if ($seq) $sql_where = " and ( seq='{$seq}' or code='{$seq}' )"; if ($delflag) $sql_where .= " and delflag='{$delflag}' "; // 사용자모드일때 관리자전용항목 출력금지 if ($cf['MODE']=="user") $sql_where .= " and ( cd_memo != 'admin' or cd_memo is null ) "; // 관리자모드일때 사용자전용항목 출력금지 if ($cf['MODE']=="admin" and $delflag=="N") $sql_where .= " and ( cd_memo != 'user' or cd_memo is null ) "; $sql = "select *, IF(delflag='N','Y','N') as delflag_opp, IF(delflag='N','btn_check.gif','btn_stop.gif') as delflag2 from TB_CODEC where cd_a='{$cd_a}' and cd_b='{$cd_b}' {$sql_where} order by order_num,seq "; $rs = db_query($sql); $data = array(); $data = db_fetch_all($rs); // 다국어 코드가 있으면 코드명을 바꿈. if ( $lang=="en" or $lang=="eng" or $lang=="cn" or $lang=="hk") { if($lang=="en") $lang="eng"; for($i=0 ; $i<count($data) ; $i++){ if ( $data[$i]['cd_nm_'.$lang] ) { $data[$i]['cd_nm'] = $data[$i]['cd_nm_'.$lang]; } } } return $data; } // 상품 네비게이션 가져옴 // // @param $g_uid : 상품 uid // @return : 문자열 function TO_get_good_navi($g_uid) { global $b_uid, $m_uid, $s_uid; // 상품 카테고리를 가져옴 $sql = "select bc.b_name, mc.m_name, sc.s_name from ( select if(b_uid = 0, '$b_uid', b_uid) as b_uid, if(m_uid = 0, '$m_uid', m_uid) as m_uid, if(s_uid = 0, '$s_uid', s_uid) as s_uid from good g where g_uid = '$g_uid' ) g left join bc on g.b_uid = bc.b_uid left join mc on g.m_uid = mc.m_uid left join sc on g.s_uid = sc.s_uid "; $row = db_fetch($sql); // 마지막 카테고리 설정 $last = 0; if ($row[b_name]) $last += 1; if ($row[m_name]) $last += 1; if ($row[s_name]) $last += 1; $navi_array = array(1 => 'b_name','m_name','s_name'); $str = ""; for ($i=1; $i<=$last; $i++) { if ($row[$navi_array[$i]]) { $str .= " > "; if ($i == $last) $str .= "<strong class='navi_last'>" . trim($row[$navi_array[$i]]) . "</strong>"; else $str .= trim($row[$navi_array[$i]]); } } return $str; } // 카테고리명을 가져옴 // 현재 카테고리 네비게이션 추가 (20101015 ) // // @param $b_uid : 1차 카테고리 // @param $m_uid : 2차 카테고리 // @param $s_uid : 3차 카테고리 // @return : 배열 (0=>현재카테고리명, 1=>1차, 2=>2차, 3=>3차, 'navi'=>현재 카테고리 네비게이션) function TO_get_category($b_uid, $m_uid="", $s_uid="") { $sql = "select bc.b_name, mc.m_name, sc.s_name from ( select '$b_uid' as b_uid, '$m_uid' as m_uid, '$s_uid' as s_uid ) c left join bc on c.b_uid = bc.b_uid left join mc on c.m_uid = mc.m_uid left join sc on c.s_uid = sc.s_uid "; $row = db_fetch($sql); $list = TO_stripslashes($list); // stripslashes 처리 // 현재 카테고리명 설정 if ($row[s_name]) $cat = $row[s_name]; else if ($row[m_name]) $cat = $row[m_name]; else if ($row[b_name]) $cat = $row[b_name]; // 마지막 카테고리 설정 $last = 0; if ($row[b_name]) $last += 1; if ($row[m_name]) $last += 1; if ($row[s_name]) $last += 1; // 현재 카테고리 네비게이션 설정 (20101015 ) $navi_array = array(1 => 'b_name', 'm_name', 's_name'); $navi = ""; for ($i=1; $i<=$last; $i++) { if ($row[$navi_array[$i]]) { if ($i > 1) $navi .= " > "; if ($i == $last) $navi .= "<span class='navi_last'>" . trim($row[$navi_array[$i]]) . "</span>"; else $navi .= trim($row[$navi_array[$i]]); } } $arr = array($cat, $row[b_name], $row[m_name], $row[s_name], 'navi' => $navi); return $arr; } /*** * b_uid 언어 정보 가져오기 * @param $b_uid * @return array|false|null * @date 2022.09.06 */ function getBcLang($b_uid){ $b_uid = (int) $b_uid; if(!$b_uid){ return false; } $sql = "SELECT b_lang FROM bc WHERE b_uid = {$b_uid}"; return db_fetch($sql); } // 1차 카테고리 가져옴 // // @params b_uid : 1차 카테고리 // @params delflag : 삭제 여부 // // return array function TO_get_bc($b_uid="",$delflag="",$sql_where="",$limit="") { global $cf; $sql = "select *,(select count(*) from mc where mc.b_uid=bc.b_uid ) as mc_cnt "; $sql .= " from bc where 1 "; if ( $b_uid ) $sql .= " and b_uid='{$b_uid}' "; if ( $delflag ) $sql .= " and DelFlag='$delflag' "; $sql .= " {$sql_where} "; $sql .= " order by b_no asc "; $sql .= " {$limit} "; /*if(devCookie()){ echo $sql; exit; }*/ $rs = db_query($sql); $data = array(); for ( $i=0 ; $row = db_fetch_array($rs) ; $i++) { /*if(devCookie()){ p($row); }*/ //TOPMENU 링크값 2차카테고리 가져오기 $sql2 = "select * from mc where b_uid='{$row['b_uid']}' and DelFlag='N' order by m_no limit 1"; $rs2 = db_query($sql2); $row2 = db_fetch_array($rs2) ; $row['m_uid'] = $row2['m_uid']; // if(devCookie()){ // p($row['tab']); // } // 사용자 카테고리 링크 $row['href'] = ""; switch($row['tab']) { case "P": case "D": case "T": if($cf['tab']['D']=="Y" or $cf['tab']['P']=="Y" or $cf['tab']['T']=="Y") { //$row['href'] = "../good/sub_main.html?b_uid_s=".$row['b_uid']; //by taeyoung //2022.06.14 //전체로 나오기 전 주소 //이전으로 돌릴시 아래 코드를 사용해야함 $row['href'] = "../good/list.html?b_uid_s=".$row['b_uid']."&m_uid_s=".$row['m_uid']; $row['mhref'] = "../tmbi_good/list1.html?b_uid_s=".$row['b_uid']; //by taeyoung //2022.06.14 //href에 m_uid_s값 제거 $row['href'] = "/good/list.html?b_uid_s=".$row['b_uid']; } break; case "V": if($cf['tab']['V']=="Y") { $row['href'] = "../live/list.html?b_uid_s=".$row['b_uid']."&m_uid_s=".$row['m_uid']; $row['mhref'] = "../tmbi_live/list.html?b_uid_s=".$row['b_uid']; //by taeyoung //2022.06.14 //href에 m_uid_s값 제거 $row['href'] = "/live/list.html?b_uid_s=".$row['b_uid']; } break; case "S": if($cf['tab']['S']=="Y") $row['href'] = "#"; break; case "L": if($cf['tab']['L']=="Y") { //$row['href'] = "../hotel/sub_main.html?b_uid_s=".$row['b_uid']; $row['href'] = "/hotel/list.html?b_uid_s=".$row['b_uid']."&m_uid_s=".$row['m_uid']; $row['mhref'] = "../tmbi_hotel/list1.html?b_uid_s=".$row['b_uid']; //by taeyoung //2022.06.14 //href에 m_uid_s값 제거 $row['href'] = "/hotel/list.html?b_uid_s=".$row['b_uid']; } break; case "R": if($cf['tab']['R']=="Y") $row['href'] = "#"; break; case "A": if($cf['tab']['A']=="Y") $row['href'] = "#"; break; } // 관리자모드 상품개수 $row['good_cnt'] = 0; if($cf['MODE']=="admin") { switch($row['tab']) { case "L": $r = db_fetch("select count(*) as cnt from TB_HOTEL where b_uid='{$row[b_uid]}' "); $row['good_cnt'] = $r['cnt']; break; case "P": case "D": case "V": case "T": $r = db_fetch("select count(*) as cnt from good where b_uid='{$row[b_uid]}' "); // if(devCookie()){ // p($r); // } $row['good_cnt'] = $r['cnt']; break; } } // 자료 $data[$i] = $row; // 사용 flag if ($row['DelFlag'] == "N") { $data[$i]['DelFlag_icon'] = $cf['icon']['start']; $data[$i]['DelFlag_opp'] = "Y"; } else { $data[$i]['DelFlag_icon'] = $cf['icon']['stop']; $data[$i]['DelFlag_opp'] = "N"; } // 포맷팅 $str = ""; $len = 3 - strlen($row['b_uid']); for($j=0 ; $j<$len ; $j++) $str .= " "; $data[$i]['space'] = $str; } return $data; } function TO_get_bc2($b_uid="",$delflag="",$sql_where="",$limit="") { global $cf; $sql = "select *,(select count(*) from mc where mc.b_uid=bc.b_uid ) as mc_cnt "; $sql .= " from bc where 1 "; // if ( $b_uid ) $sql .= " and b_uid='{$b_uid}' "; if ( $delflag ) $sql .= " and DelFlag='$delflag' "; // $sql .= " {$sql_where} "; $sql .= " order by b_no asc "; $sql .= " {$limit} "; // echo $sql; // exit; $rs = db_query($sql); $data = array(); for ( $i=0 ; $row = db_fetch_array($rs) ; $i++) { /*if(devCookie()){ p($row); }*/ //TOPMENU 링크값 2차카테고리 가져오기 $sql2 = "select * from mc where b_uid='{$row['b_uid']}' and DelFlag='N' order by m_no limit 1"; $rs2 = db_query($sql2); $row2 = db_fetch_array($rs2) ; $row['m_uid'] = $row2['m_uid']; // if(devCookie()){ // p($row['tab']); // } // 사용자 카테고리 링크 $row['href'] = ""; switch($row['tab']) { case "P": case "D": case "T": if($cf['tab']['D']=="Y" or $cf['tab']['P']=="Y" or $cf['tab']['T']=="Y") { //$row['href'] = "../good/sub_main.html?b_uid_s=".$row['b_uid']; //by taeyoung //2022.06.14 //전체로 나오기 전 주소 //이전으로 돌릴시 아래 코드를 사용해야함 $row['href'] = "../good/list.html?b_uid_s=".$row['b_uid']."&m_uid_s=".$row['m_uid']; $row['mhref'] = "../tmbi_good/list1.html?b_uid_s=".$row['b_uid']; //by taeyoung //2022.06.14 //href에 m_uid_s값 제거 $row['href'] = "/good/list.html?b_uid_s=".$row['b_uid']; } break; case "V": if($cf['tab']['V']=="Y") { $row['href'] = "../live/list.html?b_uid_s=".$row['b_uid']."&m_uid_s=".$row['m_uid']; $row['mhref'] = "../tmbi_live/list.html?b_uid_s=".$row['b_uid']; //by taeyoung //2022.06.14 //href에 m_uid_s값 제거 $row['href'] = "/live/list.html?b_uid_s=".$row['b_uid']; } break; case "S": if($cf['tab']['S']=="Y") $row['href'] = "#"; break; case "L": if($cf['tab']['L']=="Y") { //$row['href'] = "../hotel/sub_main.html?b_uid_s=".$row['b_uid']; $row['href'] = "/hotel/list.html?b_uid_s=".$row['b_uid']."&m_uid_s=".$row['m_uid']; $row['mhref'] = "../tmbi_hotel/list1.html?b_uid_s=".$row['b_uid']; //by taeyoung //2022.06.14 //href에 m_uid_s값 제거 $row['href'] = "/hotel/list.html?b_uid_s=".$row['b_uid']; } break; case "R": if($cf['tab']['R']=="Y") $row['href'] = "#"; break; case "A": if($cf['tab']['A']=="Y") $row['href'] = "#"; break; } // 관리자모드 상품개수 $row['good_cnt'] = 0; if($cf['MODE']=="admin") { switch($row['tab']) { case "L": $r = db_fetch("select count(*) as cnt from TB_HOTEL where b_uid='{$row[b_uid]}' "); $row['good_cnt'] = $r['cnt']; break; case "P": case "D": case "V": case "T": $r = db_fetch("select count(*) as cnt from good where b_uid='{$row[b_uid]}' "); // if(devCookie()){ // p($r); // } $row['good_cnt'] = $r['cnt']; break; } } // 자료 $data[$i] = $row; // 사용 flag if ($row['DelFlag'] == "N") { $data[$i]['DelFlag_icon'] = $cf['icon']['start']; $data[$i]['DelFlag_opp'] = "Y"; } else { $data[$i]['DelFlag_icon'] = $cf['icon']['stop']; $data[$i]['DelFlag_opp'] = "N"; } // 포맷팅 $str = ""; $len = 3 - strlen($row['b_uid']); for($j=0 ; $j<$len ; $j++) $str .= " "; $data[$i]['space'] = $str; } return $data; } /** * 1차 카테고리 복지몰 전용 * @author taeyoung * 2022.07.14 */ // 2차 카테고리 가져옴 // // @params b_uid : 1차 카테고리 // @params m_uid : 2차 카테고리 // // return array function TO_get_mc($b_uid,$m_uid="",$delflag="") { global $cf; $data = array(); if ( !$b_uid ) return $data; $sql = "select *,(select count(*) from sc where sc.b_uid='{$b_uid}' and sc.m_uid = mc.m_uid ) as sc_cnt "; $sql .= " ,(select tab from bc where bc.b_uid=mc.b_uid limit 1 ) as tab "; $sql .= " from mc "; $sql .= " where b_uid='{$b_uid}' "; if ( $delflag ) $sql .= " and DelFlag='$delflag' "; if ( $m_uid ) $sql .= " and m_uid='{$m_uid}' "; $sql .= " order by `m_no` asc"; /*if(devCookie()){ p('haro'); p($sql); }*/ $rs = db_query($sql); $data = array(); for ( $i=0 ; $row = db_fetch_array($rs) ; $i++) { $data[$i] = $row; // 사용 flag if ($row['DelFlag'] == "N") { $data[$i]['DelFlag_icon'] = $cf['icon']['start']; $data[$i]['DelFlag_opp'] = "Y"; } else { $data[$i]['DelFlag_icon'] = $cf['icon']['stop']; $data[$i]['DelFlag_opp'] = "N"; } // 관리자모드 상품개수 $data[$i]['good_cnt'] = 0; if($cf['MODE']=="admin") { switch($row['tab']) { case "L": $r = db_fetch("select count(*) as cnt from TB_HOTEL where tab='{$row[tab]}' and b_uid='{$b_uid}' and m_uid='{$row[m_uid]}' "); $data[$i]['good_cnt'] = $r['cnt']; break; case "P": case "D": case "T": case "T": case "R": $r = db_fetch("select count(*) as cnt from good where tab='{$row[tab]}' and b_uid='{$b_uid}' and m_uid='{$row[m_uid]}' "); $data[$i]['good_cnt'] = $r['cnt']; break; } } // 포맷팅 $str = ""; $len = 3 - strlen($row['m_uid']); for($j=0 ; $j<$len ; $j++) $str .= " "; $data[$i]['space'] = $str; } return $data; } // 3차 카테고리 가져옴 // // @params m_uid : 2차 카테고리 // @params s_uid : 3차 카테고리 // // return array function TO_get_sc($b_uid="",$m_uid="",$s_uid="",$delflag="") { global $cf; $sql = "select * "; $sql .= " ,(select tab from bc where bc.b_uid=sc.b_uid limit 1 ) as tab "; $sql .= " from sc where 1 "; if ( $delflag ) $sql .= " and DelFlag='$delflag' "; if ( $b_uid ) $sql .= " and b_uid='{$b_uid}' "; if ( $m_uid ) $sql .= " and m_uid='{$m_uid}' "; if ( $s_uid ) $sql .= " and s_uid='{$s_uid}' "; $sql .= " order by s_no asc"; $rs = db_query($sql); $data = array(); for ( $i=0 ; $row = db_fetch_array($rs) ; $i++) { $data[$i] = $row; // 사용 flag if ($row['DelFlag'] == "N") { $data[$i]['DelFlag_icon'] = $cf['icon']['start']; $data[$i]['DelFlag_opp'] = "Y"; } else { $data[$i]['DelFlag_icon'] = $cf['icon']['stop']; $data[$i]['DelFlag_opp'] = "N"; } // 관리자모드 상품개수 $data[$i]['good_cnt'] = 0; if($cf['MODE']=="admin") { switch($row['tab']) { case "L": $r = db_fetch("select count(*) as cnt from TB_HOTEL where s_uid='{$row[s_uid]}' "); $data[$i]['good_cnt'] = $r['cnt']; break; case "P": case "D": case "T": case "V": $r = db_fetch("select count(*) as cnt from good where s_uid='{$row[s_uid]}' "); $data[$i]['good_cnt'] = $r['cnt']; break; } } // 포맷팅 $str = ""; $len = 4 - strlen($row['s_uid']); for($j=0 ; $j<$len ; $j++) $str .= " "; $data[$i]['space'] = $str; } return $data; } /****************************************************************************** * * 2. 게시판 관련 * ******************************************************************************/ // 게시판 설정을 반환 // // @param $BD_CD : 게시판 코드 // @param GRP_CD : 게시판 그룹(왼쪽메뉴구성) // @return : 배열 // @참고 : /cmm/index.html 파일에 컬럼 설명 있음 function TO_get_board_setup($BD_CD="",$GRP_CD="GRP01") { if ($BD_CD) { $TO_BD = db_fetch("select *,(select GRP_NM from TB_MDBD01 where TB_MDBD01.GRP_CD=TB_MDBD02.GRP_CD limit 1 ) as GRP_NM from TB_MDBD02 where BD_CD='{$BD_CD}' "); /*if(devCookie()){ echo "select *,(select GRP_NM from TB_MDBD01 where TB_MDBD01.GRP_CD=TB_MDBD02.GRP_CD limit 1 ) as GRP_NM from TB_MDBD02 where BD_CD='{$BD_CD}' "; exit; }*/ $TO_BD = TO_stripslashes($TO_BD); // stripslashes 처리 if ($TO_BD['BD_CD']) { $TO_BD['TABLE'] = $BD_CD; // 게시판 테이블 $TO_BD['TABLE_COMT'] = $BD_CD . "_COMT"; // 게시판 코멘트 테이블 } } else { $sql = " select *,(select GRP_NM from TB_MDBD01 where TB_MDBD01.GRP_CD=TB_MDBD02.GRP_CD limit 1 ) as GRP_NM from TB_MDBD02 where DELFLAG='N' and GRP_CD = '{$GRP_CD}' order by OrderNum "; $rs = db_query($sql); $rows = db_fetch_all($rs); $TO_BD = $rows; } //QNA_VT 제거 /*for($i = 0; $i < count($TO_BD); $i++){ if($TO_BD[$i]['BD_CD'] == 'QNA_VT'){ unset($TO_BD[$i]); break; } }*/ return $TO_BD; } // 게시물 데이터를 일괄 정리후 배열로 반환 // // @param $row : 게시물 데이터 // @param $TO_BD : 게시판 설정 // @param $title_len : 제목 자를 길이 // @return : 배열 // 게시물 데이터를 일괄 정리후 배열로 반환 function TO_get_board($row, $TO_BD, $title_len=50, $OPTION) { global $cf, $TO_CF, $TO_MB, $href, $page; global $lang; // 다국어 설정 global $TO_ADMIN; $upload = "/FileData/logo/"; // 영어 혹은 중국어 일때 경로변경 변수 $lang_path = ""; if ( $lang == "cn" or $lang =="eng" ) $lang_path = "/".$lang; // 디폴트 아이콘 설정 (관리자모드 > 설정관리 > 사이트 설정관리 에서 할 수 있음) (20100716 ) if (!$TO_CF['shop_newiconlink']) $TO_CF['shop_newiconlink'] = "/admin/image/board/new.gif"; $TO_CF['shop_newiconlink_m'] = "/tmbi_images/cmm/new.png"; // 모바일용(20160913) if (!$TO_CF['shop_noticeiconlink']) $TO_CF['shop_noticeiconlink'] = "/admin/image/board/notice.gif"; if (!$TO_CF['shop_newsiconlink']) $TO_CF['shop_newsiconlink'] = "/admin/image/board/icon_news.gif"; if (!$TO_CF['shop_eventiconlink']) $TO_CF['shop_eventiconlink'] = "/admin/image/board/icon_event.gif"; if (!$TO_CF['shop_replyiconlink']) $TO_CF['shop_replyiconlink'] = "/admin/image/board/re.gif"; $TO_CF['shop_replyiconlink_m'] = "/tmbi_images/cmm/re.png"; // 모바일용(20160913) if (!$TO_CF['shop_secreticonlink']) { $TO_CF['shop_secreticonlink'] = "/admin/image/board/secret.gif"; $TO_CF['shop_secreticonlink_m'] = "/tmbi_images/cmm/ico_lock.png"; } if (!$TO_CF['shop_fileiconlink']) $TO_CF['shop_fileiconlink'] = "/admin/image/board/bullet_disk.gif"; // 배열전체를 복사 $list = $row; unset($row); $list = TO_stripslashes($list); // stripslashes 처리 $list['s_title'] = get_text(strip_tags($list['MTITLE'])); // 작성일 $list['date'] = mb_substr($list['INSDT'], 0, 10); $list['datetime'] = $list['INSDT']; $list['datetime2'] = conv_date($list['INSDT'], 2); $list['datetime3'] = str_replace("-",".",mb_substr($list['INSDT'], 5, 5)); // 공지글인지 체크 $list['is_notice'] = false; $list['icon_notice'] = ""; if ($list['FIXED_YN'] == "Y") { $list['is_notice'] = true; $list['icon_notice'] = "<img src='" . $TO_CF['shop_noticeiconlink'] . "' align='absmiddle' alt='공지사항' title='공지사항' />"; } // 뉴스/이벤트글인지 체크 $list['is_news'] = false; $list['is_event'] = false; $list['icon_event'] = ""; if ($list['MSORT_01'] == "NOTICE") { // 뉴스 $list['is_news'] = true; $list['icon_event'] = "<img src='" . $TO_CF['shop_newsiconlink'] . "' align='absmiddle' alt='뉴스' title='뉴스' />"; } else if ($list['MSORT_01'] == "EVENT") { // 이벤트 $list['is_event'] = true; $list['icon_event'] = "<img src='" . $TO_CF['shop_eventiconlink'] . "' align='absmiddle' alt='이벤트' title='이벤트' />"; } // 답변글 깊이 체크 $list['reply'] = ""; if (($list['MLEVEL']) > 0) { $list['reply'] = str_repeat(" ", $list['MLEVEL']); $title_len -= $list[MLEVEL] * 1; } // 답변글 아이콘 $list['icon_reply'] = ""; if ($list['reply']) { $list['icon_reply'] = $list['reply'] . "<img src='" . $TO_CF['shop_replyiconlink'] . "' align='absmiddle' alt='답변' title='답변' />"; $list['icon_reply_m'] = $list['reply'] . "<img src='" . $TO_CF['shop_replyiconlink_m'] . "' align='absmiddle' alt='답변' title='답변' />"; // 모바일용 } // 비밀글 아이콘 $list['is_secret'] = false; $list['icon_secret'] = ""; if ($list['SECRET'] == "Y") { $list['is_secret'] = true; $list['icon_secret'] = "<img src='" . $TO_CF['shop_secreticonlink'] . "' align='absmiddle' alt='비밀글' title='비밀글' />"; $list['icon_secret_m'] = "<img src='" . $TO_CF['shop_secreticonlink_m'] . "' align='absmiddle' alt='비밀글' title='비밀글' style='width:12px;'/>"; // 모바일용 $title_len -= 2; } // 코멘트 $list['comment_str'] = ""; if ($list['comment']) { $list['comment_str'] = "[" . $list['comment'] . "]"; $title_len -= strlen($list['comment_str']) + 2; } // new 아이콘 $list['icon_new'] = ""; if (time() - strtotime($list['INSDT']) <= 3600 * (int)$TO_CF['shop_newicontime']) { $list['icon_new'] = "<img src='" . $TO_CF['shop_newiconlink'] . "' align='absmiddle' alt='새글' title='새글' />"; $list['icon_new_m'] = "<img src='" . $TO_CF['shop_newiconlink_m'] . "' align='absmiddle' alt='새글모바일' title='새글모바일' />"; // 모바일용 $title_len -= 2; } // 홈페이지 $list['MEM_WWW_LINK'] = ""; if ($list['MEM_WWW']) { $list['MEM_WWW'] = set_http($list['MEM_WWW']); $list['MEM_WWW_LINK'] = "<a href='" . $list['MEM_WWW'] . "' target='_blank'>" . $list['MEM_WWW'] . "</a>"; } // 제목 자르기 $list['title'] = cut_str($list['MTITLE'], $title_len, "..."); $list['show_title'] = mb_substr($list['MTITLE'], 0, 23); //메인 표시용으로 생성 사유 글자깨짐 현상 // $list['title'] = mb_substr($list['MTITLE'], 0, 23); $list['title_len'] = $title_len; // 작성자명 히든처리 (강*구) if(strtolower($OPTION) == 'secret'){ $list['MEM_NM'] = setSecretString($list['MEM_NM']); } // 이름 설정 (관리자가 쓴 글일 경우 관리자 이미지 출력) $list['S_MEM_NM'] = get_text(strip_tags($list['MEM_NM'])); // 관리자아이콘 사용일 경우 (20140717 ) if ($TO_CF['shop_admin_icon']) { $sql = "select mb_id as me_id from TB_MEMBER where mb_id = '" . $list['MEM_ID'] . "' and mb_level < 10"; $row = db_fetch($sql); if ($row['me_id']) { $list['MEM_NM'] = "<img src='" .$upload.$TO_CF['shop_admin_icon'] . "' align='absmiddle' style='height:16px; vertical-align:top;' alt='" . $list['S_MEM_NM'] . "' title='" . $list['S_MEM_NM'] . "' />"; } } // 작성자 설정 (20100507 ) $list['name'] = $list['MEM_NM']; // 제목 링크 $list['href'] = $lang_path."/cmm/?MODE=view&BD_CD=$TO_BD[BD_CD]&MSEQ=$list[MSEQ]$href&page=$page"; $list['s_href'] = $lang_path."/cmm/?MODE=view&BD_CD=$TO_BD[BD_CD]&MSEQ=$list[MSEQ]$href"; // 기본 링크 저장 // 제목 링크 MOBILE $list['m_href'] = $lang_path."/tmbi_cmm/?MODE=view&BD_CD=$TO_BD[BD_CD]&MSEQ=$list[MSEQ]$href&page=$page"; $list['m_s_href'] = $lang_path."/tmbi_cmm/?MODE=view&BD_CD=$TO_BD[BD_CD]&MSEQ=$list[MSEQ]$href"; // 기본 링크 저장 // 비밀글일 경우 제목 링크 (20091209 ) // 비밀글 체크 (자신의 글이거나 관리자라면 통과) if (($list['MEM_ID'] && $list['MEM_ID'] == $TO_MB['mb_id']) || $TO_ADMIN) { // 통과 } else { // 비밀글일 경우 $is_writer = false; if ($list['is_secret'] == true) { // 회원이 비밀글을 올리고 관리자가 답변글을 올렸을 경우 // 회원이 관리자가 올린 답변글을 바로 볼 수 있도록 체크 // 원글의 작성자와 비밀번호를 가져옴 $sql = "select MEM_ID, MEM_PWD from {$TO_BD[TABLE]} where MREF = '{$list[MREF]}' and MSTEP = '0'"; $row = db_fetch($sql); // 로그인을 했을 경우 if ($TO_MB['mb_id']) { if ($row['MEM_ID'] == $TO_MB['mb_id']) $is_writer = true; } // 로그인을 안했을 경우 비밀번호 체크 else { $is_writer = false; } // 비밀글을 볼 수 있는 권한이 없을 경우 if (!$is_writer) { $list['href'] = "javascript:pop_password('./password.php?MODE=view&BD_CD=$TO_BD[BD_CD]&MSEQ=$list[MSEQ]$href&page=$page');"; //관리자가 작성한 글인지 확인한다. $writer_id_ck = get_member($list['MEM_ID']); $writer_lv_ck = TO_admin($writer_id_ck); //관리자가 작성한 글은 비회원의 비번입력으로 볼수있도록 예외로 처리한다. if($writer_lv_ck == "super" || $writer_lv_ck == "admin"){ } else { //비밀글이면서 회원작성글이면서 비로그인상태는 로그인안내 메시지 if($list['MEM_ID'] && !$TO_MB['mb_id']) $list['href']="javascript:alert('회원글 확인은 로그인이 필요합니다.');"; } } } } // 분류명 링크 $list['category_name'] = $list['MSORT_03']; // 분류명 $list['category_href'] = $lang_path."/cmm/?BD_CD=$TO_BD[BD_CD]&scat=" . urlencode($list['category_name']); // 등록 파일 가져옴 $list['file'] = TO_get_file($TO_BD['BD_CD'], $list['MSEQ']); if ($list['file']['count']) { $list['icon_file'] = "<img src='" . $TO_CF['shop_fileiconlink'] . "' align='absmiddle' alt='첨부파일' title='첨부파일' />"; } return $list; } // 게시물의 등록파일을 가져옴 (배열로 반환) // // @param $BD_CD : 게시판 코드 // @param $MSEQ : 게시물 번호 // @return : 배열 // 게시물 데이터를 일괄 정리후 배열로 반환 function TO_get_file($BD_CD, $MSEQ) { global $cf, $TO_CF,$BOARD_INFO; // 게시판 설정 가져옴 $TO_BD = TO_get_board_setup($BD_CD); // 등록파일 업로드 경로 $upload = "$cf[path]/FileData/board/$BD_CD"; $upload_url = "$cf[url]/FileData/board/$BD_CD"; // 등록파일 컬럼 설정 //$file_cnt = 10; $file_cnt = (int)$TO_BD[BD_FL]; // 추가컬럼으로 사용 위해 수정 (20100714 ) if ($file_cnt == 0) $file_cnt = 1; $fields = ""; for ($i=1; $i<=$file_cnt; $i++) { if ($i != 1) $fields .= ", "; $fields .= "MFILE".$i; } // 등록파일을 가져옴 $sql = "select $fields from {$TO_BD[TABLE]} where MSEQ = '$MSEQ'"; $row = db_fetch($sql); // 배열로 저장 $file = array(); $file[count] = 0; $file[image] = ""; // 대표 이미지 $preg_image_ext = str_replace(",", "|", $TO_CF[image_ext]); // 대표 이미지 확장자 for ($i=1; $i<=$file_cnt; $i++) { $no = $i; $MFILE = $row['MFILE'.$i]; if ($MFILE) { // 파일정보 가져옴 $file_size = @filesize("$upload/$MFILE"); $file_info = @getimagesize("$upload/$MFILE"); // 파일정보 배열로 저장 $file[$no][href] = "./download.php?BD_CD=$BD_CD&MSEQ=$MSEQ&no=$no"; $file[$no][name] = $MFILE; $file[$no][size] = get_filesize($file_size); $file[$no][save] = $MFILE; //$file[$no][download] = $row[download]; //$file[$no][wday] = $row[wday]; //$file[$no][content] = stripslashes($row[file_content]); $file[$no][width] = (int)$file_info[0]; $file[$no][height] = (int)$file_info[1]; $file[$no][type] = (int)$file_info[mime]; // 이미지,동영상,플래쉬 보기 설정 $file[$no][view] = TO_get_file_view($MFILE, $file[$no][width], $file[$no][height], $row[file_content]); // 대표 이미지 설정 if (!$file[image]) { if (preg_match("/\.($preg_image_ext)$/i", $MFILE)) { $file[image] = "$upload_url/$MFILE"; } } $file[count] = $no; } } // 대표 이미지가 없을 경우 (노이미지) if (!$file[image]) $file[image] = $cf['TO_IMG']['no_image_m']; return $file; } // 등록파일 이미지,동영상,플래쉬 보기 설정 // // @param $file : 파일명 // @param $width : 너비 // @param $height : 높이 // @param $content : 내용 (사용안할듯...) // @return : 문자열 function TO_get_file_view($file, $width, $height, $content="") { global $cf, $TO_CF, $TO_BD,$BOARD_INFO; static $obj_id; if (!$file) return; $obj_id++; // 너비 설정 $view_width = $cf['image_width']; if ($width > $view_width) { $rate = $view_width / $width; $width = $view_width; $height = (int)($height * $rate); } // 경로 설정 if($TO_BD){ $path = "$cf[url]/FileData/board/$TO_BD[BD_CD]"; }else{ $path = "$cf[url]/FileData/board/$BOARD_INFO[BD_CD]"; } $file = urlencode($file); $extension = get_extension($file); $image_ext = explode(",", $TO_CF[image_ext]); $movie_ext = explode(",", $TO_CF[movie_ext]); $flash_ext = explode(",", $TO_CF[flash_ext]); // 이미지 파일 if (in_array($extension, $image_ext)) { // 이미지는 onload 후 리사이즈 위해 사이즈 주지 않음 //return "<img src='$cf[bbs_path]/image_show.php?width=$view_width&image=".urlencode($file)."' onclick=\"image_window('$path/$file');\" style='cursor:pointer;'>"; return "<img src='$path/$file' onclick=\"to_dialog.image(this.src);\" style='cursor:pointer;' id='_TO_{$obj_id}' />"; } // 동영상 파일 elseif (in_array($extension, $movie_ext)) { return "<script type='text/javascript'>mm('$path/$file', '$cf[movie_width]', '', '_TO_{$obj_id}', 1, 1);</script>"; } // 플래쉬 파일 elseif (in_array($extension, $flash_ext)) { return "<script type='text/javascript'>mf('$path/$file', '$width', '$height', '_TO_{$obj_id}', 'transparent');</script>"; } } // 탭 분류 옵션을 배열로 가져옴 (20091207 ) // // @param $BD_CD : 게시판 코드 // @param $val : 셀렉트 값 // @return : 배열 function TO_get_tab_array($BD_CD, $val="") { $sql = "select BD_TP from TB_MDBD02 where BD_CD = '$BD_CD'"; $row = db_fetch($sql); $tmp = explode(",", $row[BD_TP]); // 구분자로 나눔 $arr = array(); for ($i=0; $i<count($tmp); $i++) { if (trim($tmp[$i])) { $arr[] = $tmp[$i]; } } return $arr; } // 탭 분류 옵션을 가져옴 // // @param $BD_CD : 게시판 코드 // @param $val : 셀렉트 값 // @return : 문자열 function TO_get_tab_option($BD_CD, $val="") { // 탭 분류 옵션을 배열로 가져옴 (20091207 ) $arr = TO_get_tab_array($BD_CD); $str = ""; for ($i=0; $i<count($arr); $i++) { $selected = ($arr[$i] == $val) ? " selected" : ""; $str .= "<option value='$arr[$i]'{$selected}>$arr[$i]</option>\n"; } return $str; } // 게시판 최신글을 배열로 가져옴 // 여러게시판에서 최신글을 가져올 수 있도록 수정 (20100722 ) // // @param $BD_CD : 게시판 코드 // 여러 게시판 코드 (예 : "NOTICE,QNA") // prefix(접두사)가 같은 여러 게시판 (예 : "QNA*" => QNA1,QNA2,QNA3 등등 QNA로 시작하는 모든 게시판) // @param $rows : 가져올 갯수 // @param $title_len : 제목 자를 길이 // @param $category : 카테고리 // @param $sql_query : 검색 조건 설정 // @return : 배열 function TO_get_latest($BD_CD, $rows=5, $title_len=30, $category="", $sql_query="") { // 여러게시판에서 최신글을 가져올 수 있도록 수정 (20100722 ) $arr = array(); if (strpos($BD_CD, "*") !== false) { $sql = "SELECT BD_CD FROM TB_MDBD02 WHERE BD_CD LIKE '" . str_replace("*", "%", $BD_CD) . "'"; $rs = db_query($sql); while ($row = db_fetch_array($rs)) { $arr[] = $row[BD_CD]; } } else { $arr = @explode(",", $BD_CD); } $list = array(); // 검색 설정 $sql_where = ""; if ($category) $sql_where .= " where MSORT_03 = '$category' "; // 카테고리 검색 (20101222 ) if ($sql_query) $sql_where .= (($sql_where) ? " and " : " where ") . $sql_query; // 게시판 설정 가져옴 $TO_BD = array(); for ($i=0; $i<count($arr); $i++) { $CD = trim($arr[$i]); $TO_BD[$CD] = TO_get_board_setup($CD); } // 게시물 쿼리 변경 (20100722 ) $sql_arr = array(); for ($i=0; $i<count($arr); $i++) { $CD = trim($arr[$i]); $table = $TO_BD[$CD][TABLE]; // 게시판 테이블명 // 답변수 쿼리 추가 (20100722 ) $sql_arr[] = " select a.* , '$CD' AS MCD , (select count(*) from {$table} where MREF = a.MREF and MSTEP > a.MSTEP) as MREPLY from {$table} a {$sql_where} "; } $sql = @implode("\n UNION ALL \n", $sql_arr); if (count($arr) > 1) { // 여러 게시판일 경우 날짜로 정렬 $sql.= "\n order by INSDT DESC limit 0, $rows "; } else { // 한개 게시판일 경우 기본 정렬 if ($TO_BD[$BD_CD][BD_OD] == "Y") { // 순서조정 기능 게시판일 경우 (20101101 ) $sql_order = " OrderNum, "; } $sql.= "\n order by {$sql_order} MRef DESC, MStep ASC, MSEQ DESC limit 0, $rows "; } //echo $sql; exit; $rs = db_query($sql); for ($i=0; $row = db_fetch_array($rs); $i++) { // 게시물 데이터를 일괄 정리후 배열로 저장 $list[$i] = TO_get_board($row, $TO_BD[$row[MCD]], $title_len); // 최신글 링크는 기본링크로 변경 (20091209 ) $list[$i][href] = $list[$i][s_href]; } return $list; } // 게시판그룹 // function board_group_list($GRP_CD='',$GRP_CD_NOT=""){ $sql_where = " where 1 "; if ($GRP_CD) $sql_where .= " and GRP_CD='{$GRP_CD}' "; if ($GRP_CD_NOT) $sql_where .= " and GRP_CD <> '{$GRP_CD_NOT}' "; $sql ="SELECT \n"; $sql.=" p1.* \n"; $sql.=" ,(select count(p2.BD_CD) from TB_MDBD02 p2 where p2.GRP_CD=p1.GRP_CD) as 'BDCNT' \n"; $sql.="FROM TB_MDBD01 p1 {$sql_where} order by OrderNum,GRP_CD asc \n"; // print_r($sql); $rs = db_query($sql); $data = array(); $i=0; while($rows = db_fetch_array($rs)){ $data[$i] = $rows; $i++; } return $data; } /** * @author taeyoung * 업무요청 리스트 * 2022-07-28 */ function getWorkRequestList($sql_where="",$sql_order="",$olds='',$line=10){ $sql = "SELECT * FROM TB_WORK_REQUEST "; if($sql_where) $sql .=" $sql_where "; if($sql_order) $sql .= " order by ".$sql_order; if($olds!=='') $sql .= " limit $olds , $line "; $rs = db_query($sql); $returnData = array(); while($row = db_fetch_array($rs)){ array_push($returnData, $row); } return $returnData; } /** * @author taeyoung * 업무요청 업무구분 */ function getWorkTypeList(){ $workType = array( 'design' => '디자인', 'development' => '개발', 'marketing' => '마케팅', 'makingProduct' => '상품개발', 'cs' => '고객응대', 'calculate' => '정산', 'etc' => '기타업무', ); return $workType; } /** * @author taeyoung * 업무요청 처리구분 */ function getProcessTypeList(){ $processType = array( '' => '없음', 'emergency' => '긴급', 'today' => '당일처리', 'notice' => '공지', 'ceoCommand' => '대표지시', 'coWorking' => '협업', ); return $processType; } /** * @author taeyoung * @date 2022-08-01 * @param $seq * @return array */ function getCowokerRequestWorkList($seq){ $sql = "SELECT performer FROM TB_WORK_REQUEST WHERE PARENT_SEQ = {$seq} GROUP BY performer"; $rs = db_query($sql); $returnData = array(); while($row = db_fetch_array($rs)){ array_push($returnData, $row['performer']); } return $returnData; } //업무 협조 데이터 function getSubWorkRequestData($SEQ){ $sql = "SELECT * FROM TB_WORK_REQUEST WHERE PARENT_SEQ = {$SEQ}"; $rs = db_query($sql); $returnData = array(); while($row = db_fetch_array($rs)){ array_push($returnData, $row); } return $returnData; } function getWorkRequestData($SEQ){ $sql = "SELECT * FROM TB_WORK_REQUEST WHERE SEQ = {$SEQ}"; $rs = db_query($sql); $returnData = array(); while($row = db_fetch_array($rs)){ array_push($returnData, $row); } return $returnData; } // 임직원 > 인트라넷 글 목록 function board_intra_list($sql_where="",$sql_order="",$olds='',$line=10){ // 파일아이콘 $intra_icon = array( 'FILE' => "<img src='/admin/image/cal_file_icon.gif' width='25'>", 'HOT' => "<img src='/admin/image/hot_icon.gif'>", 'NEW' => "<img src='/admin/image/new_icon.gif'>", 'DEPOSIT' => "<img src='/admin/image/deposit_icon.gif'>", 'NODEPOSIT' => "<img src='/admin/image/nodeposit_icon.gif'>", ); $sql="SELECT *,(select count(*) from TB_INTRA_DATA_COMT where TB_INTRA_DATA.MSEQ=MSEQ)COMT_CNT "; $sql.=" FROM TB_INTRA_DATA WHERE 1=1 "; if($sql_where) $sql .=" $sql_where "; if($sql_order) $sql .= " order by ".$sql_order; if($olds!=='') $sql .= " limit $olds , $line "; $data = array(); $rs = db_query($sql); $i = 0; while($row = db_fetch_array($rs)){ $data[$i] = $row; // 분류 $data[$i]['CATE_NM'] = get_intra_cate($row['MCATE']); // 부서명 ( 또는 부서아이콘 ) $member = member_fetch(sprintf(" and mb_level <= 20 and mb_id = '%s' ", $row[MEM_ID]),"emp_rank_cd, emp_incid_dt, mb_nm, emp_brench_cd, emp_depart_cd desc "); if($member[0]['emp_depart_img']){ $data[$i]['DEPT_NM'] = "<img src='".$member[0]['emp_depart_img']."'>"; } else { $data[$i]['DEPT_NM'] = $member[0]['emp_depart_nm']; } $member_biz = member_fetch(sprintf(" and mb_id = '%s' ", $row[AGENT_ID])); $data[$i]['CORP_NM'] = $member_biz[0]['bz_corp_nm']; // 상태 $data[$i]['STATUS'] = get_intra_status($row, 'button'); // NEW 아이콘 $yesterday = date('Y-m-d H:i:s', strtotime("-1 day")); if($row['INSDT'] > $yesterday){ $data[$i]['NEW_IMG'] = $intra_icon['NEW']; } // HOT 아이콘 if($row['HOT_YN'] == 'Y'){ $data[$i]['HOT_IMG'] = $intra_icon['HOT']; } // 입금 아이콘 if($row['DEPOSIT_YN'] == 'Y'){ $data[$i]['DEPOSIT_IMG'] = $intra_icon['DEPOSIT']; } // 미입금 아이콘 if($row['NODEPOSIT_YN'] == 'Y'){ $data[$i]['NODEPOSIT_IMG'] = $intra_icon['NODEPOSIT']; } $i++; } return $data; } // 임직원 > 인트라넷 분류 목록 function get_intra_cate($code){ $cate = array( 'LOG' => '업무일지', 'MEET' => '미팅보고서', 'CAL' => '거래처정산', // 'IVQ' => '정산요청', 'IVQ' => '공급처정산', 'REF' => '환불내역서', 'MEMO' => '중요메모', 'DOC' => '대외공문', 'NOTI' => '공지사항', 'TRIP' => '출장보고', 'VAC' => '휴가요청', 'ROBI' => '계약서관리', 'PRJ' => '프로젝트', 'TAX' => '세무회계', // 'IVA' => '정산답변', ); if($code == 'ALL'){ return $cate; } else if($code == 'B2B'){ $cate = array( // 'IVQ' => '정산요청', 'IVQ' => '공급처정산', // 'IVA' => '정산답변', ); return $cate; } else { return $cate[$code]; } } // 임직원 > 인트라넷 상태값 function get_intra_status($row, $type='button'){ global $TO_MB; $mseq = $row['MSEQ']; $cate = $row['MCATE']; $confirm = $row['CONFIRM_YN']; // 상태별 버튼 문구 $status_str['LOG'] = array('N'=>'미확인', 'Y'=>'확인완료'); // 업무일지 $status_str['CAL'] = array('N'=>'입금요청', 'Y'=>'입금완료'); // 정산내역서 $status_str['REF'] = array('N'=>'미입금', 'Y'=>'입금처리'); // 환불내역서 $status_str['TRIP'] = array('N'=>'보고서제출', 'Y'=>'보고완료'); // 출장보고 $status_str['MEET'] = array('N'=>'보고서제출', 'Y'=>'보고완료'); // 미팅보고 $status_str['ROBI'] = array('N'=>'계약체결', 'Y'=>'계약완료'); // 품의보고 // $status_str['ROBI'] = array('N'=>'계약완료', 'Y'=>'계약완료'); // 품의보고 $status_str['VAC'] = array('N'=>'휴가요청', 'Y'=>'승인완료'); // 휴가보고 $status_str['MEMO'] = array('T'=>'대외비'); // 중요메모 $status_str['DOC'] = array('T'=>'접수&발송'); // 공문 $status_str['PRJ'] = array('T'=>'중요업무'); // 프로젝트 $status_str['IVQ'] = array('N'=>'입금요청', 'Y'=>'입금완료'); // 정산내역서 if( $type == 'button' ) { if($status_str[$cate][$confirm]){ if($TO_MB[mb_level] == 1){ $return = "<span class='intra_btn_".strtolower($confirm)."' onClick=\"intra_change_status('{$mseq}');\">"._e($status_str[$cate][$confirm])."</span>"; } else { $return = "<span class='intra_btn_".strtolower($confirm)."'>"._e($status_str[$cate][$confirm])."</span>"; } } else if($status_str[$cate]['T']) { $return = "<p style='font-weight:bold; color:#B91A4D;'>[".$status_str[$cate]['T']."]</p>"; } } else { if($status_str[$cate][$confirm]){ $return = $status_str[$cate][$confirm]; } else { $return = $status_str[$cate]['T']; } } return $return; } // 게시판 function board_info_list($GRP_CD='',$BD_CD=''){ $sql_where = ""; if($GRP_CD) $sql_where .= "and GRP_CD='{$GRP_CD}' "; if($BD_CD) $sql_where .= "and BD_CD='{$BD_CD}' "; $sql="SELECT * "; $sql.=" ,(select cd_nm from TB_CODEC where code=TB_MDBD02.BD_SORT)BD_SORT_STR "; $sql.=" FROM TB_MDBD02 "; $sql.=" where GRP_CD<>'' {$sql_where} Order by GRP_CD,OrderNum,BD_SORT,BD_DT "; $rs = db_query($sql); $data = array(); $i=0; while($rows = db_fetch_array($rs)){ $data[$i] = $rows; if($rows['DELFLAG']=="N"){ $data[$i]['delflag2'] = "btn_check.gif";//사용 $data[$i]['delflag_opp'] = "Y"; }else{ $data[$i]['delflag2'] = "btn_stop.gif";//중지 $data[$i]['delflag_opp'] = "N"; } $i++; } return $data; } function board_list($BD_CD,$sql_where="",$sql_order="",$olds='',$line=10){ if(!$BD_CD) return false; $sql="SELECT *, (select count(*) from {$BD_CD}_COMT where {$BD_CD}.MSEQ=MSEQ) COMT_CNT "; $sql.=" FROM {$BD_CD} "; if($sql_where) $sql .=" $sql_where "; if($sql_order) $sql .= " order by ".$sql_order; //else $sql .= " order by seq desc "; if($olds!=='') $sql .= " limit $olds , $line "; $data = array(); /*if(devCookie()){ p($sql); }*/ $rs = db_query($sql); $i = 0; while($row = db_fetch_array($rs)){ if($row['b_uid']) { // 1차카테고리(2017-03-06.허종) $data_bc = TO_get_bc($row['b_uid'],"N"); $row['b_name'] = $data_bc[0]['b_name']; } if($row['g_uid']) { if($row['b_uid']) { $row_tab = db_fetch("SELECT tab FROM bc WHERE b_uid='{$row['b_uid']}'"); $row['tab'] = $row_tab['tab']; } // 상품명 if($row['tab'] == 'L'){ $arr = hotel_list(" and hseq='{$row['g_uid']}' "); $row['g_title'] = $arr[0]['hotel_nm']; } else { $arr = good_list(" and g_uid='{$row['g_uid']}' "); $row['g_title'] = $arr[0]['g_title']; } } $data[$i] = $row; if($row['COMT_CNT']>0){ $data2 = board_comt_list($BD_CD,"WHERE MSEQ = '".$row['MSEQ']."' ",'INSDT'); $data[$i]['COMT_LIST'] = $data2; } $i++; } return $data; } function board_comt_list($BD_CD,$sql_where="",$sql_order="",$olds='',$line=10){ if(!$BD_CD) return false; $sql="SELECT *,(select MTITLE from {$BD_CD} where {$BD_CD}_COMT.MSEQ=MSEQ)MTITLE "; $sql.=" FROM {$BD_CD}_COMT "; if($sql_where) $sql .=" $sql_where "; if($sql_order) $sql .= " order by ".$sql_order; //else $sql .= " order by seq desc "; if($olds!=='') $sql .= " limit $olds , $line "; $data = array(); $rs = db_query($sql); $i=0; while($rows = db_fetch_array($rs)){ $data[$i] = $rows; $i++; } //$data = db_fetch_all($rs); return $data; } function FindTBNM($GetTB){//테이블존재여부 if(!$GetTB) return '1'; $sql = "SHOW TABLES LIKE '{$GetTB}'"; $result = db_query($sql); $ReturnCnt = db_num($result); return $ReturnCnt; } function TBL_TOTAL($TableName,$sql_where=""){ $sql = "select count(*) from {$TableName} {$sql_where}"; $result = db_query($sql); $rs = db_fetch_row($result); $ReturnCnt = $rs[0]; return $ReturnCnt; } /////////////////////////////////////////////////////////////////////////////// // 게시판 설정을 반환 // // @param $BD_CD : 게시판 코드 // @param GRP_CD : 게시판 그룹(왼쪽메뉴구성) // @return : 배열 // @참고 : /cmm/index.html 파일에 컬럼 설명 있음 function TO_get_info_setup($BD_CD="",$GRP_CD="GRP01") { if ($BD_CD) { $TO_BD = db_fetch("select *,(select GRP_NM from TB_INFO_GRP where TB_INFO_GRP.GRP_CD=TB_INFO_BD.GRP_CD limit 1 ) as GRP_NM from TB_INFO_BD where BD_CD='{$BD_CD}' "); $TO_BD = TO_stripslashes($TO_BD); // stripslashes 처리 if ($TO_BD['BD_CD']) { $TO_BD['TABLE'] = $BD_CD; // 게시판 테이블 $TO_BD['TABLE_COMT'] = $BD_CD . "_COMT"; // 게시판 코멘트 테이블 } } else { $sql = " select *,(select GRP_NM from TB_INFO_GRP where TB_INFO_GRP.GRP_CD=TB_INFO_BD.GRP_CD limit 1 ) as GRP_NM from TB_INFO_BD where DELFLAG='N' and GRP_CD = '{$GRP_CD}' order by OrderNum "; $rs = db_query($sql); $rows = db_fetch_all($rs); $TO_BD = $rows; } return $TO_BD; } // 인포 데이터를 일괄 정리후 배열로 반환 // // @param $row : 게시물 데이터 // @param $TO_BD : 게시판 설정 // @param $title_len : 제목 자를 길이 // @return : 배열 // 게시물 데이터를 일괄 정리후 배열로 반환 function TO_get_info_board($row, $TO_BD, $title_len=50) { global $cf, $TO_CF, $TO_MB, $href, $page; global $lang; // 다국어 설정 global $TO_ADMIN; $upload_logo = "/FileData/logo/"; $upload ="/FileData/board/" . $row[BD_CD] . "/"; // 영어 혹은 중국어 일때 경로변경 변수 $lang_path = ""; if ( $lang == "cn" or $lang =="eng" ) $lang_path = "/".$lang; // 디폴트 아이콘 설정 (관리자모드 > 설정관리 > 사이트 설정관리 에서 할 수 있음) (20100716 ) if (!$TO_CF['shop_newiconlink']) $TO_CF['shop_newiconlink'] = "/admin/image/board/new.gif"; $TO_CF['shop_newiconlink_m'] = "/tmbi_images/cmm/new.png"; // 모바일용(20160913) if (!$TO_CF['shop_noticeiconlink']) $TO_CF['shop_noticeiconlink'] = "/admin/image/board/notice.gif"; if (!$TO_CF['shop_newsiconlink']) $TO_CF['shop_newsiconlink'] = "/admin/image/board/icon_news.gif"; if (!$TO_CF['shop_eventiconlink']) $TO_CF['shop_eventiconlink'] = "/admin/image/board/icon_event.gif"; if (!$TO_CF['shop_replyiconlink']) $TO_CF['shop_replyiconlink'] = "/admin/image/board/re.gif"; $TO_CF['shop_replyiconlink_m'] = "/tmbi_images/cmm/re.png"; // 모바일용(20160913) if (!$TO_CF['shop_secreticonlink']) { $TO_CF['shop_secreticonlink'] = "/admin/image/board/secret.gif"; $TO_CF['shop_secreticonlink_m'] = "/tmbi_images/cmm/ico_lock.png"; } if (!$TO_CF['shop_fileiconlink']) $TO_CF['shop_fileiconlink'] = "/admin/image/board/bullet_disk.gif"; // 배열전체를 복사 $list = $row; unset($row); $list = TO_stripslashes($list); // stripslashes 처리 // 대표이미지 if ( $list['MIMAGE'] ) { $list['img_src'] = $upload.$list['MIMAGE']; } // 제목 $list['s_title'] = get_text(strip_tags($list['MTITLE'])); // 작성일 $list['date'] = substr($list['INSDT'], 0, 10); $list['datetime'] = $list['INSDT']; $list['datetime2'] = conv_date($list['INSDT'], 2); $list['datetime3'] = str_replace("-",".",substr($list['INSDT'], 5, 5)); // 코멘트 $list['comment_str'] = ""; if ($list['comment']) { $list['comment_str'] = "[" . $list['comment'] . "]"; $title_len -= strlen($list['comment_str']) + 2; } // 조회수 $list['read_cnt'] = number_format($list['READCNT']); // new 아이콘 $list['icon_new'] = ""; if (time() - strtotime($list['INSDT']) <= 3600 * (int)$TO_CF['shop_newicontime']) { $list['icon_new'] = "<img src='" . $TO_CF['shop_newiconlink'] . "' align='absmiddle' alt='새글' title='새글' />"; $list['icon_new_m'] = "<img src='" . $TO_CF['shop_newiconlink_m'] . "' align='absmiddle' alt='새글모바일' title='새글모바일' />"; // 모바일용 $title_len -= 2; } // 홈페이지 $list['MEM_WWW_LINK'] = ""; if ($list['MEM_WWW']) { $list['MEM_WWW'] = set_http($list['MEM_WWW']); $list['MEM_WWW_LINK'] = "<a href='" . $list['MEM_WWW'] . "' target='_blank'>" . $list['MEM_WWW'] . "</a>"; } // 제목 자르기 $list['title'] = cut_str($list['MTITLE'], $title_len, "..."); $list['title_len'] = $title_len; // 간략설명 $list['summary'] = cut_str($list['MSUMM'], $title_len, "..."); // 이름 설정 (관리자가 쓴 글일 경우 관리자 이미지 출력) $list['S_MEM_NM'] = get_text(strip_tags($list['MEM_NM'])); // 관리자아이콘 사용일 경우 (20140717 ) if ($TO_CF['shop_admin_icon']) { $sql = "select mb_id as me_id from TB_MEMBER where mb_id = '" . $list['MEM_ID'] . "' and mb_level < 10"; $row = db_fetch($sql); if ($row['me_id']) { $list['MEM_NM'] = "<img src='" .$upload_logo.$TO_CF['shop_admin_icon'] . "' align='absmiddle' style='height:18px' alt='" . $list['S_MEM_NM'] . "' title='" . $list['S_MEM_NM'] . "' />"; } } // 작성자 설정 (20100507 ) $list['name'] = $list['MEM_NM']; // 제목 링크 $list['href'] = $lang_path."/info/?MODE=view&BD_CD=$TO_BD[BD_CD]&MSEQ=$list[MSEQ]$href&page=$page"; $list['s_href'] = $lang_path."/info/?MODE=view&BD_CD=$TO_BD[BD_CD]&MSEQ=$list[MSEQ]$href"; // 기본 링크 저장 // 제목 링크 MOBILE $list['m_href'] = $lang_path."/tmbi_info/?MODE=view&BD_CD=$TO_BD[BD_CD]&MSEQ=$list[MSEQ]$href&page=$page"; $list['m_s_href'] = $lang_path."/tmbi_info/?MODE=view&BD_CD=$TO_BD[BD_CD]&MSEQ=$list[MSEQ]$href"; // 기본 링크 저장 // 분류명 링크 $list['category_name'] = $list['MSORT_03']; // 분류명 $list['category_href'] = $lang_path."/info/?BD_CD=$TO_BD[BD_CD]&scat=" . urlencode($list['category_name']); // 등록 파일 가져옴 /* $list['file'] = TO_get_file($TO_BD['BD_CD'], $list['MSEQ']); if ($list['file']['count']) { $list['icon_file'] = "<img src='" . $TO_CF['shop_fileiconlink'] . "' align='absmiddle' alt='첨부파일' title='첨부파일' />"; } */ return $list; } function info_group_list($GRP_CD='',$GRP_CD_NOT=""){ $sql_where = " where 1 "; if ($GRP_CD) $sql_where .= " and GRP_CD='{$GRP_CD}' "; if ($GRP_CD_NOT) $sql_where .= " and GRP_CD <> '{$GRP_CD_NOT}' "; $sql ="SELECT \n"; $sql.=" p1.* \n"; $sql.=" ,(select count(p2.BD_CD) from TB_INFO_BD p2 where p2.GRP_CD=p1.GRP_CD) as 'BDCNT' \n"; $sql.="FROM TB_INFO_GRP p1 {$sql_where} order by OrderNum,GRP_CD asc \n"; $rs = db_query($sql); $data = array(); $i=0; while($rows = db_fetch_array($rs)){ $data[$i] = $rows; $i++; } return $data; } function info_board_list($GRP_CD='',$BD_CD=''){ $sql_where = ""; if($GRP_CD) $sql_where .= "and GRP_CD='{$GRP_CD}' "; if($BD_CD) $sql_where .= "and BD_CD='{$BD_CD}' "; $sql="SELECT * "; $sql.=" ,(select cd_nm from TB_CODEC where code=TB_INFO_BD.BD_SORT)BD_SORT_STR "; $sql.=" FROM TB_INFO_BD "; $sql.=" where GRP_CD<>'' {$sql_where} Order by GRP_CD,OrderNum,BD_SORT "; $rs = db_query($sql); $data = array(); $i=0; while($rows = db_fetch_array($rs)){ $data[$i] = $rows; if($rows['DELFLAG']=="N"){ $data[$i]['delflag2'] = "btn_check.gif";//사용 $data[$i]['delflag_opp'] = "Y"; }else{ $data[$i]['delflag2'] = "btn_stop.gif";//중지 $data[$i]['delflag_opp'] = "N"; } $i++; } return $data; } function info_data($BD_CD,$sql_where="",$sql_order="",$olds='',$line=10){ if(!$BD_CD) return false; $sql="SELECT *,(select count(*) from TB_INFO_DATA_COMT where BD_CD='{$BD_CD}' AND TB_INFO_DATA.MSEQ=MSEQ)COMT_CNT "; $sql.=" FROM TB_INFO_DATA "; if($sql_where) $sql .=" $sql_where "; if($sql_order) $sql .= " order by ".$sql_order; if($olds!=='') $sql .= " limit $olds , $line "; $data = array(); $rs = db_query($sql); $i = 0; while($row = db_fetch_array($rs)){ if($row['b_uid']) { // 1차카테고리(2017-03-06.허종) $data_bc = TO_get_bc($row['b_uid'],"N"); $row['b_name'] = $data_bc[0]['b_name']; } if($row['g_uid']) { // 상품명 $arr = good_list(" and g_uid='{$row['g_uid']}' "); $row['g_title'] = $arr[0]['g_title']; } $data[$i] = $row; if($row['COMT_CNT']>0){ $data2 = board_comt_list($BD_CD,"WHERE MSEQ = '".$row['MSEQ']."' ",'INSDT'); $data[$i]['COMT_LIST'] = $data2; } $i++; } return $data; } function info_comt_data($BD_CD,$sql_where="",$sql_order="",$olds='',$line=10){ if(!$BD_CD) return false; $sql="SELECT *,(select MTITLE from {$BD_CD} where {$BD_CD}_COMT.MSEQ=MSEQ)MTITLE "; $sql.=" FROM {$BD_CD}_COMT "; if($sql_where) $sql .=" $sql_where "; if($sql_order) $sql .= " order by ".$sql_order; //else $sql .= " order by seq desc "; if($olds!=='') $sql .= " limit $olds , $line "; $data = array(); $rs = db_query($sql); $i=0; while($rows = db_fetch_array($rs)){ $data[$i] = $rows; $i++; } //$data = db_fetch_all($rs); return $data; } // 탭 분류 옵션을 배열로 가져옴 (20091207 ) // // @param $BD_CD : 게시판 코드 // @param $val : 셀렉트 값 // @return : 배열 function TO_get_info_tab_array($BD_CD, $val="") { $sql = "select BD_TP from TB_INFO_BD where BD_CD = '$BD_CD'"; $row = db_fetch($sql); $tmp = explode(",", $row[BD_TP]); // 구분자로 나눔 $arr = array(); for ($i=0; $i<count($tmp); $i++) { if (trim($tmp[$i])) { $arr[] = $tmp[$i]; } } return $arr; } // 탭 분류 옵션을 가져옴 // // @param $BD_CD : 게시판 코드 // @param $val : 셀렉트 값 // @return : 문자열 function TO_get_info_tab_option($BD_CD, $val="") { // 탭 분류 옵션을 배열로 가져옴 (20091207 ) $arr = TO_get_info_tab_array($BD_CD); $str = ""; for ($i=0; $i<count($arr); $i++) { $selected = ($arr[$i] == $val) ? " selected" : ""; $str .= "<option value='$arr[$i]'{$selected}>$arr[$i]</option>\n"; } return $str; } /****************************************************************************** * * 3. 약관정보, 코드생성, 우편번호, 로그인, 카테고리, 날짜, 환율조회, 페이징 * ******************************************************************************/ // 투어오피스 관리자인가? // // @param $mb : 회원정보 배열 // @return : 문자열 function TO_admin($mb) { if (!$mb[mb_level]) return ""; if ($mb[mb_level] == 1) return "super"; // 전체관리자 if ($mb[mb_level] == 2) return "admin"; // 준관리자 return ""; } // 문자열로 배열 원소를 결합 (implode 와 기능은 같지만 빈값은 결합하지 않음) // 사용예 : 전화번호 합칠 많이 쓰일듯(--;), 주민번호 등등.. // // @param $div : 결합문자 // @param $arr : 배열 // @return : 문자열 function TO_implode($div="-", $arr) { if (!is_array($arr)) return ""; $tmp = array(); for ($i=0, $cnt=count($arr); $i<$cnt; $i++) { if ($arr[$i]) $tmp[] = $arr[$i]; } $str = @implode($div, $tmp); return $str; } // 금액을 숫자로 반환 // // @param $price : 금액 // @return : 숫자 function TO_number($price) { $price = str_replace(",", "", $price); return $price; } // 약관정보 가져옴 // // @param $code : 코드 (관리자모드 > 정보관리 > 약관관리 > 코드번호) // @return : 배열 function TO_get_rule($rule_type="0",$ridx="",$RCD="") { global $lang , $TO_CF, $cf; $column_nm = "RuleText"; if ( $cf['lang']=="en" or $cf['lang']=="cn" or $cf['lang']=="hk" ) $column_nm = "RuleText_".$cf['lang']; if ($ridx) $sql_where = " and Ridx='{$ridx}' "; if ($RCD) $sql_where .= " and RCD='{$RCD}' "; if($cf['MODE']=="admin") { $sql = "select Ridx,RCD,RuleTitle, RuleText, RuleText_en, RuleText_cn, RuleText_hk ,date_format(RegDate,'%Y.%m.%d %H:%i:%s') as RegDate2,DelFlag from TB_RULE where RuleType = '{$rule_type}' {$sql_where} "; } else { $sql = "select Ridx,RCD,RuleTitle,{$column_nm} as RuleText,date_format(RegDate,'%Y.%m.%d %H:%i:%s') as RegDate2,DelFlag from TB_RULE where RuleType = '{$rule_type}' {$sql_where} "; } $rs = db_query($sql); $i=0; while($rows = db_fetch_array($rs)){ $data[$i] = $rows; if($rows['DelFlag']=='N') { $data[$i]['DelFlag2']="btn_check.gif"; $data[$i]['changeDelFlag'] = "Y"; }else{ $data[$i]['DelFlag2']="btn_stop.gif"; $data[$i]['changeDelFlag'] = "N"; } $data[$i]['RuleText2'] = str_replace("{SHOP_COMPANY}",$TO_CF['shop_company'],$data[$i]['RuleText']); $i++; } return $data; } // 우편번호 검색 리스트 가져옴 // // @param $dong : 지역(읍/면/동)명 // @return : 배열 function TO_get_zipcode($dong) { $arr = array(); if ($dong) { $sql = "SELECT CODE as ZIPCODE, SIDO, GUGUN, DONG, BUNJI, BUILDING, ADDRESS, LEFT(CODE, 3) AS ZIP1, RIGHT(CODE, 3) AS ZIP2 FROM zipcode WHERE ADDRESS LIKE '%{$dong}%';"; $rs = db_query($sql); // 배열로 저장 while ($row = db_fetch_array($rs)) { $row = TO_stripslashes($row); // stripslashes 처리 $arr[] = $row; } } return $arr; } // 로그인 체크 함수 // // @param $url : 이동 URL // @param $login : true(로그인했을경우처리), false(로그인안했을경우처리) // @param $msg : 이동전 알림 메세지 // @return : 없음 function TO_check_login($url="/", $login=true, $msg="") { global $TO_MB; // 처리 판단 변수 $is_check = false; // 로그인 했을 경우 처리 if ($login == true && $TO_MB[mb_id]) $is_check = true; // 로그인 안했을 경우 처리 if ($login == false && !$TO_MB[mb_id]) $is_check = true; // 처리 if ($is_check == true) { if ($msg) error_msg($msg, $url); else movepage($url); } } // 날짜 형태 변환함수 // // @param $datetime : 날짜[시간] // @param $type : 타입번호 // @return : 배열 function TO_date_type($datetime, $type="", $yoil=false) { global $cf; $str = ""; switch($type) { case 1: // 2009.09.24 $str = @date("Y.m.d", @strtotime($datetime)); break; case 2: // 2009.09.24 09:15 $str = @date("Y.m.d H:i", @strtotime($datetime)); break; case 3: // 2009/09/24 09:15 $str = @date("Y/m/d H:i", @strtotime($datetime)); break; default: // 2009-09-24 $str = @date("Y-m-d", @strtotime($datetime)); } // 요일 추가일 경우 if ($yoil == true) { //$yoil_array = array('일', '월', '화', '수', '목', '금', '토'); if($cf['lang']=="ko") { $yoil_array = array('일', '월', '화', '수', '목', '금', '토'); } else { $yoil_array = array('SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'); } $yoil_num = @date("w", @strtotime($datetime)); // 'w' 숫자반환 : 0(일)~6(토) $str .= " (" . $yoil_array[$yoil_num] . ")"; } return $str; } // 선택페이지일 경우 해당문자열을 출력하는 함수 // // @param $page : 페이지명 or 게시판코드(BD_CD) (여러개일 경우 '|' 로 구분해서 입력) // @param $str : 출력할 문자열 // @param $equal : 페이지명이 완전일치할 경우(true), 일부일치(false) (20101105 ) // @return : 없음 function TO_page_on($page, $str=" class='on'", $equal=false) { global $BD_CD; if (!$page) return; $page_array = @explode("|", $page); for ($i=0; $i<count($page_array); $i++) { // 게시판코드가 같을 경우 출력 if ($BD_CD == $page_array[$i]) { echo $str; return; } else { if ($equal == true) { // 완전일치 (20101105 ) $filename = basename($_SERVER[PHP_SELF]); if (preg_match("/^$filename$/", $page_array[$i])) { echo $str; return; } } else { // 일부일치 // 페이지명이 같을 경우 출력 if (strpos($_SERVER[PHP_SELF], $page_array[$i]) !== false) { echo $str; return; } } } } } //현재폴더명 일치할 경우 문자열 출력 function TO_folder_on($page, $str="class='on'", $add1="") { if (!$page) return; $dir = getcwd(); // 현재 디렉토리명을 반환하는 PHP 함수이다. $temp = explode("/", $dir); $dirname = $temp[sizeof($temp)-1]; $page_array = @explode("|", $page); for ($i=0; $i<count($page_array); $i++) { // 페이지명이 같을 경우 출력 if ($dirname==$page_array[$i]) { return $str; } } } //카테고리 on //str을 리턴 function TO_cate_on($b, $m="", $s="", $str="class='on'") { global $b_uid, $m_uid, $s_uid; if (!$b) return ""; if($b && $m && $c){ if($b==$b_uid && $m==$m_uid && $s==$s_uid) return $str; }else if($b && $m){ if($b==$b_uid && $m==$m_uid) return $str; }else if($b){ if($b==$b_uid) return $str; } return ""; } // 선택페이지일 경우 해당문자열을 출력하는 함수2 (20150414 박건호) // // @param $page : 페이지명 (여러개일 경우 '|' 로 구분해서 입력) // @param $str : 출력할 문자열 // @param $equal : 페이지명이 완전일치할 경우(true), 일부일치(false) (20101105 ) // @return : 없음 // @var 변수명 (20150414) // @value 변수값 (20150414) // ex) TO_page_on2('/hotel/list.html','<=$b_uid_s>', '2'); = 리스트파일에서 카테고리번호가 2인것에만 class=on function TO_page_on2($page, $para="", $value="", $str="class='on'", $equal=false){ if (!$page) return; $page_array = @explode("|", $page); for ($i=0; $i<count($page_array); $i++) { // 게시판코드가 같을 경우 출력 if ($equal == true) { // 완전일치 (20101105 ) $filename = basename($_SERVER[PHP_SELF]); if (preg_match("/^$filename$/", $page_array[$i])) { if($para==$value){ echo $str; return; } } }else{ // 일부일치 // 페이지명이 같을 경우 출력 if (strpos($_SERVER[PHP_SELF], $page_array[$i]) !== false) { if($para==$value){ echo $str; return; } } } } } // 코드 생성 // // params head : 접두어 // params @limit : 자르기 // params @disp_dt : 접두어다음에 날짜시간 표시 // params @disp_upper : 대소문자 표시 // params @rand_cut : 랜덥 출력 자르기 function auto_create_code($head="", $limit=0, $disp_dt="Y", $disp_upper="Y", $rand_cut=7) { $str = ""; $d = time(); $random = strtolower(md5(uniqid(microtime()))); $cut2 = intval(rand(0,strlen($random)-$rand_cut)); if ($disp_dt=="Y") { $str = $head.$d."".substr($random,$cut2,$rand_cut); } else $str = $head."".$random; if ($disp_upper=="Y") $str = strtoupper($str); if($limit>0) $str = substr($str,0,$limit); return $str; } //2019-11-26 실무용 바우처번호 생성 //생성규칙 TK+tab(한자리)+년도(두자리)+날짜(네자리)+숫자(두자리)+알파벳(한자리) = 12자리 //오늘 첫 예약이 들어온 예약일 경우 2019년 11월 25일 //TKP19112501A //01A는 당일 첫 바우처 번호이고 99번이 넘어갈경우 100으로 가는게 아니고 01B로 function auto_create_voucher($tab, $ins_date="") { if (!$tab) return; //당일 여행상품 총갯수 if(!$ins_date) { $ins_date = date("Y-m-d"); } $ins_date2 = date("ymd", strtotime($ins_date)); if($tab=="L") { $TABLE = "TB_RES_HOTEL"; $order_by = "seq"; } else { $TABLE = "TB_RES_GOOD"; $order_by = "res_seq"; } //$sql_res = "select * from $TABLE where left(ins_dt,10)='$ins_date' and (rsv_no IS NOT NULL && rsv_no!='') order by ins_dt desc limit 1"; $sql_res = "select * from $TABLE where left(ins_dt,10)='$ins_date' order by $order_by desc limit 1"; $row_res = db_fetch($sql_res); //가장 최근 rsv_no if(!$row_res['rsv_no']) { $total_res = '0'; $checktext = 'A'; } else { $checktext = substr($row_res['rsv_no'],11,1); //A, B,... $checknum = substr($row_res['rsv_no'],9,1); if($checknum=='0') { $total_res = substr($row_res['rsv_no'],10,1); } else { $total_res = substr($row_res['rsv_no'],9,2); } } //숫자(두자리)+알파벳(한자리) if($total_res < 9) { $vnumber = '0'.intval($total_res +1); $vtext = $checktext; }elseif($total_res >= 9 && $total_res < 99) { $vnumber = intval($total_res +1); $vtext = $checktext; }elseif($total_res == 99) { $vnumber = "01"; if($checktext=='A') $vtext = 'B'; if($checktext=='B') $vtext = 'C'; } $rsv_no = 'TK' . $tab . $ins_date2 . $vnumber . $vtext; //중복체크 $originalRsvNo = $rsv_no; $isWhileCnt = 0; $ipAddress = $_SERVER['REMOTE_ADDR']; while(true){ $isDuplicated = false; $sql = "SELECT count(*) AS cnt FROM TB_RES_GOOD WHERE rsv_no = '{$rsv_no}'"; $isDulicateCheck = db_fetch($sql); if($isDulicateCheck['cnt'] == 0){ break; }else{ $isDuplicated = true; $vnumber = (int) $vnumber; if($vnumber == 99){ $vnumber = '01'; $vTextIdx = array_search($vtext, $abcList); $vTextIdx += 1; $vtext = $abcList[$vTextIdx]; }else { $vnumber = (int) $vnumber; $vnumber += 1; if(strlen($vnumber) == 1){ $vnumber = '0'.$vnumber; } } $rsv_no = 'TK' . $tab . $ins_date2 . $vnumber . $vtext; $sql3 = "INSERT INTO voucher_no_duplicate_check SET original_rsv_no = '{$originalRsvNo}'"; $sql3 .= ", new_rsv_no = '{$rsv_no}'"; $sql3 .= ", ins_ip = '{$ipAddress}'"; $sql3 .= ", ins_dt = now()"; db_query($sql3); } $isWhileCnt++; if($isWhileCnt == 50){ $rsv_no = $rsv_no.time(); break; } } return $rsv_no; } //바우처번호 중복체크 function isExistsCheckVoucherNo($tab, $rsvNo){ if(!$rsvNo){ return false; } if($tab=="L") { $table = "TB_RES_HOTEL"; } else { $table = "TB_RES_GOOD"; } $sql = "SELECT count(rsv_no) AS cnt FROM {$table} WHERE rsv_no = '{$rsvNo}'"; $cntInfo = db_fetch($sql); $cnt = (int) $cntInfo['cnt']; if($cnt > 0){ return true; }else{ return false; } } // 배열 데이터 stripslashes 처리 // // @param $arr : 배열 // @return : 배열 function TO_stripslashes($arr) { if (!is_array($arr)) return $arr; if (get_magic_quotes_gpc()) { $arr = array_map('stripslashes', $arr); } return $arr; } // 페이징 출력 함수 // // @param $total_page : 총페이지수 // @param $now_page : 현재페이지 // @param $block_page : 블럭페이지수 // @param $url : URL // @param $add : 추가 파라메터 // @return : 문자열 function TO_get_paging($total_page, $now_page, $block_page, $url, $add="") { $paging .= "<div class='paging mt20'>\n"; $start_page = (int)(($now_page - 1) / $block_page) * $block_page + 1; // 시작 페이지 $end_page = $start_page + $block_page - 1; // 끝 페이지 if ($end_page >= $total_page) $end_page = $total_page; // 페이지 링크 설정 if (strpos($url, "{PAGE}") === false) { $url .= "{PAGE}"; } // 맨앞 if ($now_page > 1) { $_url = str_replace("{PAGE}", 1, $url); $paging .= "<a href=\"" . $_url . "{$add}\" class='pre'><img src='/images/btn/btn_first.gif' alt='처음목록보기' /></a>\n"; } else { $paging .= "<a nohref='#' class='pre'><img src='/images/btn/btn_first.gif' alt='처음목록보기'/></a>\n"; } // 이전블럭 if ($start_page > $block_page) { //$prev_page = $start_page - $block_page; $prev_page = $start_page - 1; $_url = str_replace("{PAGE}", $prev_page, $url); $paging .= "<a href=\"". $_url . "{$add}\" class='pre'><img src='/images/btn/btn_prev.gif' alt='앞목록보기' /></a>\n"; } else { $paging .= "<a nohref='#' class='pre'><img src='/images/btn/btn_prev.gif' alt='앞목록보기' /></a>\n"; } // 페이지 if ($total_page >= 1) { for ($p=$start_page; $p<=$end_page; $p++) { // 페이지 번호 사이에 구분자 넣기 if ($p != $start_page) $paging .= ""; $_url = str_replace("{PAGE}", $p, $url); if ($p == $now_page) $paging .= "<strong>{$p}</strong>\n"; else $paging .= "<a href=\"" . $_url . "{$add}\">{$p}</a>\n"; } } // 다음블럭 if ($total_page > $end_page) { $next_page = $end_page + 1; $_url = str_replace("{PAGE}", $next_page, $url); $paging .= "<a href=\"" . $_url . "{$add}\" class='next' ><img src='/images/btn/btn_next.gif' alt='뒤목록보기' /></a>\n"; } else { $paging .= "<a nohref='#' class='next'><img src='/images/btn/btn_next.gif' alt='뒤목록보기' /></a>\n"; } // 맨뒤 if ($now_page < $total_page) { $_url = str_replace("{PAGE}", $total_page, $url); $paging .= "<a href=\"". $_url . "{$add}\" class='next'><img src='/images/btn/btn_last.gif' alt='마지막목록보기' /></a>\n"; } else { $paging .= "<a nohref='#' class='next'><img src='/images/btn/btn_last.gif' alt='마지막목록보기' /></a>\n"; } $paging .= "</div>\n"; return $paging; } //2019-07-05 ajax paging function get_paging_ajax($total_page, $now_page, $block_page, $url, $add="", $sort=1) { // if ($('#lowrank').hasClass("fontweightbold")) { // } // var lowrank = document.getElementById("lowrank"); // if (myElement.classList.contains("fontweightbold")) // { // $sort = 4; // } $url = preg_replace('#&page=[0-9]*#', '', $url) . '&page='; $paging .= "<div class='paging mt20'>\n"; $start_page = (int)(($now_page - 1) / $block_page) * $block_page + 1; // 시작 페이지 $end_page = $start_page + $block_page - 1; // 끝 페이지 //$sort = 1; if ($end_page >= $total_page) $end_page = $total_page; // 페이지 링크 설정 if (strpos($url, "{PAGE}") === false) { $url .= "{PAGE}"; } // 맨앞 if ($now_page > 1) { $_url = str_replace("{PAGE}", 1, $url); $paging .= "<a href='javascript:;' onclick='listAjax(".$sort.",1)' class='pre'><img src='/images/btn/btn_first.gif' alt='처음목록보기' /></a>\n"; } else { $paging .= "<a nohref='#' class='pre' ><img src='/images/btn/btn_first.gif' alt='처음목록보기'/></a>\n"; } // 이전블럭 if ($start_page > $block_page) { //$prev_page = $start_page - $block_page; $prev_page = $start_page - 1; $_url = str_replace("{PAGE}", $prev_page, $url); $paging .= "<a href='javascript:;' onclick='listAjax(".$sort.",".($start_page-1).")' class='pre'><img src='/images/btn/btn_prev.gif' alt='앞목록보기' /></a>\n"; } else { $paging .= "<a nohref='#' class='pre'><img src='/images/btn/btn_prev.gif' alt='앞목록보기' /></a>\n"; } // 페이지 if ($total_page >= 1) { for ($p=$start_page; $p<=$end_page; $p++) { // 페이지 번호 사이에 구분자 넣기 if ($p != $start_page) $paging .= ""; $_url = str_replace("{PAGE}", $p, $url); if ($p == $now_page) $paging .= "<strong>{$p}</strong>\n"; else $paging .= "<a 22 href='javascript:;' class='pager' onclick='listAjax(".$sort.",".$p.")' >{$p}</a>\n"; } } // 다음블럭 if ($total_page > $end_page) { $next_page = $end_page + 1; $_url = str_replace("{PAGE}", $next_page, $url); $paging .= "<a href='javascript:;' onclick='listAjax(".$sort.",".($end_page-1).")' class='next' ><img src='/images/btn/btn_next.gif' alt='뒤목록보기' /></a>\n"; } else { $paging .= "<a nohref='#' class='next'><img src='/images/btn/btn_next.gif' alt='뒤목록보기' /></a>\n"; } // 맨뒤 if ($now_page < $total_page) { $_url = str_replace("{PAGE}", $total_page, $url); $paging .= "<a href='javascript:;' onclick='listAjax(".$sort.",".$total_page.")' class='next'><img src='/images/btn/btn_last.gif' alt='마지막목록보기' /></a>\n"; } else { $paging .= "<a nohref='#' class='next'><img src='/images/btn/btn_last.gif' alt='마지막목록보기' /></a>\n"; } $paging .= "</div>\n"; return $paging; } // 페이징 출력 함수[모바일용] // // @param $total_page : 총페이지수 // @param $now_page : 현재페이지 // @param $block_page : 블럭페이지수 // @param $url : URL // @param $add : 추가 파라메터 // @return : 문자열 function TO_get_paging_m($total_page, $now_page, $block_page, $url, $add="") { $paging .= "<div class='paging mt20'>\n"; $start_page = (int)(($now_page - 1) / $block_page) * $block_page + 1; // 시작 페이지 $end_page = $start_page + $block_page - 1; // 끝 페이지 if ($end_page >= $total_page) $end_page = $total_page; // 페이지 링크 설정 if (strpos($url, "{PAGE}") === false) { $url .= "{PAGE}"; } // 맨앞 /* if ($now_page > 1) { $_url = str_replace("{PAGE}", 1, $url); $paging .= "<a href=\"" . $_url . "{$add}\" class='pre'><img src='/images/btn/btn_first.gif' alt='처음목록보기' /></a>\n"; } else { $paging .= "<a nohref='#' class='pre'><img src='/images/btn/btn_first.gif' alt='처음목록보기'/></a>\n"; }*/ // 이전블럭 if ($start_page > $block_page) { //$prev_page = $start_page - $block_page; $prev_page = $start_page - 1; $_url = str_replace("{PAGE}", $prev_page, $url); $paging .= "<a href=\"". $_url . "{$add}\" class='pre'><img src='/tmbi_images/cmm/btn_prev.png' alt='앞목록보기' /></a>\n"; } else { $paging .= "<a nohref='#' class='pre'><img src='/tmbi_images/cmm/btn_prev.png' alt='앞목록보기' /></a>\n"; } // 페이지 if ($total_page >= 1) { for ($p=$start_page; $p<=$end_page; $p++) { // 페이지 번호 사이에 구분자 넣기 if ($p != $start_page) $paging .= ""; $_url = str_replace("{PAGE}", $p, $url); if ($p == $now_page) $paging .= "<strong>{$p}</strong>\n"; else $paging .= "<a href=\"" . $_url . "{$add}\">{$p}</a>\n"; } } // 다음블럭 if ($total_page > $end_page) { $next_page = $end_page + 1; $_url = str_replace("{PAGE}", $next_page, $url); $paging .= "<a href=\"" . $_url . "{$add}\"><img src='/tmbi_images/cmm/btn_next.png' alt='뒤목록보기' class='next' /></a>\n"; } else { $paging .= "<a nohref='#' class='next'><img src='/tmbi_images/cmm/btn_next.png' alt='뒤목록보기' /></a>\n"; } // 맨뒤 /*if ($now_page < $total_page) { $_url = str_replace("{PAGE}", $total_page, $url); $paging .= "<a href=\"". $_url . "{$add}\" class='next'><img src='/images/btn/btn_last.gif' alt='마지막목록보기' /></a>\n"; } else { $paging .= "<a nohref='#' class='next'><img src='/images/btn/btn_last.gif' alt='마지막목록보기' /></a>\n"; }*/ $paging .= "</div>\n"; return $paging; } /****************************************************************************** * * 4. 고객현황, 방문카운트, 회원, 근태, 관리자페이징, 관리자 접근권한, 배너관리 * ******************************************************************************/ // 회원 테이블 조회 // // @mb_level : 호텔관리자(11),대리점(12),거래처(13),총관리자(1),부관리자(2),예약관리자(3) // function member_fetch($sql_where="",$sql_order="",$olds=0,$line=0) { global $cf,$TO_MB; $sql = " select * ,RPAD(LEFT(mb_pwd,3),7,'*') as mb_pwd2 , date_format(last_login_dt,'%Y.%m.%d') as last_login_dt2 , date_format(last_login_dt,'%Y.%m.%d %H:%i:%s') as last_login_dt3 , date_format(ins_dt,'%Y.%m.%d') as ins_dt2, date_format(ins_dt,'%Y.%m.%d %H:%i:%s') as ins_dt3, date_format(ins_dt,'%Y-%m-%d') as ins_dt_new, (select cd_nm from TB_CODEC where TB_MEMBER.mb_nat_cd=TB_CODEC.code limit 1 ) as mb_nat_cd2, (select cd_nm from TB_CODEC where TB_MEMBER.bz_cd=TB_CODEC.code limit 1 ) as bz_cd2, (select count(seq) from TB_RES_HOTEL where res_cust_id=mb_id) as resv_cnt /*예약건수*/, IF(mb_email_yn='Y','N','Y') as mb_email_yn_opp,IF(mb_email_yn='Y','btn_check.gif','btn_stop.gif') as mb_email_yn2, IF(mb_sms_yn='Y','N','Y') as mb_sms_yn_opp,IF(mb_sms_yn='Y','btn_check.gif','btn_stop.gif') as mb_sms_yn2, IF(mb_gend='M','남','여') as mb_gend2, (case mb_level when 11 then '호텔회원' when 12 then '대리점회원' when 21 then '일반회원' end ) as mb_level_str from TB_MEMBER where 0=0 "; if($sql_where) $sql .= " ".$sql_where ; if($sql_order) $sql .= " order by ".$sql_order; else $sql .= " order by seq desc "; if($olds>=0 and $line>0) $sql .= " limit $olds , $line"; $data = array(); $rs = db_query($sql); for ($i=0 ; $row = db_fetch_array($rs) ; $i++ ){ // 사원 퇴사 $row['emp_ret_str'] = ""; if($row['del_flag']=="Y" and $row['mb_level'] < $cf['toadmin_level'] ) { $row['emp_ret_str'] = "퇴사"; } // 본지점 $row['emp_brench_nm'] = ""; if ($row['emp_brench_cd']) { $arr = base_codec("CRP","BRCH",$row['emp_brench_cd']); $row['emp_brench_nm'] = $arr[0]['cd_nm']; } // 부서 $row['emp_depart_nm'] = ""; if ($row['emp_depart_cd']) { $arr = base_codec("CRP","DEPT",$row['emp_depart_cd']); $row['emp_depart_nm'] = $arr[0]['cd_nm']; $row['emp_depart_img'] = $arr[0]['cd_img']; } // 이름 + 직급 $row['emp_rank_nm'] = ""; $row['emp_mb_nm'] = ""; if ($row['emp_rank_cd']) { $arr = base_codec("CRP","RANK",$row['emp_rank_cd']); $row['emp_rank_nm'] = $arr[0]['cd_nm']; } $row['emp_mb_nm'] = $row['mb_nm'] . " " . $row['emp_rank_nm']; // 대리점 if($row['mb_level']==12) { $row['bz_agent_comm_price'] = 0; $row['bz_agent_comm_percent'] = 0; switch($row['bz_agent_comm_type']) { case "A": // 정액제 $row['bz_agent_comm_price'] = $row['bz_agent_comm']; $row['bz_agent_comm2'] = number_format($row['bz_agent_comm']); $row['bz_agent_comm_unit'] = "원"; break; case "B": // 정율제 $row['bz_agent_comm_percent'] = $row['bz_agent_comm']; $row['bz_agent_comm2'] = $row['bz_agent_comm']; $row['bz_agent_comm_unit'] = "%"; break; } } // 입력일 $row['last_login_dt2'] = str_replace("-","/",substr($row['last_login_dt'],5)); $data[] = $row; } return $data; } // 방문수 카운트 // function visit_count() { global $TO_CF; $data = array(); //============================== 전체 방문수 ============================================= $query = "select sum(hit) as hit from nalog3_data where counter='{$TO_CF[shop_code]}'"; $hit_temp = db_fetch($query); $total_hit = $hit_temp["hit"]; //============================== 오늘 방문수 ============================================= if($set[time_zone2]){ if($set[time_zone1]){$time_zone=$set[time_zone2]*3600;} else{$time_zone=$set[time_zone2]*3600*(-1);} }else{ $time_zone=0; } $time=time()+$time_zone; if(!$all && (!$yy || !$mm)){ $yy=date('Y',time()+$time_zone); $mm=date('m',time()+$time_zone); $mm=ereg_replace("^0","",$mm); $dd=date('d',time()+$time_zone); $week=date('w',time()+$time_zone); $its_today=" [$lang[counter_main_2_this_month]]"; } else{$show_this_day=1;} if(!$all){ $today_info=date($lang[counter_main_2_date_format],strtotime("$yy-$mm-1",time()+$time_zone))."$its_today"; } else{ $today_info=$lang[counter_main_2_sum]; } $sub="and yy='$yy' and mm='$mm' and dd='$dd'"; if($all){ $sub=""; } $now=date('d',time()+$time_zone); $now_month_end=date("U",mktime(1,1,1,$mm,1,$yy)); $to=date('t',$now_month_end); $query="select sum(hit) as hit from nalog3_data where counter='{$TO_CF[shop_code]}' $sub"; $today_hit_temp=db_fetch($query); $today_hit = $today_hit_temp["hit"]; //============================== 금월 방문수 ============================================= $time=time()+$time_zone; if(!$all && (!$yy)) { $yy=date('Y',time()+$time_zone); $mm=date('m',time()+$time_zone); $its_today=" [$lang[counter_main_4_this_year]]"; } if(!$all){ $today_info="$yy$its_today"; } else{ $today_info="$lang[counter_main_4_sum]"; } $sub="and yy='$yy'"; if($all){ $sub=""; } $now=date('m',time()+$time_zone); $query="select sum(hit) as hit from nalog3_data where counter='{$TO_CF[shop_code]}' $sub and mm='$mm'"; $month_hit_temp=db_fetch($query); $i_hit=$month_hit_temp["hit"]; $data['mm'] = $mm; $data['total_hit'] = $total_hit; $data['i_hit'] = $i_hit; $data['today_hit'] = $today_hit; return $data; } // 고객현황 집계 // function member_count() { $data = array(); //============================== 총고객수 ================================================ $query4 = "select count(*) as total from TB_MEMBER Where mb_id <>'click' AND mb_level='21' "; $result4 = db_fetch( $query4 ); $total4 = $result4['total']; //============================== 오늘 가입한 고객수 ====================================== $today = date("Y-m-d"); $today2 = date("Y-m"); $query5 = "select count(*) as cnt from TB_MEMBER Where mb_id <>'click' AND mb_level='21' AND LEFT(ins_dt,10) >= '".$today."' "; $result5 = db_fetch($query5); $total5 = $result5['cnt']; // 월별 가입고객 $query6 = "select count(*) as cnt from TB_MEMBER WHERE mb_id <>'click' AND mb_level='21' AND LEFT(ins_dt,7) = '".$today2."' "; $result6 = db_fetch($query6); $total6 = $result6['cnt']; $data['total4'] = $total4; $data['total5'] = $total5; $data['total6'] = $total6; return $data; } // 근태,연장근무,휴가월차 조회 // // // params sql_table : 테이블명(TB_MEMBER_S01,TB_MEMBER_S02,TB_MEMBER_S03) // params sql_where : // params sql_order : // params sql_limit : function toad_menager_state($sql_table,$sql_where="",$sql_order="",$sql_limit="") { $data = array(); $sql = "select * from {$sql_table} where 1 "; if (!$sql_where and !$sql_limit ) return $data; $sql .= " {$sql_where} "; if ( $sql_order ) { $sql .= " order by {$sql_order}"; } else { $sql .= " order by mb_date desc,ins_dt desc "; } if ( $sql_limit ) { $sql .= " limit {$sql_limit} "; } else { $sql .= " limit 20 "; } $rs = db_query($sql); for($i=0 ; $row = db_fetch_array($rs) ; $i++) { // 각테이블의 컬럼면에 맞는 작업. switch($sql_table) { case "TB_MEMBER_S01": // 구분 $row['gubun2'] = "출근"; // A if($row['gubun']=="AA") $row['gubun2'] = "지각"; if($row['gubun']=="B") $row['gubun2'] = "퇴근"; if($row['gubun']=="BB") $row['gubun2'] = "조퇴"; break; case "TB_MEMBER_S02": $tmp_arr = explode(":",$row['start_tm']); $row['start_tm_1'] = $tmp_arr[0]; $row['start_tm_2'] = $tmp_arr[1]; $tmp_arr = explode(":",$row['end_tm']); $row['end_tm_1'] = $tmp_arr[0]; $row['end_tm_2'] = $tmp_arr[1]; break; case "TB_MEMBER_S03": // 구분 $row['gubun2'] = "휴가"; // A if($row['gubun']=="B") $row['gubun2'] = "반차"; break; } // 근태,연장근무,휴가월차 입력일 $row['mb_date2'] = str_replace("-","/",$row['mb_date']); // 입력일 $row['ins_dt2'] = str_replace("-","/",$row['ins_dt']); // 입력자 $arr_t = get_member($row['ins_admin']); $row['ins_nm'] = $arr_t['mb_nm']; // 수정일 $row['edit_dt2'] = str_replace("-","/",$row['edit_dt']); // 수정자 $arr_t = get_member($row['edit_admin']); $row['edit_nm'] = $arr_t['mb_nm']; $data[] = $row; } return $data; } // 페이징 출력 함수 // // @param $total_page : 총페이지수 // @param $now_page : 현재페이지 // @param $block_page : 블럭페이지수 // @param $url : URL // @param $add : 추가 파라메터 // @return : 문자열 function adm_get_paging($total_page, $now_page, $block_page, $url, $add="") { $paging .= "<div class='c_paging'>\n"; $paging .= " <ul class='c_paging_wrap'>\n"; $paging .= " <ul class='list_no01'>\n"; $start_page = (int)(($now_page - 1) / $block_page) * $block_page + 1; // 시작 페이지 $end_page = $start_page + $block_page - 1; // 끝 페이지 if ($end_page >= $total_page) $end_page = $total_page; // 페이지 링크 설정 if (strpos($url, "{PAGE}") === false) { $url .= "{PAGE}"; } // 맨앞 if ($now_page > 1) { $_url = str_replace("{PAGE}", 1, $url); $paging .= "<li><a href=\"" . $_url . "{$add}\"><img src='/images/btn/btn_first.gif' alt='처음목록보기' /></a></li>\n"; } else { $paging .= "<li><img src='/images/btn/btn_first.gif' alt='처음목록보기' /></li>\n"; } // 이전블럭 if ($start_page > $block_page) { //$prev_page = $start_page - $block_page; $prev_page = $start_page - 1; $_url = str_replace("{PAGE}", $prev_page, $url); $paging .= "<li><a href=\"". $_url . "{$add}\"><img src='/images/btn/btn_prev.gif' alt='앞목록보기' /></a></li>\n"; } else { $paging .= "<li><img src='/images/btn/btn_prev.gif' alt='앞목록보기' /></li>\n"; } // 페이지 $paging .= "<li class='list_no02'><ul>"; if ($total_page >= 1) { for ($p=$start_page; $p<=$end_page; $p++) { // 페이지 번호 사이에 구분자 넣기 if ($p != $start_page) $paging .= ""; $_url = str_replace("{PAGE}", $p, $url); if ($p == $now_page) $paging .= "<li class='on'><span>$p</span></li>\n"; else $paging .= "<li><a href=\"" . $_url . "{$add}\"><span>$p</span></a></li>\n"; } } $paging .= "</ul></li>"; // 다음블럭 if ($total_page > $end_page) { $next_page = $end_page + 1; $_url = str_replace("{PAGE}", $next_page, $url); $paging .= "<li><a href=\"" . $_url . "{$add}\"><img src='/images/btn/btn_next.gif' alt='뒤목록보기' /></a></li>\n"; } else { $paging .= "<li><img src='/images/btn/btn_next.gif' alt='뒤목록보기' /></li>\n"; } // 맨뒤 if ($now_page < $total_page) { $_url = str_replace("{PAGE}", $total_page, $url); $paging .= "<li><a href=\"". $_url . "{$add}\"><img src='/images/btn/btn_last.gif' alt='마지막목록보기' /></a></li>\n"; } else { $paging .= "<li><img src='/images/btn/btn_last.gif' alt='마지막목록보기' /></li>\n"; } $paging .= " </ul>\n"; $paging .= " </ul>\n"; $paging .= "</div>\n"; return $paging; } // 관리자 접근 권한 // function to_access_menu($menu_id="",$smenu_id="") { global $TO_CF,$TO_MB; $menu_arr = $TO_CF['toadmin_menu']; // 시스템에 세팅된 메뉴목록 $emp_menu_arr = explode(",",$TO_MB['emp_menu']); // 사용자의 메뉴 목록 if (!$menu_id) error_msg("접근권한이 없습니다.(사유:0000)"); if ( $TO_MB['mb_level'] == 1 ) return true; // 최고 관리자는 모든 메뉴에 접근 가능 else if ( $TO_MB['mb_level'] == 2 and $menu_id != "setting" and $menu_id != "insa" and $menu_id != "guntae" ){ return true; // 부관리자는 모든 메뉴에 접근 가능. 단, 사이트설정에 접근 불가능 } else { // 관리자(사원) // 주메뉴 접근관리 for ($i=0 ; $i<count($emp_menu_arr) ; $i++) { $id = $emp_menu_arr[$i]; if ( $id == $menu_id ) return true; } } } //20150326 박건호수정 -> 상품번호를 넣으면 상품의 정보로 대체, limit 추가 //상품번호를 넣고도 상품이미지를 변경할수 있도록. function homepage_banner($pos="",$idx="",$disp_yn="",$limit="",$sql_where="") { global $cf; $data = array(); $table = "TB_HOMEPAGE_BANNER"; $upload = "/FileData/hotel/";//이미지업로드경로 $upload_thum = "/FileData/hotel_thum/";//썸네일 이미지업로드경로 //$sql_where = ""; if ($pos) $sql_where .= " and pos='{$pos}' "; if ($idx) $sql_where .= " and idx='{$idx}' "; if ($disp_yn) $sql_where .= " and disp_yn='{$disp_yn}' "; $sql = "select * from {$table} where 1 {$sql_where} order by pos,order_num ,idx desc "; if($limit) $sql.="limit ".$limit; $rs = db_query($sql); for ($i=0 ; $row = db_fetch_array($rs) ; $i++) { // 아이콘 if($row['disp_yn']=="Y") { $row['icon'] = $cf['icon']['start']; $row['poo'] = "N"; } else { $row['icon'] = $cf['icon']['stop']; $row['opp'] = "Y"; } // 이미지 /* $row['img_big'] = $upload.$row['img']; $row['img_thum'] = $upload_thum.$row['img']; */ $img_ok = false;//등록된 이미지가 있는지 여부 if($row['img']){ if ( file_exists($_SERVER['DOCUMENT_ROOT'].$upload.$row['img']) ){ $row['img_thum'] = $upload_thum.$row['img']; $row['img_big'] = $upload.$row['img']; $img_ok = true; }else{ $row['img_thum'] = $cf['TO_IMG']['no_image']; $row['img_big'] = $cf['TO_IMG']['no_image']; } }else{ $row['img_thum'] = $cf['TO_IMG']['no_image']; $row['img_big'] = $cf['TO_IMG']['no_image']; } if($row['goodidx'] && $row['goodtab']){//상품번호가 들어가있으면 $tab = $row['goodtab']; $goodidx = $row['goodidx']; $gtype = "";//종류구분(상품,게시판) switch($tab){ case "L": // 호텔 숙박 $sql_where = "and hseq='{$goodidx}' "; $sql_order = " order_num "; break; case "P": // 패키지 case "D": // 데이투어 $sql_where = "and g_uid='{$goodidx}' "; $sql_order = " g_no "; break; case "R": // 렌트카 $sql_where = "and carid='{$goodidx}' "; $sql_order = " order_num "; break; case "A": // 항공권 $sql_where = "and ti_uid='{$goodidx}' "; $sql_order = " order_num "; break; case "BOARD"://게시판 $info = base_codec("CMM","TMSS",$row['pos'],"N"); $info = $info[0]; $sql = "select cd_memo2 from TB_CODEC where code='".$row['pos']."' "; $info = db_fetch($sql); $BD_CD = $info['cd_memo2']; if($BD_CD){ $TO_BD = TO_get_board_setup($BD_CD); $cmm = board_list($BD_CD,"where MSEQ='{$goodidx}' "); $cmm = TO_get_board($cmm[0], $TO_BD,20); if($cmm['MSEQ']){ $row['link_url'] = $cmm['href']; $row['title'] = $cmm['MTITLE']; $row['cont'] = $cmm['MCONT']; if(!$img_ok && $cmm['file']['image']){ $row['img_thum'] = $cmm['file']['image']; $row['img_big'] = $cmm['file']['image']; } $row['detail'] = $cmm; } } break; } if($tab!='' && $tab!='BOARD'){ $good = tour_recomm($tab,$sql_where,$sql_order,$max_items="1", $title_len="", $content_len=""); $good = $good[0]; if($good){ $row['link_url'] = $good['href']; $row['title'] = $good['good_nm']; $row['cont'] = $good['brief']; $row['price'] = $good['price'];//원화없이 $row['price_low'] = $good['price_low'];//숫자 //$row['price_str'] = ($good['price_low']=='0')?"요금문의":"₩".number_format($good['price_low'])." ~";//원화있는거 $row['price_str'] = ($good['price_low']=='0')?_e("요금문의"):"₩".number_format($good['price_low']) ;//원화있는거 if(!$img_ok){ $row['img_thum'] = $good['src_thum']; $row['img_big'] = $good['src']; } $row['areac_cd_nm'] = $good['areac_cd_nm']; $row['aread_cd_nm'] = $good['aread_cd_nm']; $row['b_name'] = $good['b_name']; $row['area'] = ($good['aread_cd_nm'])?$row['areac_cd_nm']." > ".$good['aread_cd_nm']:$row['areac_cd_nm']; } } } if($row['link_url']==''){ $row['cursor'] = "style='cursor:default;' "; $row['cursor_ns'] = "default"; $row['link_url2'] = "javascript:void(0)"; }else{ $row['cursor'] = "style='cursor:pointer;' "; $row['cursor_ns'] = "pointer"; $row['link_url2'] = $row['link_url']; } $data[] = $row; } return $data; } /****************************************************************************** * * 5. 장바구니, 지불통합요약, 추천상품, 도움말, 담당자, 입금대기타이머, 입금대기목록, 무통장입금 정보, * 문자 보내기,문자/메일발송 히스토리저장/목록, 행사달력, 연령가이드 * ******************************************************************************/ // 여행상품예약,호텔예약,렌트카예약 장바구니 // function tour_basket($sql_where="") { global $TO_MB; $table = "TB_MEMBER_BASKET"; $data = array(); $sql = "select * from {$table} where mb_id='{$TO_MB[mb_id]}' {$sql_where} order by ins_dt desc "; $rs = db_query($sql); /*if(devCookie()){ p($sql); }*/ for($i=0 ; $row=db_fetch_array($rs) ; $i++) { $arr_t = reserv_tab($row['tab'],$row['res_no']); $row['pay_yn'] = $arr_t['pay_yn']; $row['pre_money'] = $arr_t['pre_money']; // 미입금액 $row['res_stat_cd'] = $arr_t['res_stat_cd']; // 예약상태 $row['res_stat_cd_str'] = $arr_t['res_stat_cd_str'];// 예약상태 $row['res_stat_cd_color'] = $arr_t['res_stat_cd_color'];// 예약상태 $row['d_start'] = $arr_t['d_start']; // 입실일 (대여일) $row['price_sell_total'] = $arr_t['price_sell_total']; // 상품금액 $row['point_yn'] = $arr_t['point_yn']; // 포인트사용YN $row['point_buy1'] = $arr_t['point_buy1']; // 구매액 $row['point_buy2'] = $arr_t['point_buy2']; // 구매적립금 $row['res_sns_id'] = $arr_t['res_sns_id']; // sns id $row['b2b_sns_id'] = $arr_t['b2b_sns_id']; // sns id $row['res_cust_nat_cd'] = $arr_t['res_cust_nat_cd']; // 국적 $row['res_cust_hp'] = $arr_t['res_cust_hp']; // 휴대폰 $row['res_cust_nm'] = $arr_t['res_cust_nm']; // 이름 $row['res_cust_email'] = $arr_t['res_cust_email']; // 메일 //2019-10-18 외화표시 $row['pre_money_fr'] = $arr_t['pre_money_fr']; // 미입금액 $row['price_sell_total_fr'] = $arr_t['price_sell_total_fr']; // 상품금액 $row['rsv_no'] = $arr_t['rsv_no']; // 실무용바우처번호 $row['producer_id'] = $arr_t['producer_id']; // 공급처 ID $row['g_uid'] = $arr_t['g_uid']; // 상품코드 $row['ins_dt'] = $arr_t['ins_dt']; // 상품주문시간 // 예약 타입 문구변환 20200416 switch($arr_t['tab']){ case 'T': $row['tab_nm'] = _e("티켓패스"); break; case 'D'; $row['tab_nm'] = _e("당일투어"); break; case 'P'; $row['tab_nm'] = _e("패키지투어"); break; case 'L'; $row['tab_nm'] = _e("호텔"); break; case 'R'; $row['tab_nm'] = _e("렌터카"); break; case 'A'; $row['tab_nm'] = _e("항공권"); break; } $data[] = $row; } return $data; } //상품명 가져오기 function getGoodsName($resNo) { global $TO_MB; if(!$resNo){ } $table = "TB_RES_GOOD"; $sql = "SELECT g_title FROM {$table} WHERE res_no = '{$resNo}' LIMIT 1"; $rs = db_query($sql); $row = db_fetch_array($rs); // if(devCookie()){ // p($row); // } return $row['g_title']; } // 여행상품별 예약,지불 통합요약 정보 // function reserv_tab($tab,$res_no="") { $data = array(); if (!$tab and !$res_no) return $data; // 마이페이지 > 예약목록 if ($tab) { switch($tab) { case "L": // 호텔 숙박 $data['res_list'] = "/mypage/hotel_res.html"; // 예약목록(사용자) break; case "P": // 패키지 $data['res_list'] = "/mypage/good_res.html"; // 예약목록(사용자) break; case "T": // 패스/티켓 case "V": // 라이브투어 $data['res_list'] = "/mypage/ticket_res.html"; // 예약목록(사용자) break; case "D": // 데이투어 $data['res_list'] = "/mypage/daytour_res.html"; // 예약목록(사용자) break; case "R": // 렌트카 $data['res_list'] = "/mypage/rentcar_res.html"; // 예약목록(사용자) break; case "A": // 항공권 $data['res_list'] = "/mypage/air_res.html"; // 예약목록(사용자) break; } } if( !$res_no ) return $data; switch($tab) { case "L": // 호텔 숙박 $class_HotelReserv = new HotelReserv(); $arr_t = $class_HotelReserv->res_hotel_master(" and res_no='{$res_no}' "); $arr = $class_HotelReserv->res_hotel_master_replace($arr_t[0]); $data['pay_yn'] = $arr['pay_yn']; $data['pre_money'] = $arr['account']['pre_money']; $data['res_stat_cd'] = $arr['res_stat_cd']; // 예약상태 $data['res_stat_cd_str'] = $arr['res_stat_str'];// 예약상태 $data['res_stat_cd_color'] = $arr['res_stat_color'];// 예약상태 $data['d_start'] = $arr['room_date']; // 입실일 $data['price_sell_total'] = $arr['price_sell_total']; // 상품금액 $data['tab_nm'] = "호텔/숙박"; $data['res_good_nm'] = $arr['hnm']."(".$arr['rnm'].")"; // 상품명 $data['res_page'] = "../res_hotel/hotel_res_edit.html?res_no={$res_no}"; // 예약조회 페이지 $data['res_view'] = "../mypage/hotel_res_view.html?res_no={$res_no}"; // 예약조회 페이지(사용자) $data['res_cust_nm'] = $arr['res_cust_nm']; $data['res_cust_email'] = $arr['res_cust_email']; $data['res_cust_hp'] = $arr['res_cust_hp']; $data['point_yn'] = $arr['point_yn']; // 포인트사용YN $data['point_buy1'] = $arr['point_buy1']; // 구매액 $data['point_buy2'] = $arr['point_buy2']; // 구매적립금 $data['res_sns_id'] = $arr['res_sns_id']; // sns id $data['b2b_sns_id'] = $arr['b2b_sns_id']; // sns id $data['res_cust_nat_cd'] = $arr['res_cust_nat_cd']; // 국적 //2019-10-18 외화 $data['pre_money_fr'] = $arr['sales_total_fr']; $data['price_sell_total_fr'] = $arr['price_sell_total_fr']; // 상품금액 if($arr['rsv_no']) $data['rsv_no'] = $arr['rsv_no']; //실무용바우처번호 else $data['rsv_no'] = $arr['res_no']; //실무용바우처번호 $data['hseq'] = $arr['hseq']; // 호텔번호 $data['producer_id'] = $arr['producer_id']; // 공급처ID break; case "P": case "D": case "T": case "V": // 데이투어(현지투어) & 패키지 & 티켓(패스) $arr_t = res_good_master(" and res_no='{$res_no}' "); $arr = res_good_master_replace($arr_t[0]); $data['pay_yn'] = $arr['pay_yn']; $data['pre_money'] = $arr['account']['pre_money']; $data['res_stat_cd'] = $arr['res_stat_cd']; // 예약상태 $data['res_stat_cd_str'] = $arr['res_stat_str'];// 예약상태 $data['res_stat_cd_color'] = $arr['res_stat_color'];// 예약상태 $data['d_start'] = $arr['ev_start']; // 입실일(행사일) $data['price_sell_total'] = $arr['sales_total']; // 상품금액 $data['tab_nm'] = ($tab=="D") ? "Day Tour" : "Package Tour"; $data['res_good_nm'] = $arr['ev_title']; // 상품명 $data['res_page'] = "../res_good/good_res_edit.html?res_no={$res_no}";// 예약조회 페이지 $data['res_view'] = ($tab=="D") ? "../mypage/daytour_view.html?res_no={$res_no}":"../mypage/good_view.html?res_no={$res_no}";// 예약조회 페이지(사용자) $data['res_cust_nm'] = $arr['res_cust_nm']; $data['res_cust_email'] = $arr['res_cust_email']; $data['res_cust_hp'] = $arr['res_cust_hp']; $data['point_yn'] = $arr['date']['point_yn']; // 포인트사용YN $data['point_buy1'] = $arr['date']['point_buy1']; // 구매액 $data['point_buy2'] = $arr['date']['point_buy2']; // 구매적립금 $data['res_sns_id'] = $arr['res_sns_id']; // sns id $data['b2b_sns_id'] = $arr['b2b_sns_id']; // sns id $data['res_cust_nat_cd'] = $arr['res_cust_nat_cd']; // 국적 //2019-10-18 $data['pre_money_fr'] = $arr['account']['pre_money_fr']; //외화 $data['price_sell_total_fr'] = $arr['sales_total_fr']; // 상품금액 외화 if($arr['rsv_no']) $data['rsv_no'] = $arr['rsv_no']; //실무용바우처번호 else $data['rsv_no'] = $arr['res_no']; //실무용바우처번호 $data['g_uid'] = $arr['g_uid']; // 상품번호 $data['producer_id'] = $arr['producer_id']; // 공급처ID $data['adult_inwon'] = $arr['adult_inwon']; // 성인인원 $data['child_inwon'] = $arr['child_inwon']; // 소인인원 break; case "R": // 렌트카 $arr_t = res_rentcar_master(" and res_no='{$res_no}' "); $arr = $arr_t[0]; $data['pay_yn'] = $arr['pay_yn']; $data['pre_money'] = $arr['account']['pre_money']; $data['res_stat_cd'] = $arr['res_stat_cd']; // 예약상태 $data['res_stat_cd_str'] = $arr['res_stat_str'];// 예약상태 $data['res_stat_cd_color'] = $arr['res_stat_color'];// 예약상태 $data['d_start'] = $arr['rental_dt']; // 입실일 (대여일) $data['price_sell_total'] = $arr['sales_total']; // 상품금액 $data['tab_nm'] = "렌트카"; $data['res_good_nm'] = $arr['car_nm']; // 상품명 $data['res_page'] = "../res_rentcar/rentcar_res_edit.html?res_no={$res_no}";// 예약조회 페이지 $data['res_view'] = "../mypage/rentcar_view.html?res_no={$res_no}";// 예약조회 페이지(사용자) $data['res_cust_nm'] = $arr['res_cust_nm']; $data['res_cust_email'] = $arr['res_cust_email']; $data['res_cust_hp'] = $arr['res_cust_hp']; $data['producer_id'] = $arr['producer_id']; // 공급처ID break; case "A": // 항공권 $arr_t = res_air_master(" and res_no='{$res_no}' "); $arr = $arr_t[0]; $tab_arr = TO_good_module("all","A"); $tab_nm = $tab_arr['name']; $data['pay_yn'] = $arr['pay_yn']; $data['pre_money'] = $arr['account']['pre_money']; $data['res_stat_cd'] = $arr['res_stat_cd']; // 예약상태 $data['res_stat_cd_str'] = $arr['res_stat_str'];// 예약상태 $data['res_stat_cd_color'] = $arr['res_stat_color'];// 예약상태 $data['d_start'] = $arr['rental_dt']; // 입실일 (대여일) $data['price_sell_total'] = $arr['sales_total']; // 상품금액 $data['tab_nm'] = $tab_nm; $data['res_good_nm'] = $arr['s_bidx_nm']."→".$arr['bidx_nm']."(".$arr['air_nm']." ".$arr['plane_nm'].")"; // 상품명 $data['res_page'] = "../res_air/air_res_edit.html?res_no={$res_no}";// 예약조회 페이지(관리자) $data['res_view'] = "../mypage/air_view.html?res_no={$res_no}";// 예약조회 페이지(사용자) $data['res_cust_nm'] = $arr['res_cust_nm']; $data['res_cust_email'] = $arr['res_cust_email']; $data['res_cust_hp'] = $arr['res_cust_hp']; $data['producer_id'] = $arr['producer_id']; // 공급처ID break; } $data['tab'] = $tab; $data['res_no'] = $res_no; return $data; } function tour_recomm_anyway($fieldName){ $sql = "SELECT * FROM good WHERE {$fieldName} = 1 ORDER BY g_no ASC"; // $sql = "SELECT * FROM good WHERE {$fieldName} = 1 "; $rs = db_query($sql); $returnData = array(); for($i=0 ; $row = db_fetch_array($rs) ; $i++){ array_push($returnData, $row); } return $returnData; } // 추천상품 ,메인추천, 메인Best // // params @tab : to_good.lib.php > TO_good_module 참조 // @sql_where : 조건 // @sql_order : 순서지정 // @max_items : 최대개수 function tour_recomm($tab="PD",$sql_where="",$sql_order="",$max_items="4") { global $cf; $data = array(); if (!$tab or !$sql_where) return $data; switch($tab) { case "L": // 호텔 // 사용하는 카테고리만 반영(20161216) $sql_where .= " and b_uid in (select b_uid from bc where DelFlag='N' and b_lang='{$cf[lang]}' and tab in('L') )"; $data_arr = hotel_list($sql_where,$sql_order,0,$max_items); for($i=0 ; $i<$max_items ; $i++) { $row = $data_arr[$i]; $r = hotel_list_replace($row); $arr = array(); $arr['href'] = "#"; $arr['good_nm'] = ""; $arr['brief'] = ""; $arr['price'] = ""; $arr['src_thum'] = $cf['TO_IMG']['no_image_s']; if($row['hseq']) { // 공통항목으로 매핑 $arr['href'] = "../hotel/hotel_view.html?b_uid_s={$row[b_uid]}&m_uid_s={$row[m_uid]}&s_uid_s={$row[s_uid]}&hseq={$row[hseq]}"; $arr['good_nm'] = $row['hotel_nm']; $arr['good_nm_short'] = mb_substr($row['hotel_nm'],$cf['main_recom']['title']); $arr['brief'] = $row['hotel_brief']; $arr['brief_short'] = mb_substr($row['hotel_brief'],$cf['main_recom']['brief']); $arr['price'] = ($row['price_low']) ? _eunit($row['price_low']):_e("요금문의"); $arr['price2'] = ($row['price_sell']) ? _eunit($row['price_sell']):_e("요금문의"); $arr['src_thum'] = $row['img1_thum']; $arr['src'] = $row['img1_path']; $arr['area_nm'] = $r['area_nm']; $arr['areaa_cd_nm'] = $r['areaa_cd_nm']; $arr['areab_cd_nm'] = $r['areab_cd_nm']; $arr['areac_cd_nm'] = $r['areac_cd_nm']; $arr['b_uid_nm'] = $r['b_name']; $arr['special_nm'] = $r['special_nm']; $arr['level_cd_img'] = $r['level_cd_img']; $arr['level_cd_nm'] = $r['level_cd_nm']; $arr['g_select_num'] = $r['g_select_num']; $arr['min_price_sell'] = $row['price_ori']; $arr['review_total'] = $row['review_total']; //후기카운트 $arr['star_avg'] = $row['star_avg']; //별점 평균 $arr['special_icon'] = $row['special_icon']; //상품특징 아이콘 $arr['NationName'] = $r['areab_cd_nm']; $arr['CityName'] = $r['areac_cd_nm']; $arr['order_num'] = $row['order_num']; $arr['purchase_cnt'] = $row['purchase_cnt']; } $data[] = $arr; } break; case ($tab=="D" or $tab=="P"or $tab=="T" or $tab=="V" or $tab=="PDT" or $tab=="PD" ): // 데이투어 or 패키지 or 패스 if(!$sql_order){ $sql_order = " g_no "; } // 사용하는 카테고리만 반영(20161216) $sql_where .= " and b_uid in (select b_uid from bc where DelFlag='N' and b_lang='{$cf[lang]}' and tab in('P','D','T','V') )"; $data_arr = good_list($sql_where,$sql_order,0,$max_items); for($i=0 ; $i<$max_items ; $i++) { $row = $data_arr[$i]; $arr = array(); $arr['href'] = "#"; $arr['good_nm'] = ""; $arr['brief'] = ""; $arr['price'] = ""; $arr['cityname'] = ""; $arr['src_thum'] = $cf['TO_IMG']['no_image_s']; $arr['NationName'] = $row['NationName']; //[son]국가 $arr['CityName'] = $row['CityName']; //[son]도시 if ($row['g_uid']) { // 공통항목으로 매핑 if($row['tab']=="V") { $href="../live/live_view.html"; } else { $href="../good/info_main.html"; } $href .= "?b_uid_s={$row[b_uid]}&m_uid_s={$row[m_uid]}&s_uid_s={$row[s_uid]}&g_uid={$row[g_uid]}"; $arr['href'] = $href; $arr['good_nm'] = $row['g_title']; $arr['good_nm_short'] = mb_substr($row['g_title'],$cf['main_recom']['title']); $arr['brief'] = $row['g_brief']; $arr['brief_short'] = mb_substr($row['g_brief'],$cf['main_recom']['brief']); $arr['price'] = $row['main_to_max_price']; $arr['price2'] = $row['main_to_max_price2']; $arr['cityname'] = $row['CityName']; $arr['src_thum'] = $row['img_src2_thum']; $arr['src'] = $row['img_src2']; $arr['area_nm'] = $row['CityName']; $arr['areaa_cd_nm'] = $row['areaa_cd_nm']; $arr['areab_cd_nm'] = $row['areab_cd_nm']; $arr['areac_cd_nm'] = $row['areac_cd_nm']; $arr['b_uid_nm'] = $row['b_uid_nm']; $arr['special_nm'] = $row['special_nm']; $arr['g_select_num'] = $row['g_select_num']; $arr['min_price_sell'] = $row['min_price_sell']; $arr['review_total'] = $row['review_total']; //후기카운트 $arr['star_avg'] = $row['star_avg']; //별점 평균 $arr['special_icon'] = $row['special_icon']; //상품특징 아이콘 $arr['order_num'] = $row['g_no']; $arr['purchase_cnt'] = $row['purchase_cnt']; } $data[] = $arr; } break; case "R": // 렌트카 //$data_arr = to_rentcar($sql_where,$sql_order,"","0,{$max_items}"); $data_arr = array(); for($i=0 ; $i<$max_items ; $i++) { $row = $data_arr[$i]; $arr = array(); $arr['href'] = "#"; $arr['good_nm'] = ""; $arr['brief'] = ""; $arr['price'] = ""; $arr['src_thum'] = ""; if ($row[carid]) { // 공통항목으로 매핑 $arr['href'] = "../rentcar/rentcar_view.html?b_uid_s={$row[b_uid]}&m_uid_s={$row[m_uid]}&s_uid_s={$row[s_uid]}&carid={$row[carid]}"; $arr['good_nm'] = $row['car_nm']; $arr['good_nm_short'] = mb_substr($row['car_nm'],$cf['main_recom']['title']); $arr['brief'] = $row['spec']; $arr['brief_short'] = mb_substr($row['spec'],$cf['main_recom']['brief']); //$arr['price'] = ($row['price_low']) ? "₩".number_format($row['price_low'])." ~":"문의"; $arr['price'] = ($row['price_low']) ? _eunit($row['price_low']):_e("요금문의"); $arr['src_thum'] = $row['img_thum']; $arr['src'] = $row['img_src']; $arr['area_nm'] = $row['area_nm']; $arr['areaa_cd_nm'] = $row['areaa_cd_nm']; $arr['areab_cd_nm'] = $row['areab_cd_nm']; $arr['areac_cd_nm'] = $row['areac_cd_nm']; $arr['purchase_cnt'] = $row['purchase_cnt']; } $data[] = $arr; } break; } return $data; } // 관리자 페이지 도움말 // function toad_help($sql_where="",$sql_order="",$limit="") { $table = "TB_SHOP_HELP"; $data = array(); $sql = "select * from {$table} where 1 {$sql_where} "; if ( $sql_order ) $sql .= " order by {$sql_order}"; else $sql .= " order by scr_id , help_seq "; if ( $limit ) $sql .= " limit {$limit} "; $rs = db_query($sql); for($i=0 ; $row = db_fetch_array($rs) ; $i++){ // 입력일 $row['ins_dt2'] = str_replace("-",".",substr($row['ins_dt'],0,10)); // 내용에 br 처리 $row['help_cont2'] = nl2br($row['help_cont']); $data[] = $row; } return $data; } // 담당자 // function to_get_officer($admin_id){ global $cf; if(!$admin_id) return false; $officer = member_fetch(" and mb_level<11 and mb_id='{$admin_id}' and del_flag='N' "); $officer = $officer[0]; $row = false; if($officer[mb_nm]){ $row[mb_nm] = $officer[mb_nm]; if($officer[emp_img] && is_file("..".$cf['img_path']['admin'].$officer[emp_img])){ $row[emp_img] = $cf['img_path']['admin'].$officer[emp_img]; }else{ $row[emp_img] = "/image/common/charge_logo.jpg"; } $row[emp_memo] = $officer[emp_memo]; $row[mb_tel] = $officer[mb_tel]; } return $row; } // 입금대기타이머 입력 // function insert_deposit($tab, $res_no, $mb_id="", $mb_nm=""){ if($tab=='' or $res_no=='') return false; $sql = "select count(*) as 'cnt' from TB_RES_DEPOSIT where res_no='{$res_no}' "; $rs = db_fetch($sql); if((int)$rs['cnt'] > 0) return false;//입력된적 있으면 리턴 $sql = "insert TB_RES_DEPOSIT set "; $sql.= "res_no='{$res_no}' "; $sql.= ",tab='{$tab}' "; $sql.= ",mb_id='{$mb_id}' "; $sql.= ",mb_nm='{$mb_nm}' "; $sql.= ",start_dt=NOW() "; $sql.= ",end_dt=DATE_ADD(NOW(), INTERVAL 3 HOUR) "; $rs = db_query($sql); if($rs) return true; else return false; } // 입금대기목록 // function deposit_list($res_no='', $sql_where="", $sql_order="", $status="Y"){ $ref = Array(); if($res_no=='' && $sql_where=='') return $ref; if($res_no) $sql_where = "and res_no='{$res_no}' ".$sql_where; //남은분(minute)을 구하며 쿼리 $sql = "select *, TIMESTAMPDIFF(MINUTE,NOW(),end_dt) AS 'count_min' ,SEC_TO_TIME(TIMESTAMPDIFF(MINUTE,NOW(),end_dt)) as 'count_min2' from TB_RES_DEPOSIT where 1=1 ".$sql_where." ".$sql_order." "; $result = db_query($sql); while($row = db_fetch_array($result)){ $row['count_min_str'] = ''; $row['status'] = ''; //예약입금정보 $res_arr = reserv_tab($row['tab'], $row['res_no']); $row['res_good_nm'] = $res_arr['res_good_nm']; $row['tab_nm'] = $res_arr['tab_nm']; $row['res_page'] = $res_arr['res_page']; $row['pre_money'] = $res_arr['pre_money']; $row['order_state_str'] = $res_arr['order_state_str']; $row['order_state_color'] = $res_arr['order_state_color']; if($res_arr['pre_money']>0){//미입금일때 $count_min = (int)$row['count_min']; $abs_min = abs($count_min);//나눗셈을 위한 절대값 list($day, $hour, $min) = explode(':',$row['count_min2']); //시간과 분으로 쪼개기 //$day = floor($count_min/60/24); //$hour = floor($count_min/60); //$hour = floor($count_min/60%24); //$min = $count_min % 60; if($day<>0) $row['count_min_str'].= (int)$day."일 "; if($hour<>0) $row['count_min_str'].= $hour."시간 "; $row['count_min_str'].=$min."분"; if($count_min<0){ $row['status'] = '입금대기초과'; $row['count_str'] = "초과시간"; }else{ $row['status'] = '입금대기'; $row['count_str'] = "남은시간"; } }else{ $row['status'] = "입금완료"; } if($status=='N'){//Y일경우 모두, N일경우 입금완료데이터는 제외 if($row['status']!='입금완료'){ $ref[] = $row; } }else{ $ref[] = $row; } } return $ref; } /*------------------------------------------------------------------------------- @brief : 무통장입금 정보 가져오기 @parameters : @return : -------------------------------------------------------------------------------*/ function GetBankInfo($res_no){ if(!$res_no) return; $data = array(); $table = "TB_RES_BANK"; $sql = "SELECT * FROM {$table} WHERE 1 AND res_no='{$res_no}' "; $rs = db_query($sql); while($row = db_fetch_assoc($rs)) { $res_arr = explode(",",$row['res_info']); foreach ($res_arr as $k){ $arr = explode("||",$k); $tab = $arr[0]; $res_no = $arr[1]; $res_no_in .= ",{$res_no}"; } $row['res_no_in'] = substr($res_no_in,1); array_push($data, $row); //$data배열에 담김 } @db_free_result($rs); return $data; } // (주)클릭커뮤니케이션 SMS/LMS 문자 보내기 // // @params msg_type: 메시지타입(단문:S/장문:L) // @params call_back: 회사전화 // @params dest_no: 고객전화 // @params msg_contents: 메시지 function send_new_send($msg_type="S",$call_back="",$dest_no="",$msg_contents="") { global $cf,$TO_CF; if(!$msg_type) $msg_type="S"; // 변수 초기화 $data_res = array();// 전송결과 $data_sms = array(); // 보낼SMS정보 $data_send = ""; // 보낼정보 $header = ""; // 헤더 $boundary = "---------------------".substr(md5(rand(0,32000)),0,10); $data_recv =""; // 보낼호스트가 없으면 중지 if(!$cf['sms_host'] or $cf['sms_host']=="") return $data_res; // 보낼 파라메터 $data_sms['sms_id'] = base64_encode($cf['sms_id']); $data_sms['approval_sms'] = base64_encode($cf['approval_sms']); $data_sms['msg_type'] = base64_encode($msg_type); if($msg_contents) { $data_sms['dest_no'] = base64_encode($dest_no); } $data_sms['call_back'] = base64_encode($call_back); $data_sms['msg_contents'] = base64_encode(stripslashes($msg_contents)); // 전송할 DATA STRING foreach($data_sms AS $key => $val){ $data_send .="--$boundary\r\n"; $data_send .= "Content-Disposition: form-data; name=\"".$key."\"\r\n"; $data_send .= "\r\n".$val."\r\n"; $data_send .="--$boundary\r\n"; } // HTTP1.1 헤더 $header = "POST " . $cf['sms_path'] . " HTTP/1.0\r\n"; $header .= "Host: " . $cf['sms_host'] . "\r\n"; $header .= "Content-type: multipart/form-data, boundary=" . $boundary . "\r\n"; $header .= "Content-length: " . strlen($data_send) . "\r\n\r\n"; // 소켓생성 $fp = @fsockopen($cf['sms_host'], 80 , $errno, $errstr, 5 ); if ($fp) { fputs($fp, $header.$data_send); $data_recv = ''; while(!feof($fp)) { $data_recv .= fgets($fp,8192); } fclose($fp); $arr = explode("\r\n\r\n",$data_recv); $arr_t = explode(",",$arr[1]); // 결과값 $data_res['result'] = $arr_t[0]; // 잔여통수 $data_res['sms_count'] = $arr_t[1]; // SMS 잔여통수 $data_res['mms_count'] = $arr_t[2]; // MMS 잔여통수 } return $data_res; } // // 문자 전송 사용법 // // config.php > SMS 설정정보 부터 확인 // // return array: result->성공여부 , sms_count->SMS잔여통수 , mms_count->MMS잔여통수 //$data = send_new_send("S","051-246-1111","010-6558-0300","레알마드리드222 U "); // 단문 //$data = send_new_send("L","051-246-1111","010-6558-0300","레알마드리드222 UEFA FC바르셀로나 "); // 장문 //$data = send_new_send();// 잔여통수 // // (주)클릭커뮤니케이션 메일 보내기 // // @params rdata: array() function send_new_mail($rdata="") { global $cf; // 변수 초기화 $data_res = array();// 전송결과 $pdata = array(); // 보낼 params정보 $data_send = ""; // 보낼정보 $header = ""; // 헤더 $boundary = "---------------------".substr(md5(rand(0,32000)),0,10); $data_recv =""; // 보낼호스트가 없으면 중지 if(!$cf['mail_host'] or $cf['mail_host']=="" or !$rdata['cust_nm'] or !$rdata['cust_email'] or !$rdata['title'] or !$rdata['from_nm'] or !$rdata['from_email'] or !$rdata['cont'] ) { return false; } // 보낼 파라메터 $pdata['sms_id'] = base64_encode($cf['sms_id']); $pdata['approval_sms'] = base64_encode($cf['approval_sms']); $pdata['cust_nm'] = base64_encode($rdata['cust_nm']); // 고객명 $pdata['cust_email'] = base64_encode($rdata['cust_email']); // 고객이메일 $pdata['title'] = base64_encode($rdata['title']); // 메일제목 $pdata['from_nm'] = base64_encode($rdata['from_nm']); // 보내는사람(회사명) $pdata['from_email'] = base64_encode($rdata['from_email']); // 보내는이메일(회사메일) $pdata['cont'] = base64_encode($rdata['cont']); // 메일내용 //$pdata['cont'] = chunk_split(base64_encode($rdata['cont'])); // 메일내용 $pdata['mail_attach_file_max']=($cf['mail_attach_file_max']) ? $cf['mail_attach_file_max']:5; $pdata['file1'] = $rdata['file1'];// 첨부파일1 (2018-06-29.허종) $pdata['file2'] = $rdata['file2'];// 첨부파일2 $pdata['file3'] = $rdata['file3'];// 첨부파일3 // 전송할 DATA STRING foreach($pdata AS $key => $val){ $data_send .="--$boundary\r\n"; $data_send .= "Content-Disposition: form-data; name=\"".$key."\"\r\n"; $data_send .= "\r\n".$val."\r\n"; $data_send .="--$boundary\r\n"; } // HTTP1.1 헤더 $header = "POST " . $cf['mail_path'] . " HTTP/1.0\r\n"; $header .= "Host: " . $cf['mail_host'] . "\r\n"; $header .= "Content-type: multipart/form-data, boundary=" . $boundary . "\r\n"; //$header .= "Content-type: text/html; charset=utf-8, boundary=" . $boundary . "\r\n"; $header .= "Content-length: " . strlen($data_send) . "\r\n\r\n"; // 소켓생성 $fp = @fsockopen($cf['mail_host'], 80 , $errno, $errstr, 5 ); if ($fp) { fputs($fp, $header.$data_send); $data_recv = ''; while(!feof($fp)) { $data_recv .= fgets($fp,8192); } fclose($fp); } return true; } // 알림톡 발송 (비즈뿌리오) // // @params type: 조건 where문 (mtype, tab, res_cd) // @params recever: 고객전화 // @params keyword: 키워드 function send_auto_alimtalk($mtype, $tab='T', $recever="", $keyword, $onlyAdminSend = false) { global $cf, $TO_CF, $ppurio; Log::save(sprintf("%s(%d) send_auto_alimtalk %s %s %s", __FILE__, __LINE__, $mtype, $tab, $recever), '', 'ppurio/'.date('Ym')); Log::save(sprintf("%s(%d) KEYWORD %s", __FILE__, __LINE__, json_encode($keyword)), '', 'ppurio/'.date('Ym')); if(!$onlyAdminSend){ if(!$mtype) return; if(!$recever) return; } //취소 메세지 보낼 곳이 여러개인 경우에 대한 처리 $receverPhoneNumber = $recever; $receverPhoneNumberList = array(); if(strpos($receverPhoneNumber, "|") !== false){ $receverPhoneNumberListEx = explode("|",$receverPhoneNumber); foreach($receverPhoneNumberListEx as $phoneNum){ $phoneNum = trim(str_replace("-", "", $phoneNum)); array_push($receverPhoneNumberList, $phoneNum); } }else{ $recever = trim(str_replace("-", "", $recever)); array_push($receverPhoneNumberList, $recever); } foreach($receverPhoneNumberList as $recever){ // 분류 처리 if($tab == 'D') $tab = 'P'; // Macro data $data = to_macro_list(array('mtype'=>$mtype,'tab'=>$tab,'disp_yn'=>'Y')); $macro = $data[0]; if(!$onlyAdminSend){ if(!$macro) return; } Log::save(sprintf("%s(%d) MACRO %s", __FILE__, __LINE__, json_encode($macro)), '', 'ppurio/'.date('Ym')); // 자동발송여부 if($macro['auto_send'] == 'N') return; // Ppurio Module if(!$ppurio) { include PARTNER_DIR . "/ppurio/class.Ppurio.php"; $ppurio = new Ppurio(); } if($recever){ $result = $ppurio->sendAT($recever, $macro['midx'], $keyword); } // 발송 완료 // 예약알림톡 관리자 발송 if(in_array($mtype, array('TP_B2B_BUS_RESERVE_V5','TP_B2B_BUS_CANCEL_V2','TKTBOOK_EN','TKTOURPAID_EN','RES', 'BUY')) == true){ if($cf['lang']=='ko') { foreach($cf['at_admin_tb'] as $k => $v){ // TP_B2B_BUS_RESERVE_V5 -> 64 // TP_B2B_BUS_RESERVE_V4 -> 62 //어드민용 공급가가 포함됨. // if(devCookie()){ // p($macro); // p($keyword); // exit; if($macro['midx'] == 64){ // $macro['midx'] == 62; if(strpos($keyword['스케줄'], '공급가') !== false){ }else{ $keyword['스케줄'] = '(공급가 : '.$keyword['공급가'].') '.$keyword['스케줄']; } } // TP_B2B_BUS_CANCEL_V3 -> 65 // TP_B2B_BUS_CANCEL_V2 -> 63 //어드민용 공급가가 포함됨. if($macro['midx'] == 65){ // $macro['midx'] == 63; if(strpos($keyword['스케줄'], '공급가') !== false){ }else{ $keyword['스케줄'] = '(공급가 : '.$keyword['공급가'].') '.$keyword['스케줄']; } } // } $ppurio->sendAT($v, $macro['midx'], $keyword, 'N'); } } else { foreach($cf['at_admin_tk'] as $k => $v){ $ppurio->sendAT($v, $macro['midx'], $keyword, 'N'); } } } } return $result; } // 알림톡 발송 (관리자 전용) // // @params mtype: 템플릿 타입 // @params keyword: 키워드 function send_admin_alimtalk($mtype, $keyword) { /*if(devCookie()){ p('aa'); exit; }*/ global $cf, $TO_CF, $ppurio; Log::save(sprintf("%s(%d) send_admin_alimtalk %s %s %s", __FILE__, __LINE__, $mtype), '', 'ppurio/'.date('Ym')); Log::save(sprintf("%s(%d) KEYWORD %s", __FILE__, __LINE__, json_encode($keyword)), '', 'ppurio/'.date('Ym')); if(!$mtype) return; // Macro data $data = to_macro_list(array('mtype'=>$mtype, 'disp_yn'=>'Y')); $macro = $data[0]; if(!$macro) return; Log::save(sprintf("%s(%d) MACRO %s", __FILE__, __LINE__, json_encode($macro)), '', 'ppurio/'.date('Ym')); // Ppurio Module if(!$ppurio) { include PARTNER_DIR . "/ppurio/class.Ppurio.php"; $ppurio = new Ppurio(); } if($cf['lang']=='ko') { foreach($cf['at_admin_tb'] as $k => $v){ $result = $ppurio->sendAT($v, $macro['midx'], $keyword); } } else if($mtype=='TB_NAVER_MECRO') { foreach($cf['at_admin_macro'] as $k => $v){ $result = $ppurio->sendAT($v, $macro['midx'], $keyword); } } else { foreach($cf['at_admin_tk'] as $k => $v){ $result = $ppurio->sendAT($v, $macro['midx'], $keyword); } } if($result['code'] == '1000'){ // 발송 완료 } else { // 발송 오류 } return $result; } // 알림톡 발송 (대표님 전용) // // @params mtype: 템플릿 타입 // @params keyword: 키워드 function send_master_alimtalk($mtype, $keyword) { global $cf, $TO_CF, $ppurio; Log::save(sprintf("%s(%d) send_master_alimtalk %s %s %s", __FILE__, __LINE__, $mtype), '', 'ppurio/'.date('Ym')); Log::save(sprintf("%s(%d) KEYWORD %s", __FILE__, __LINE__, json_encode($keyword)), '', 'ppurio/'.date('Ym')); if(!$mtype) return; // Macro data $data = to_macro_list(array('mtype'=>$mtype, 'disp_yn'=>'Y')); $macro = $data[0]; if(!$macro) return; Log::save(sprintf("%s(%d) MACRO %s", __FILE__, __LINE__, json_encode($macro)), '', 'ppurio/'.date('Ym')); // Ppurio Module if(!$ppurio) { include PARTNER_DIR . "/ppurio/class.Ppurio.php"; $ppurio = new Ppurio(); } foreach($cf['at_master'] as $k => $v){ $result = $ppurio->sendAT($v, $macro['midx'], $keyword); } if($result['code'] == '1000'){ // 발송 완료 } else { // 발송 오류 } return $result; } // 예약확정안내 알림톡 발송 function TO_send_confirm_alimtalk($res_no, $isSmartStore = false) { global $ppurio; Log::save(sprintf("%s(%d) ADMIN TO_send_confirm_alimtalk res_no=%s", __FILE__, __LINE__, $res_no), '', 'ppurio/'.date('Ym')); if(!$res_no) { $error_msg = "예약번호가 없습니다."; } // 예약정보 $res_data = res_good_master(" and res_no='{$res_no}' "); $res_row = res_good_master_replace($res_data[0]); if(!$res_row) { $error_msg = "예약정보가 없습니다."; } // 상품정보 $good_data = good_list(" and g_uid='{$res_row['g_uid']}' "); $res_good = $good_data[0]; if($isSmartStore){ if(!$res_good || $res_good['api_smart_store_reserve_type'] != 'AFTER'){ $error_msg = "상품정보가 없거나 예약 후 일정확정 상품이 아닙니다"; } }else{ if(!$res_good || $res_good['api_reserve_type'] != 'AFTER'){ $error_msg = "상품정보가 없거나 예약 후 일정확정 상품이 아닙니다"; } } if(!$error_msg){ switch($res_row['g_uid']){ default : $templete = "CONFIRM"; break; } $recever = str_replace("-", "", $res_row['res_cust_hp']); // 수신핸드폰 $keyword = array( '접수번호' => $res_no ); // Macro data $data = to_macro_list(array('mtype'=>$templete,'disp_yn'=>'Y')); $macro = $data[0]; // 알림톡 발송 if(!$ppurio) { include PARTNER_DIR . "/ppurio/class.Ppurio.php"; $ppurio = new Ppurio(); } $result = $ppurio->sendAT($recever, $macro['midx'], $keyword); } Log::save(sprintf("%s(%d) at_result : %s", __FILE__, __LINE__, json_encode($result)), '', date('Ym')); Log::save(sprintf("%s(%d) error_msg : %s", __FILE__, __LINE__, $error_msg), '', date('Ym')); return $result; } // 문자 발송 history 저장 // // params rdata : array function to_send_history_ins($rdata=array()) { global $TO_MB; $table = "TB_SMS_HISTORY"; // 필수값 if(!$rdata['type']) $rdata['type'] = "S"; // S문자 M메일 AT 알림톡 LMS MMS // 파라메터 체크 if(!$rdata['messsage']) return $data; // 히스 토리저장 $sql = "insert into {$table} set admin_id='{$rdata[admin_id]}', res_no='{$rdata[res_no]}', type='{$rdata[type]}', cust_nm='{$rdata[cust_nm]}', recv_mail='{$rdata[recv_mail]}', send_mail='{$rdata[send_mail]}', recv_tel='{$rdata[recv_tel]}', send_tel='{$rdata[send_tel]}', message='{$rdata[message]}', mail_cont='{$rdata[mail_cont]}', msg_key='{$rdata[msg_key]}', ins_dt=now();"; return db_query($sql); } // 문자 history 목록 // // params rdata : array function to_send_history_list($rdata=array()) { global $TO_MB; $data = array(); $table = "TB_SMS_HISTORY"; // where $sql_where = ""; if($rdata['mb_id']) $sql_where .= " and mb_id='{$rdata[mb_id]}' "; if($rdata['res_no']) $sql_where .= " and res_no='{$rdata[res_no]}' "; if($rdata['recv_tel']) $sql_where .= " and recv_tel='{$rdata[recv_tel]}' "; if($rdata['type']) $sql_where .= " and type='{$rdata[type]}' "; if($rdata['seq']) $sql_where .= " and seq='{$rdata[seq]}' "; // limit if(!$rdata['limit']) $rdata['limit'] = 10;; // 히스 토리저장 $sql = "select * from {$table} where 1 {$sql_where} "; $sql .= "order by ins_dt desc, seq desc "; $sql .= "limit {$rdata[limit]}"; $rs = db_query($sql); while($row=db_fetch_array($rs)) { $data[] = $row; } return $data; } function to_send_mail_history_list($resNo = 0, $isAutoManual = ''){ if(!$resNo){ return false; } $isAutoManualWhereSql = ""; if($isAutoManual != ''){ $isAutoManualWhereSql = " AND send_auto_manual_type ='{$isAutoManual}'"; } $data = array(); // 히스 토리저장 $sql = "select * from TB_MAIL_HISTORY where res_no = '{$resNo}' AND recv_mail != 'web@tktravelkorea.com' {$isAutoManualWhereSql} ORDER BY ins_dt DESC "; $rs = db_query($sql); while($row=db_fetch_array($rs)) { $data[] = $row; } return $data; } // 메일 발송 history 저장 // // params rdata : array function to_mail_history_ins($rdata=array()) { global $TO_MB; $table = "TB_MAIL_HISTORY"; if(is_array($rdata[recv_mail])){ $to_history = implode(",", $rdata[recv_mail]); } else { $to_history = $rdata[recv_mail]; } $to_count = count($rdata[recv_mail]); // 히스토리저장 $sql = "insert into {$table} set mb_id='{$rdata[mb_id]}', admin_id='{$rdata[admin_id]}', res_no='{$rdata[res_no]}', cust_nm='{$rdata[cust_nm]}', recv_mail='{$to_history}', recv_count='{$to_count}', send_mail='{$rdata[send_mail]}', message='{$rdata[message]}', mail_cont='{$rdata[mail_cont]}', api_msg_key='{$rdata[msg_key]}', send_auto_manual_type = '{$rdata[send_auto_manual_type]}', ins_dt=now();"; return db_query($sql); } // // 행사달력 // if(!function_exists(to_calendar)) { function to_calendar($cal_y,$cal_m) { global $cal_startday , $cal_endday; global $cal_now_yy , $cal_now_mm , $cal_num , $cal_now_dd; global $cal_py , $cal_pm , $cal_ny , $cal_nm; global $cal_mon; // 마지막 날,요일 설정 $cal_lastday = array(1=>31,28,31,30,31,30,31,31,30,31,30,31); // 각 달의 마지막 날 지정 $cal_yoil = array("일","월","화","수","목","금","토"); // 요일명 지정 // 오늘 $cal_now_yy = (int)date("Y"); $cal_now_mm = (int)date("m"); $cal_now_dd = (int)date("d"); // 년,월 설정 if (!$cal_y) $cal_y = $cal_now_yy; if (!$cal_m) $cal_m = $cal_now_mm; $cal_y = (int)$cal_y; $cal_m = (int)$cal_m; // 윤년 계산을 통해 2월의 마지막 날 계산 if ($cal_y % 4 == 0 && $cal_y % 100 != 0 || $cal_y % 400 == 0) { $cal_lastday[2] = 29; } // 전해까지 평년 기준으로 날짜수 계산 및 윤년의 횟수를 더함 $cal_total = ($cal_y-1)*365+(int)(($cal_y-1)/4) - (int)(($cal_y-1)/100) + (int)(($cal_y-1)/400); // 해당월의 1일 for ($i=1; $i<$cal_m; $i++) { $cal_total += $cal_lastday[$i]; // 전달까지의 날짜수 더함 } $cal_total++; // 그 달의 1일 $cal_startday = $cal_total % 7; // 시작 요일을 구함 (0:일요일,...,6:토요일) //mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음 //$mktime = mktime(0, 0, 0, $cal_m, 1, $cal_y); // time //$startday = date("w", $mktime); // 첫날 요일 // 해당월의 마지막 날짜 $cal_endday = $cal_lastday[$cal_m]; // 다음달 if ($cal_m == 12) { $cal_ny = $cal_y + 1; $cal_nm = 1; } elseif ($cal_m == 1) { $cal_ny = $cal_y; $cal_nm = $cal_m + 1; } else { $cal_ny = $cal_y; $cal_nm = $cal_m + 1; } // 이전달 $cal_py = $cal_y; // 전년 $cal_pm = $cal_m-$cal_mon; // 전달 if ( $cal_pm<1 ) { $cal_pm = (12 + $cal_m) - $cal_mon; --$cal_py; } } } // // 출발일 기준 연령가이드 // // params @start_dt : 여행 출발일 function agePerCurYear($start_dt="") { global $cf; if(!$start_dt) $start_dt = date("Y-m-d"); $start_dt = date("Y-m-d",strtotime($start_dt)); $adult = $cf['dw']['adult']; // 소인 만3세이상 12세미만 $child = $cf['dw']['child']; // 유아 만2세이상 6세미만-> 3세미만 으로 변경 $baby = $cf['dw']['baby']; // 24개월미만 $infant = $cf['dw']['infant']; // 리턴 데이터 $ret_data = array(); // 성인 //$ret_data['adult_txt'] = ($adult[1]=="+") ? $adult[0]."세 이상":$adult[0]."세 초과"; $ret_data['adult_txt'] = ($adult[1]=="+") ? $adult[0]. _e("세 이상"):$adult[0]. _e("세 초과"); $t_str = "-".$adult[0]." year "; if($adult[1]=="-") $t_str .= " +1 day"; $ret_data['adult'] = date("Y.m.d",strtotime($start_dt.$t_str))._e("이전출생"); // 소인 $ret_data['child_txt'] = ($child[1]=="+") ? $child[0]._e("세 이상"):$child[0]._e("세 미만"); $ret_data['child_txt'] .= ($child[3]=="+") ? $child[2]._e("세 이상"):$child[2]._e("세 미만"); $l_str = "-".$child[2]." year "; if($child[3]=="-") $l_str .= " +1 day"; $f_str = "-".$child[0]." year "; if($child[1]=="-") $f_str .= " +1 day"; $ret_data['child'] = date("Y.m.d",strtotime($start_dt.$l_str)); $ret_data['child'] .= " ~ "; $ret_data['child'] .= date("Y.m.d",strtotime($start_dt.$f_str)); // 유아 $ret_data['baby_txt'] = ($baby[1]=="+") ? $baby[0]._e("세 이상"):$baby[0]._e("세 미만"); //$ret_data['baby_txt'] .= ($baby[3]=="+") ? $baby[2]."세 이상 ":$baby[2]."세 미만"; $ret_data['baby_txt'] .= ($baby[3]=="+") ? $baby[2]._e("세 이상"):""; //$l_str = "-".$baby[2]." year "; //if($baby[3]=="-") $l_str .= " +1 day"; $f_str = "-".$baby[0]." year "; if($baby[1]=="-") $f_str .= " +1 day"; //$ret_data['baby'] = date("Y.m.d",strtotime($start_dt.$l_str)); //$ret_data['baby'] .= " ~ "; $ret_data['baby'] .= date("Y.m.d",strtotime($start_dt.$f_str)); // 영아 $ret_data['infant_txt'] = ($infant[1]=="+") ? $infant[0]._e("개월 이상"):$infant[0]._e("개월 미만"); $t_str = "-".$infant[0]." month "; if($infant[1]=="-") $t_str .= " +1 day"; $ret_data['infant'] = date("Y.m.d",strtotime($start_dt.$t_str)); $ret_data['infant'] .= " ~ "; $ret_data['infant'] .= date("Y.m.d",strtotime($start_dt." -1 day")); return $ret_data; } // 통합예약조회 // // @params rdata: array function to_res_all($rdata="") { global $cf; $table = "TB_RES_ALL"; $data = array(); $sql_where = ""; $sql_order = ""; $sql_limit = ""; if(!is_array($rdata)) return $data; // where if($rdata['sql_where']) $sql_where = $rdata['sql_where']; // order if($rdata['sql_order']) $sql_order = " {$rdata['sql_order']} "; else $sql_order = " ins_dt "; // limit if($rdata['limit']) $sql_limit = " limit " . $rdata['limit']; $sql = "select *, (case tab when 'P' then 'Package Tour' when 'D' then 'Day Tour' when 'T' then 'Ticket Pass' when 'L' then 'Hotel' end) as tab_nm, (case tab when 'P' then '../res_good/good_res_edit.html' when 'T' then '../res_good/good_res_edit.html' when 'D' then '../res_good/good_res_edit.html' when 'L' then '../res_hotel/hotel_res_edit.html' end) as res_url from {$table} where 1 {$sql_where} order by {$sql_order} {$sql_limit} "; $rs = db_query($sql); while($row=db_fetch_array($rs)){ $row['ins_dt2'] = substr($row['ins_dt'],0,10); $arr_tmp = explode("^",$row['res_cust_tel']); $row['res_cust_tel2'] = $arr_tmp[0]; //실무용 바우처번호 if($row['tab']=="L") $TABLE = "TB_RES_HOTEL"; else $TABLE = "TB_RES_GOOD"; $sqlv = "select rsv_no from $TABLE where res_no='{$row[res_no]}'"; $rowv = db_fetch($sqlv); if($rowv['rsv_no']) $row['rsv_no'] = $rowv['rsv_no']; else $row['rsv_no'] =$row['res_no']; $data[] = $row; } // 리턴 array return $data; } // 상용구 조회 - SMS,Email // // @params $rdata ; array function to_macro_list($rdata="") { global $cf; $table = "TB_MACRO"; $data = array(); $sql_where = ""; $sql_order = ""; if(!is_array($rdata)){ return $data; } // where if($rdata['type']) $sql_where .= " and type='{$rdata[type]}' "; if($rdata['mtype']) $sql_where .= " and mtype='{$rdata[mtype]}' "; if($rdata['midx']) $sql_where .= " and midx='{$rdata[midx]}' "; if($rdata['resp']) $sql_where .= " and resp='{$rdata[resp]}' "; if($rdata['res_cd']) $sql_where .= " and ( res_cd='{$rdata[res_cd]}' or res_cd2='{$rdata[res_cd]}' )"; if($rdata['disp_yn']) $sql_where .= " and disp_yn='{$rdata[disp_yn]}' "; if($rdata['tab']) $sql_where .= " and tab='{$rdata[tab]}' "; // order if($rdata['order']) $sql_order .= " {$rdata['order']} "; else $sql_order .= " tab desc, res_cd "; $sql = "select * from {$table} where 1 {$sql_where} order by {$sql_order}"; $rs = db_query($sql); while($row=db_fetch_array($rs)){ // 전시 if ($row['disp_yn']=="Y"){ $row['disp_opp'] = "N"; $row['disp_img'] = $cf['icon']['start']; }else{ $row['disp_opp'] = "Y"; $row['disp_img'] = $cf['icon']['stop']; } // 분류 switch($row['tab']) { case 'L' : $row['tab_nm'] = "호텔"; break; case 'T' : $row['tab_nm'] = "티켓"; break; case 'P' : $row['tab_nm'] = "투어"; break; default : $row['tab_nm'] = "기타"; break; } // 타입 switch($row['type']) { case 'S' : $row['type_nm'] = "SMS"; break; case 'M' : $row['type_nm'] = "E-mail"; break; case 'AT' : $row['type_nm'] = "알림톡"; break; } // 코드 $arr_tmp = base_codec("PRD",$row['resp'],$row['res_cd']); $row['res_cd_nm'] = $arr_tmp[0]['cd_nm']; if($row['res_cd2']) { $arr_tmp = base_codec("PRD",$row['resp'],$row['res_cd2']); $row['res_cd2_nm'] = $arr_tmp[0]['cd_nm']; } $data[] = $row; } // 리턴 array return $data; } function to_get_info_gallery($item_type,$item_code){ if(!$item_type) return; switch($item_type){ case "hotel" : $table = "TB_HOTEL_GALLERY"; $upload = "/FileData/hotel/"; $upload_thum = "/FileData/hotel_thum/"; $sql_where = " and hotel_seq='{$item_code}' "; break; case "info" : $table = "TB_PLACE_GALLERY"; $upload = "/FileData/tourplace/"; $upload_thum = "/FileData/tourplace_thum/"; $sql_where = " and place_seq='{$item_code}' "; break; } $sql = "select img from {$table} where 1=1 {$sql_where} "; $rs = db_query($sql); $data = array(); for($i=0 ; $row=db_fetch_array($rs) ; $i++){ $row[img_src] = $upload.$row['img']; $row[img_thum_src] = $upload_thum.$row['img']; $data[] = $row; } return $data; } // // 메일첨부용 스트링으로 변환 // // params @file : $_FILES['name'] // params @mode : pre 기존 폴더에서 읽어몸,new 새로 읽음 // // return : ctype|#|message4.txt|#|chunk_split(base64_encode($part['message'])) if(!function_exists('mail_file_base64_encode')) { function mail_file_base64_encode($file="",$mode="new",$upload="../../FileData/mailattachfile/") { global $cf; $data=array(); $maxfilesize=($cf['mail_attach_file_max']) ? $cf['mail_attach_file_max']:5; // 5메가 if(!is_array($file)) return false; // 새로운 파일 읽어서 저장 if($file['size']>0 and $mode=="new") { $size=floor($file['size']/1000000); // 파일용량 체크 if($size>$maxfilesize) return false; // 파일업로드 $fn=FileUploadName("", $upload, $file['tmp_name'], $file['name'] ,""); // 파일읽기 & base64_encode변환 $fp = fopen($upload.$fn, "r"); $message = fread($fp, filesize($upload.$fn)); fclose($fp); $ctype = base64_encode($file['type']); $name = base64_encode($file['name']); $message = base64_encode($message); $data['pdata'] = $ctype."|#|".$name."|#|".$message; // 전송할 data $data['name_chg'] = $fn; // 변환후 파일명 $data['name_org'] = $file['name']; // 원본파일명 // 파일삭제 // @unlink($upload.$fn); } // 기존파일을 읽어서 변환 else if($file['name_chg'] and $file['name_org'] and $mode=="pre") { // 파일읽기 & base64_encode변환 $fn=$file['name_chg']; $fp = fopen($upload.$fn, "r"); $message = fread($fp, filesize($upload.$fn)); fclose($fp); $type=mime_content_type($upload.$file['name_chg']); $ctype = base64_encode($type); $name = base64_encode($file['name_org']); $message = base64_encode($message); $data['pdata'] = $ctype."|#|".$name."|#|".$message; // 전송할 data $data['name_chg'] = $file['name_chg']; // 변환후 파일명 $data['name_org'] = $file['name_org']; // 원본파일명 } return $data; }} //tour_order.html 금액을 USD로 변환 function hwanyull($foreign_money="",$lang="",$gubun="") { global $cf; $data=array(); $sql = "select * from TB_HWANYULL order by ins_dt desc limit 1"; $data = db_fetch($sql); if($gubun=="tw") { $data['ex_tw'] = $data['price_tw_hk']; //1HKD당 TWD $data['seq'] = $data['seq']; //번호 } else { $ex_money = $data['price_usd_'.$lang]; if($foreign_money) { // 외국환 => USD $usd_price = @round($foreign_money*$ex_money); $data['usd_price'] = $usd_price; //각 통화를 USD로 환산한 금액 } $data['ex_money'] = $ex_money; //1통화당(CYD,HKD) USD $data['seq'] = $data['seq']; //번호 } return $data; } function to_per_krw($exid_no="",$lang="") { global $cf; if(!$exid_no) { if($cf['lang']=='en' || $lang=='en') $exid_no = "1"; elseif($cf['lang']=='cn' || $lang=='cn') $exid_no = "4"; elseif($cf['lang']=='hk' || $lang=='hk') $exid_no = "3"; } $rs = db_fetch("select * from TB_EXCHANGE where exid='{$exid_no}'"); $data =$rs[ext_to_krw]; return $data; } // 관련상품 // // @sql_where : 조건 // @g_uid : 상품번호 function tour_related($g_uid) { global $cf; $data = array(); if (!$g_uid) return $data; //최대5개까지 $sql = "select * from TB_GOOD_RELATED where g_uid='{$g_uid}' order by ordernum limit 5"; $rs = db_query($sql); while($rows = db_fetch_array($rs)) { if($rows[r_uid] && $rows[g_uid]) { //상품이 있다면 if($rows[tab]== "L") { //호텔 $data_arr = hotel_list(" and hseq='{$rows[r_uid]}'","",0,1); $row = $data_arr[0]; $r = hotel_list_replace($row); $arr = array(); $arr['href'] = "#"; $arr['good_nm'] = ""; $arr['brief'] = ""; $arr['price'] = ""; $arr['src_thum'] = $cf['TO_IMG']['no_image_s']; if($row[hseq]) { // 공통항목으로 매핑 $arr['href'] = "../hotel/hotel_view.html?b_uid_s={$row[b_uid]}&m_uid_s={$row[m_uid]}&s_uid_s={$row[s_uid]}&hseq={$row[hseq]}"; $arr['mhref'] = "../tmbi_hotel/hotel_view.html?b_uid_s={$row[b_uid]}&m_uid_s={$row[m_uid]}&s_uid_s={$row[s_uid]}&hseq={$row[hseq]}"; $arr['good_nm'] = $row['hotel_nm']; $arr['good_nm_short'] = mb_substr($row['hotel_nm'],$cf['main_recom']['title']); $arr['brief'] = $row['hotel_brief']; $arr['brief_short'] = mb_substr($row['hotel_brief'],$cf['main_recom']['brief']); //$arr['price'] = ($row['price_low']) ? "₩".number_format($row['price_low'])." ~":"문의"; //$arr['price2'] = ($row['price_low']) ? number_format($row['price_low'])."원":"문의"; $arr['price'] = ($row['price_low']) ? _eunit($row['price_low']):_e("요금문의"); $arr['price2'] = ($row['price_low']) ? _eunit($row['price_low']):_e("요금문의"); $arr['src_thum'] = $row['img1_thum']; $arr['src'] = $row['img1_path']; $arr['area_nm'] = $r['area_nm']; $arr['areaa_cd_nm'] = $r['areaa_cd_nm']; $arr['areab_cd_nm'] = $r['areab_cd_nm']; $arr['areac_cd_nm'] = $r['areac_cd_nm']; $arr['b_uid_nm'] = $r['b_name']; $arr['special_nm'] = $r['special_nm']; $arr['level_cd_img'] = $r['level_cd_img']; $arr['level_cd_nm'] = $r['level_cd_nm']; $arr['g_select_num'] = $r['g_select_num']; $arr['min_price_sell'] = $row['price_ori']; $arr['review_total'] = $row['review_total']; //후기카운트 $arr['star_avg'] = $row['star_avg']; //별점 평균 $arr['special_icon'] = $row['special_icon']; $data[] = $arr; } } //호텔 else { //상품 $data_arr = good_list(" and g_uid='{$rows[r_uid]}'",$sql_order,0,1); $row = $data_arr[0]; $arr['href'] = "#"; $arr['good_nm'] = ""; $arr['price'] = ""; $arr['src'] = $cf['TO_IMG']['no_image_l']; $arr['src_thum'] = $cf['TO_IMG']['no_image_s']; if($row[g_uid]) { // 공통항목으로 매핑 $href="../good/info_main.html"; $mhref="../tmbi_good/info_main.html"; $href .= "?b_uid_s={$row[b_uid]}&m_uid_s={$row[m_uid]}&s_uid_s={$row[s_uid]}&g_uid={$row[g_uid]}"; $mhref .= "?b_uid_s={$row[b_uid]}&m_uid_s={$row[m_uid]}&s_uid_s={$row[s_uid]}&g_uid={$row[g_uid]}"; $arr['href'] = $href; $arr['mhref'] = $mhref; $arr['good_nm'] = $row['g_title']; $arr['good_nm_short'] = mb_substr($row['g_title'],$cf['main_recom']['title']); $arr['brief'] = $row['g_brief']; $arr['brief_short'] = mb_substr($row['g_brief'],$cf['main_recom']['brief']); $arr['price'] = $row['main_to_max_price']; $arr['price2'] = $row['main_to_max_price2']; $arr['cityname'] = $row['CityName']; $arr['src_thum'] = $row['img_src2_thum']; $arr['src'] = $row['img_src2']; $arr['area_nm'] = $row['area_nm']; $arr['areaa_cd_nm'] = $row['areaa_cd_nm']; $arr['areab_cd_nm'] = $row['areab_cd_nm']; $arr['areac_cd_nm'] = $row['areac_cd_nm']; $arr['b_uid_nm'] = $row['b_uid_nm']; $arr['special_nm'] = $row['special_nm']; $arr['g_select_num'] = $row['g_select_num']; $arr['min_price_sell'] = $row['min_price_sell']; $arr['total'] = $row[total]; //후기카운트 $arr['star_avg'] = $row[star_avg]; //별점 평균 $arr['special_icon'] = $row['special_icon']; $data[] = $arr; } } //상품 } //상품유무 } //while return $data; } function to_yoil($date, $chlang="") { if($chlang=="en") { $weekday = array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'); } else { $weekday = array('일', '월', '화', '수', '목', '금', '토'); } $weeknum = date("w", strtotime($date)); $week_str = $weekday[$weeknum]; return $week_str; } //[son]DB LOG function logCheck($memo){ if(is_array($memo) || is_object($memo)) $memo = print_r($memo,true); $memo = addslashes($memo); $sql = "insert TB_LOG set "; $sql.= "memo='{$memo}' "; $sql.= ",wdate=NOW() "; $rs = db_query($sql); } //[son] function prePrint($arr) { if($_SERVER['REMOTE_ADDR']!='115.94.73.157') return; echo '<pre>'; print_r($arr); echo '</pre>'; } //[son]기간 날짜 리턴 function getDatesFromRange($start, $end, $format = 'Y-m-d') { $array = array(); $interval = new DateInterval('P1D'); $realEnd = new DateTime($end); $realEnd->add($interval); $period = new DatePeriod(new DateTime($start), $interval, $realEnd); foreach($period as $date) { $array[] = $date->format($format); } return $array; } // 티켓 이력관리 (변경 후 호출) function TO_ticket_history_ins($ticket_seq, $history_nm){ global $TO_MB; // 기존 티켓 정보 $sql = "select * from TB_TICKET where seq = '{$ticket_seq}'"; $data = db_fetch($sql); foreach($data as $k => $v){ if($v == NULL){ $data[$k] = ""; } } // 데이터 $history_data = json_encode($data, JSON_UNESCAPED_UNICODE); $sql = "insert into TB_TICKET_HISTORY set "; $sql .= " ticket_seq='{$ticket_seq}'"; $sql .= " ,ti_history_nm='{$history_nm}'"; $sql .= " ,ti_history_data='{$history_data}'"; $sql .= " ,ins_id='{$TO_MB[mb_id]}'"; $sql .= " ,ins_dt=now()"; Log::save(sprintf("%s(%d) 티켓 HISTORY 등록 : %s %s ", __FILE__, __LINE__, $ticket_seq, $history_nm), '', date('Ym')); db_query($sql); } // 티켓 이력관리 (상태별로 기록 - 야놀자 연동) function TO_ticket_history_status_ins($ticket_seq, $ticket_status, $orderCd = ""){ global $TO_MB; // 기존 티켓 정보 $sql = "select * from TB_TICKET where seq = '{$ticket_seq}'"; $dataTicket = db_fetch($sql); foreach($dataTicket as $k => $v){ if($v == NULL){ $dataTicket[$k] = ""; } } // 예약 정보 if($dataTicket['rsv_no']){ $sql = "select * from TB_RES_GOOD where rsv_no = '{$dataTicket['rsv_no']}'"; $dataRes = db_fetch($sql); // 티켓 가격 switch($dataTicket['ti_generation']){ case 'A' : $ticket_price = $dataRes['adult_price']; break; case 'C' : $ticket_price = $dataRes['child_price']; break; case 'B' : $ticket_price = $dataRes['baby_price']; break; default : $ticket_price = $dataRes['adult_price']; break; } /*$orderCd = ""; if($dataRes['agent_id'] == 'yanolja'){ include_once PARTNER_DIR."/yanolja/class.Yanolja.php"; $b2b_api_data = $dataRes['b2b_api_data']; $b2b_voucher = $dataRes['b2b_voucher']; $b2b_api_data_arr = json_decode($b2b_api_data,true); $orderCd = $b2b_api_data_arr[$b2b_voucher]['passengers'][0]['orderCd']; }*/ $today = date('Y-m-d'); // 데이터 $sql = "insert into TB_TICKET_HISTORY_STATUS set "; $sql .= " ticket_seq='{$ticket_seq}'"; $sql .= " ,rsv_no='{$dataTicket['rsv_no']}'"; $sql .= " ,pin='{$orderCd}'"; $sql .= " ,g_uid='{$dataRes['g_uid']}'"; $sql .= " ,ticket_number='{$dataTicket['ticket_number']}'"; $sql .= " ,ticket_price='{$ticket_price}'"; $sql .= " ,ticket_status='{$ticket_status}'"; $sql .= " ,history_date='{$today}'"; $sql .= " ,b2b_voucher='{$dataRes['b2b_voucher']}'"; $sql .= " ,producer_id='{$dataTicket['producer_id']}'"; $sql .= " ,agent_id='{$dataRes['agent_id']}'"; $sql .= " ,ins_id='{$TO_MB[mb_id]}'"; $sql .= " ,ins_dt=now()"; db_query($sql); Log::save(sprintf("%s(%d) 티켓 HISTORY2 - 등록 : %s %s ", __FILE__, __LINE__, $ticket_seq, $ticket_status), '', date('Ym')); } else { Log::save(sprintf("%s(%d) 티켓 HISTORY2 - 예약없음 : %s %s ", __FILE__, __LINE__, $ticket_seq, $ticket_status), '', date('Ym')); } } // 공급처에 예약 알림톡 발송 function TO_reserve_agent_alarm($producer_id, $res_no, $tpl = 'B2B_RESERVE'){ if($producer_id == '' || $res_no == '') return false; Log::save(sprintf("%s(%d) 공급처 알람톡 발송 : %s %s", __FILE__, __LINE__, $producer_id, $res_no), '', date('Ym')); $producer_data = db_fetch("select ag_alarm_phone from TB_MEMBER where mb_id='{$producer_id}'"); $ag_alarm_phone = explode("|", $producer_data['ag_alarm_phone']); Log::save(sprintf("%s(%d) 공급처 수신 번호 : %s ", __FILE__, __LINE__, $producer_data['ag_alarm_phone']), '', date('Ym')); if($ag_alarm_phone){ // 상용구 $keyword = array( '접수번호' => $res_no ); // 발송 foreach($ag_alarm_phone as $k => $to_phone){ send_auto_alimtalk($tpl, "", $to_phone, $keyword); } } } // 메일 함수 (다이렉트샌드) function TO_sendmail($from, $to, $subject, $content, $file_list, $param) { global $TO_MB; Log::save(sprintf("%s(%d) 메일 발송 : %s => %s [%s]", __FILE__, __LINE__, $from, json_encode($to), $subject), '', 'directsend/'.date('Ym')); // 보내는사람 주소에 이름 있는 경우 인코딩 처리 if (preg_match('/.*\<.*\>.*/', $from)) { $tmp = explode("<", $from); $from_name = trim($tmp[0]); $from_email = trim(str_replace(">","",$tmp[1])); } else { $from_name = 'TK TRAVEL'; $from_email = $from; } # 마무리 공통작업 $content = preg_replace("/\r?\n\.\r?\n/", "\n .\n", $content); // 메일 발송 $server_root_path = $_SERVER['DOCUMENT_ROOT']; include_once $server_root_path."/partner/directsend/class.DirectSend.php"; $DS = new DirectSend; $send_result = $DS->mailSend($to, $subject, $content, $from_name, $from_email, $param['file']); Log::save(sprintf("%s(%d) 메일 발송 결과 : %", __FILE__, __LINE__, json_encode($send_result)), '', 'directsend/'.date('Ym')); // 히스토리저장 $to_history = implode(",", $to); $to_count = count($to); $sql = "insert into TB_MAIL_HISTORY set admin_id='{$TO_MB[mb_id]}', res_no='{$param[res_no]}', cust_nm='{$param[cust_nm]}', recv_mail='{$to_history}', recv_count='{$to_count}', send_mail='{$from}', message='{$subject}', mail_cont='{$content}', api_msg_key='', ins_dt=now()"; db_query($sql); if($send_result['status'] == '0'){ $success = true; } else { $success = false; } return $success; } // 월별 예약 리스트(정산용) function TO_get_reserv_data($start_ym, $end_ym){ /* RETURN DATA */ /* tab 구분 res_no 예약번호 ins_date 예약일 start_date 행사일 nat_cd 국적 admin_id 관리자 sales_total 판매금액(고객) agent_total 판매금액(판매처) buy_total 공급가 agent_id 판매처 id */ /* TAB LIST */ // T 티켓 D 투어 P 패키지 L 호텔 B 버스 E 견적서 // 시작월 if(!$start_ym) $start_ym = date('Y-m'); $month_s = $start_ym . "-01"; // 종료월 if(!$end_ym) $end_ym = $start_ym; $month_e = $end_ym . "-31"; // 티켓/투어 예약 데이터 $sql = "SELECT tab, res_no, agent_id, g_uid, g_title, ev_start as start_date, LEFT(ins_dt, 10) as ins_date, admin_id, sales_total, agent_total, buy_total, agent_id, res_cust_nat_cd as nat_cd, (SELECT COUNT(*) FROM TB_RES_GOOD_PERSON P WHERE P.res_no = R.res_no) AS person FROM TB_RES_GOOD R WHERE order_state in('B', 'F') AND ev_start >= '{$month_s}' AND ev_start <= '{$month_e}'"; $rs = db_query($sql); while($row=db_fetch_array($rs)) { $res_data[] = $row; } // 호텔 예약 데이터 $sql = "SELECT 'L' as tab, res_no, agent_id, room_date as start_date, LEFT(ins_dt, 10) as ins_date, admin_id, sales_total, agent_total, buy_total, agent_id, res_cust_nat_cd as nat_cd, (SELECT COUNT(*) FROM TB_RES_HOTEL_PERSON P WHERE P.res_no = R.res_no) AS person FROM TB_RES_HOTEL R WHERE order_state in('E', 'G') AND room_date >= '{$month_s}' AND room_date <= '{$month_e}'"; $rs = db_query($sql); while($row=db_fetch_array($rs)) { $res_data[] = $row; } // 버스 예약 데이터 $sql = "SELECT 'B' as tab, b_idx as res_no, LEFT(start_date, 10) as start_date, LEFT(ins_dt, 10) as ins_date, total_sell_price as sales_total, total_buy_price as buy_total FROM TB_ERP_BUS WHERE start_date >= '{$month_s}' and start_date <= '{$month_e}'"; $rs = db_query($sql); while($row=db_fetch_array($rs)) { $res_data[] = $row; } // 견적서 데이터 $sql = "SELECT 'E' as tab, (num_adult+num_child+num_foc) as person, start_date, erp1.regdate as ins_date, total_sell_price as sales_total, total_buy_price as buy_total FROM TB_ERP_ALL erp1 LEFT JOIN TB_ERP_ESTIMATE esti on(erp1.a_idx=esti.a_idx) where state in('B', 'D', 'F', 'C', 'E') AND start_date >= '{$month_s}' AND start_date <= '{$month_e}'"; $rs = db_query($sql); while($row=db_fetch_array($rs)) { $res_data[] = $row; } return $res_data; } // 월별 예약 리스트(정산용) function TO_get_reserv_data_b2b($start_ym, $end_ym){ /* RETURN DATA */ /* tab 구분 res_no 예약번호 ins_date 예약일 start_date 행사일 nat_cd 국적 admin_id 관리자 sales_total 판매금액(고객) agent_total 판매금액(판매처) buy_total 공급가 agent_id 판매처 id */ /* TAB LIST */ // T 티켓 D 투어 P 패키지 L 호텔 B 버스 E 견적서 // 시작월 if(!$start_ym) $start_ym = date('Y-m'); $month_s = $start_ym . "-01"; // 종료월 if(!$end_ym) $end_ym = $start_ym; $month_e = $end_ym . "-31"; // 티켓/투어 예약 데이터 $sql = "SELECT tab, res_no, gdt_pe_daesu, agent_id, adult_price, child_price, baby_price, adult_buy, child_buy, baby_buy, adult_agent, child_agent, baby_agent, g_uid, g_title, ev_start as start_date, LEFT(ins_dt, 10) as ins_date, admin_id, sales_total, agent_total, buy_total, agent_id, res_cust_nat_cd as nat_cd, (SELECT COUNT(*) FROM TB_RES_GOOD_PERSON P WHERE P.res_no = R.res_no AND P.generation = 'A') AS personAdult, (SELECT COUNT(*) FROM TB_RES_GOOD_PERSON P WHERE P.res_no = R.res_no AND P.generation = 'C') AS personChild, (SELECT COUNT(*) FROM TB_RES_GOOD_PERSON P WHERE P.res_no = R.res_no AND P.generation = 'B') AS personBaby FROM TB_RES_GOOD R WHERE order_state in('B', 'F') AND ev_start >= '{$month_s}' AND ev_start <= '{$month_e}' ORDER BY ev_start ASC"; $rs = db_query($sql); while($row=db_fetch_array($rs)) { $res_data[] = $row; } /* // 호텔 예약 데이터 $sql = "SELECT 'L' as tab, res_no, agent_id, room_date as start_date, LEFT(ins_dt, 10) as ins_date, admin_id, sales_total, agent_total, buy_total, agent_id, res_cust_nat_cd as nat_cd, (SELECT COUNT(*) FROM TB_RES_HOTEL_PERSON P WHERE P.res_no = R.res_no) AS person FROM TB_RES_HOTEL R WHERE order_state in('E', 'G') AND room_date >= '{$month_s}' AND room_date <= '{$month_e}'"; $rs = db_query($sql); while($row=db_fetch_array($rs)) { $res_data[] = $row; } // 버스 예약 데이터 $sql = "SELECT 'B' as tab, b_idx as res_no, LEFT(start_date, 10) as start_date, LEFT(ins_dt, 10) as ins_date, total_sell_price as sales_total, total_buy_price as buy_total FROM TB_ERP_BUS WHERE start_date >= '{$month_s}' and start_date <= '{$month_e}'"; $rs = db_query($sql); while($row=db_fetch_array($rs)) { $res_data[] = $row; } // 견적서 데이터 $sql = "SELECT 'E' as tab, (num_adult+num_child+num_foc) as person, start_date, erp1.regdate as ins_date, total_sell_price as sales_total, total_buy_price as buy_total FROM TB_ERP_ALL erp1 LEFT JOIN TB_ERP_ESTIMATE esti on(erp1.a_idx=esti.a_idx) where state in('B', 'D', 'F', 'C', 'E') AND start_date >= '{$month_s}' AND start_date <= '{$month_e}'"; $rs = db_query($sql); */ while($row=db_fetch_array($rs)) { $res_data[] = $row; } return $res_data; } /** * @author taeyoung * @date 2022-07-06 * 메인페이지 유튜브 데이터 불러오기 * @return array */ function get_main_youtube(){ $sql = "SELECT * FROM youtube_link WHERE disp_yn ='Y' ORDER BY seq ASC"; $rs = db_query($sql); while($row=db_fetch_array($rs)) { $res_data[] = $row; } return $res_data; } /** * @author taeyoung * @date 2022-07-06 * 관리자페이지 유튜브 정보 수정용 * @return array */ function getYoutubeData($ytid){ $sql = "SELECT * FROM youtube_link WHERE ytid = '{$ytid}'"; $rs = db_query($sql); $data=db_fetch_array($rs); return $data; } /** * @author taeyoung * @date 2023-02-16 * @param $footerIconLinkID * @return array|false|null */ function getFooterIconData($footerIconLinkID){ $sql = "SELECT * FROM footerIconLink WHERE footerIconLinkID = {$footerIconLinkID}"; $data = db_fetch($sql); return $data; } /** * @author taeyoung * @date 2022-07-08 * 단체예약 미리보기 정보 * @return array */ function getGroupResInfo($con_id){ $sql = "SELECT * FROM group_consult WHERE con_id = {$con_id}"; $rs = db_query($sql); $data=db_fetch_array($rs); return $data; } /** * 단체예약 읽었을 때 확인 체크 * @param $con_id * @return bool */ function setConfirmGroupResInfo($con_id){ if(!$con_id){ return false; } $sql = "UPDATE group_consult SET con_confirm = 'Y' WHERE con_id = {$con_id}"; db_query($sql); return true; } /** * 통화 데이터 * @return array */ function getCurrencyData(){ $date = date("Y-m-d", time()); $sql = "SELECT * FROM API_EXCHANGE_DATA WHERE ins_dt = '{$date}' ORDER BY ID DESC LIMIT 1"; $rs = db_query($sql); $data =db_fetch_array($rs); return $data; } function getFooterIconAllData($lang){ $sql = "SELECT * FROM footerIconLink WHERE lang = '{$lang}' ORDER BY seq ASC"; $res = db_query($sql); $data = array(); while($row = db_fetch_array($res)){ array_push($data, $row); } return $data; } function getDepositWithoutBankBookInfo($res_no){ //T||T168240717475BDF81 $tabInfo = substr($res_no,0,1); $res_info = $tabInfo.'||'.$res_no; $sql = "SELECT count(*) AS cnt FROM `TB_RES_BANK` WHERE res_info = '{$res_info}'"; // p($sql); $data = db_fetch($sql); return (int) $data['cnt']; } ?>