"; } else { $str = "'.$str.''; } return $str; } // 상품의 재고 (창고재고수량 - 주문대기수량) function get_it_stock_qty($it_id) { global $g4; $sql = " select it_stock_qty from {$g4['shop_item_table']} where it_id = '$it_id' "; $row = sql_fetch($sql); $jaego = (int)$row['it_stock_qty']; // 재고에서 빼지 않았고 주문인것만 $sql = " select SUM(ct_qty) as sum_qty from {$g4['shop_cart_table']} where it_id = '$it_id' and ct_stock_use = 0 and ct_status in ('주문', '준비') "; $row = sql_fetch($sql); $daegi = (int)$row['sum_qty']; return $jaego - $daegi; } // 큰 이미지 function get_large_image($img, $it_id, $btn_image=true) { global $g4; if (file_exists(G4_DATA_PATH."/item/$img") && $img != "") { $size = getimagesize(G4_DATA_PATH."/item/$img"); $width = $size[0]; $height = $size[1]; $str = ""; if ($btn_image) $str .= ""; } else $str = ""; return $str; } // 금액 표시 function display_amount($amount, $tel_inq=false) { if ($tel_inq) $amount = "전화문의"; else $amount = number_format($amount, 0) . "원"; return $amount; } // 금액표시 // $it : 상품 배열 function get_amount($it) { global $member; if ($it['it_tel_inq']) return '전화문의'; if ($member['mb_level'] > 2) // 특별회원 $amount = $it['it_amount3']; if ($member['mb_level'] == 2 || $amount == 0) // 회원가격 $amount = $it['it_amount2']; if ($member['mb_level'] == 1 || $amount == 0) // 비회원가격 $amount = $it['it_amount']; return (int)$amount; } // 포인트 표시 function display_point($point) { return number_format($point, 0) . "점"; } // 포인트를 구한다 function get_point($amount, $point) { return (int)($amount * $point / 100); } // HTML 특수문자 변환 htmlspecialchars function htmlspecialchars2($str) { $trans = array("\"" => """, "'" => "'", "<"=>"<", ">"=>">"); $str = strtr($str, $trans); return $str; } // 파일을 업로드 함 function upload_file($srcfile, $destfile, $dir) { if ($destfile == "") return false; // 업로드 한후 , 퍼미션을 변경함 @move_uploaded_file($srcfile, "$dir/$destfile"); @chmod("$dir/$destfile", 0606); return true; } function message($subject, $content, $align="left", $width="450") { $str = "
$subject
$content

"; return $str; } // 시간이 비어 있는지 검사 function is_null_time($datetime) { // 공란 0 : - 제거 //$datetime = ereg_replace("[ 0:-]", "", $datetime); // 이 함수는 PHP 5.3.0 에서 배제되고 PHP 6.0 부터 사라집니다. $datetime = preg_replace("/[ 0:-]/", "", $datetime); if ($datetime == "") return true; else return false; } // 출력유형, 스킨파일, 1라인이미지수, 총라인수, 이미지폭, 이미지높이 // 1.02.01 $ca_id 추가 function display_type($type, $skin_file, $list_mod, $list_row, $img_width, $img_height, $ca_id="") { global $member, $g4; // 상품의 갯수 $items = $list_mod * $list_row; // 1.02.00 // it_order 추가 $sql = " select * from {$g4['shop_item_table']} where it_use = '1' and it_type{$type} = '1' "; if ($ca_id) $sql .= " and ca_id like '$ca_id%' "; $sql .= " order by it_order, it_id desc limit $items "; $result = sql_query($sql); if (!mysql_num_rows($result)) { return false; } $file = G4_SHOP_PATH."/$skin_file"; if (!file_exists($file)) { echo "{$file} 파일을 찾을 수 없습니다."; } else { $td_width = (int)(100 / $list_mod); include $file; } } // 분류별 출력 // 스킨파일번호, 1라인이미지수, 총라인수, 이미지폭, 이미지높이 , 분류번호 function display_category($no, $list_mod, $list_row, $img_width, $img_height, $ca_id="") { global $member, $g4; // 상품의 갯수 $items = $list_mod * $list_row; $sql = " select * from {$g4['shop_item_table']} where it_use = '1'"; if ($ca_id) $sql .= " and ca_id LIKE '{$ca_id}%' "; $sql .= " order by it_order, it_id desc limit $items "; $result = sql_query($sql); if (!mysql_num_rows($result)) { return false; } $file = G4_SHOP_PATH."/maintype{$no}.inc.php"; if (!file_exists($file)) { echo "{$file} 파일을 찾을 수 없습니다."; } else { $td_width = (int)(100 / $list_mod); include $file; } } // 별 function get_star($score) { if ($score > 8) $star = "5"; else if ($score > 6) $star = "4"; else if ($score > 4) $star = "3"; else if ($score > 2) $star = "2"; else if ($score > 0) $star = "1"; else $star = "5"; return $star; } // 별 이미지 function get_star_image($it_id) { global $g4; $sql = "select (SUM(is_score) / COUNT(*)) as score from {$g4['shop_item_ps_table']} where it_id = '$it_id' "; $row = sql_fetch($sql); return (int)get_star($row['score']); } // 메일 보내는 내용을 HTML 형식으로 만든다. function email_content($str) { global $g4; $s = ""; $s .= "메일\n"; $s .= "\n"; $s .= $str; $s .= "\n"; $s .= ""; return $s; } // 타임스탬프 형식으로 넘어와야 한다. // 시작시간, 종료시간 function gap_time($begin_time, $end_time) { $gap = $end_time - $begin_time; $time['days'] = (int)($gap / 86400); $time['hours'] = (int)(($gap - ($time['days'] * 86400)) / 3600); $time['minutes'] = (int)(($gap - ($time['days'] * 86400 + $time['hours'] * 3600)) / 60); $time['seconds'] = (int)($gap - ($time['days'] * 86400 + $time['hours'] * 3600 + $time['minutes'] * 60)); return $time; } // 공란없이 이어지는 문자 자르기 (wayboard 참고 (way.co.kr)) function continue_cut_str($str, $len=80) { /* $pattern = "[^ \n<>]{".$len."}"; return eregi_replace($pattern, "\\0\n", $str); */ $pattern = "/[^ \n<>]{".$len."}/"; return preg_replace($pattern, "\\0\n", $str); } // 제목별로 컬럼 정렬하는 QUERY STRING // $type 이 1이면 반대 function title_sort($col, $type=0) { global $sort1, $sort2; global $_SERVER; global $page; global $doc; $q1 = "sort1=$col"; if ($type) { $q2 = "sort2=desc"; if ($sort1 == $col) { if ($sort2 == "desc") { $q2 = "sort2=asc"; } } } else { $q2 = "sort2=asc"; if ($sort1 == $col) { if ($sort2 == "asc") { $q2 = "sort2=desc"; } } } #return "$_SERVER[PHP_SELF]?$q1&$q2&page=$page"; return "{$_SERVER['PHP_SELF']}?$q1&$q2&page=$page"; } // 세션값을 체크하여 이쪽에서 온것이 아니면 메인으로 function session_check() { global $g4; if (!trim(get_session('ss_uniqid'))) gotourl(G4_SHOP_URL); } // 상품 옵션 function get_item_options($subject, $option, $index) { $subject = trim($subject); $option = trim($option); if (!$subject || !$option) return ""; $str = ""; $arr = explode("\n", $option); // 옵션이 하나일 경우 if (count($arr) == 1) { $str = $option; } else { $str = "\n\n"; } return $str; } // 인수는 $it_id, $it_opt1, ..., $it_opt6 까지 넘어옴 function print_item_options() { global $g4; $it_id = func_get_arg(0); $sql = " select it_opt1_subject, it_opt2_subject, it_opt3_subject, it_opt4_subject, it_opt5_subject, it_opt6_subject from {$g4['shop_item_table']} where it_id = '$it_id' "; $it = sql_fetch($sql); $it_name = $str_split = ""; for ($i=1; $i<=6; $i++) { $it_opt = trim(func_get_arg($i)); // 상품옵션에서 0은 제외되는 현상을 수정 if ($it_opt==null) continue; $it_name .= $str_split; $it_opt_subject = $it["it_opt{$i}_subject"]; $opt = explode( ";", $it_opt ); $it_name .= "  $it_opt_subject = $opt[0]"; if ($opt[1] != 0) { $it_name .= " ("; //if (ereg("[+]", $opt[1]) == true) if (preg_match("/[+]/", $opt[1]) == true) $it_name .= "+"; $it_name .= display_amount($opt[1]) . ")"; } $str_split = "
"; } return $it_name; } function it_name_icon($it, $it_name="", $url=1) { global $g4; $str = ""; if ($it_name) $str = $it_name; else $str = stripslashes($it['it_name']); if ($url) $str = "$str"; if ($it['it_type1']) $str .= " "; if ($it['it_type2']) $str .= " "; if ($it['it_type3']) $str .= " "; if ($it['it_type4']) $str .= " "; if ($it['it_type5']) $str .= " "; // 품절 $stock = get_it_stock_qty($it['it_id']); if ($stock <= 0) $str .= " "; return $str; } // 일자형식변환 function date_conv($date, $case=1) { if ($case == 1) { // 년-월-일 로 만들어줌 $date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1-\\2-\\3", $date); } else if ($case == 2) { // 년월일 로 만들어줌 $date = preg_replace("/-/", "", $date); } return $date; } // 배너출력 function display_banner($position, $num="") { global $g4; if (!$position) $position = "왼쪽"; include G4_SHOP_PATH.'/boxbanner'.$num.'.inc.php'; } // 1.00.02 // 파일번호, 이벤트번호, 1라인이미지수, 총라인수, 이미지폭, 이미지높이 // 1.02.01 $ca_id 추가 function display_event($no, $event, $list_mod, $list_row, $img_width, $img_height, $ca_id="") { global $member, $g4; // 상품의 갯수 $items = $list_mod * $list_row; // 1.02.00 // b.it_order 추가 $sql = " select b.* from {$g4['shop_event_item_table']} a, {$g4['shop_item_table']} b where a.it_id = b.it_id and b.it_use = '1' and a.ev_id = '$event' "; if ($ca_id) $sql .= " and ca_id = '$ca_id' "; $sql .= " order by b.it_order, a.it_id desc limit $items "; $result = sql_query($sql); if (!mysql_num_rows($result)) { return false; } $file = G4_SHOP_PATH."/maintype{$no}.inc.php"; if (!file_exists($file)) { echo "{$file} 파일을 찾을 수 없습니다."; } else { $td_width = (int)(100 / $list_mod); include $file; } } function get_yn($val, $case='') { switch ($case) { case '1' : $result = ($val > 0) ? 'Y' : 'N'; break; default : $result = ($val > 0) ? '예' : '아니오'; } return $result; } // 상품명과 건수를 반환 function get_goods($uq_id) { global $g4; // 상품명만들기 $row = sql_fetch(" select a.it_id, b.it_name from {$g4['shop_cart_table']} a, {$g4['shop_item_table']} b where a.it_id = b.it_id and a.uq_id = '$uq_id' order by ct_id limit 1 "); // 상품명에 "(쌍따옴표)가 들어가면 오류 발생함 $goods['it_id'] = $row['it_id']; $goods['full_name']= $goods['name'] = addslashes($row['it_name']); // 특수문자제거 $goods['full_name'] = preg_replace ("/[ #\&\+\-%@=\/\\\:;,\.'\"\^`~\_|\!\?\*$#<>()\[\]\{\}]/i", "", $goods['full_name']); // 상품건수 $row = sql_fetch(" select count(*) as cnt from {$g4['shop_cart_table']} where uq_id = '$uq_id' "); $cnt = $row['cnt'] - 1; if ($cnt) $goods['full_name'] .= " 외 {$cnt}건"; $goods['count'] = $row['cnt']; return $goods; } // 패턴의 내용대로 해당 디렉토리에서 정렬하여