first commit 2
This commit is contained in:
@@ -0,0 +1 @@
|
||||
# .htaccess
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit;
|
||||
|
||||
/**
|
||||
* 사용자 정의 테이블 이름을 $g5 전역 배열에 추가합니다.
|
||||
* 이 파일은 common.php에서 자동으로 포함됩니다.
|
||||
*/
|
||||
$g5['ui_manager_table'] = G5_TABLE_PREFIX . 'ui_manager';
|
||||
$g5['form_category_table'] = G5_TABLE_PREFIX . 'form_category';
|
||||
$g5['common_lang_table'] = G5_TABLE_PREFIX . 'common_lang';
|
||||
?>
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
add_event('tail_sub', 'show_debug_bar');
|
||||
|
||||
function show_debug_bar() {
|
||||
|
||||
global $g5, $g5_debug, $is_admin;
|
||||
|
||||
if( ! get_permission_debug_show() ) return;
|
||||
|
||||
if ( !($is_admin === 'super' && !is_mobile() ) ){
|
||||
return;
|
||||
}
|
||||
|
||||
$memory_usage = function_exists( 'memory_get_peak_usage' ) ? memory_get_peak_usage() : memory_get_usage();
|
||||
$php_run_time = (isset($g5_debug['php']) && isset($g5_debug['php']['begin_time'])) ? ( get_microtime() - $g5_debug['php']['begin_time'] ) : 0;
|
||||
|
||||
include_once( G5_PLUGIN_PATH.'/debugbar/debugbar.php' );
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
define('KGINICIS_USE_CERT_SEED', isset($config['cf_cert_use_seed']) ? (int) $config['cf_cert_use_seed'] : 1);
|
||||
|
||||
// 유저 사이드뷰에서 아이콘 지정 안했을시 기본 no 프로필 이미지
|
||||
define('G5_NO_PROFILE_IMG', '<span class="profile_img"><img src="'.G5_IMG_URL.'/no_profile.gif" alt="no_profile" width="'.$config['cf_member_icon_width'].'" height="'.$config['cf_member_icon_height'].'"></span>');
|
||||
|
||||
define('G5_USE_MEMBER_IMAGE_FILETIME', TRUE);
|
||||
|
||||
// 썸네일 처리 방식, 비율유지 하지 않고 썸네일을 생성하려면 주석을 풀고 값은 false 입력합니다. ( true 또는 주석으로 된 경우에는 비율 유지합니다. )
|
||||
//define('G5_USE_THUMB_RATIO', false);
|
||||
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
add_event('memo_list', 'g54_user_memo_insert', 10, 3);
|
||||
add_event('password_is_wrong', 'g54_check_bbs_password', 10, 3);
|
||||
add_replace('invalid_password', 'g54_return_invalid_password', 10, 3);
|
||||
|
||||
function g54_return_invalid_password($bool, $type, $wr){
|
||||
if($type === 'write' && $bool === false && $wr['wr_password'] && isset($_POST['wr_password'])) {
|
||||
if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && (strlen($wr['wr_password']) === G5_MYSQL_PASSWORD_LENGTH || strlen($wr['wr_password']) === 16)) {
|
||||
if( sql_password($_POST['wr_password']) === $wr['wr_password'] ){
|
||||
$bool = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $bool;
|
||||
}
|
||||
|
||||
function g54_check_bbs_password($type, $wr, $qstr=''){
|
||||
if($type === 'bbs' && (isset($wr['wr_password']) && $wr['wr_password']) && isset($_POST['wr_password'])) {
|
||||
|
||||
global $bo_table, $w;
|
||||
|
||||
if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && (strlen($wr['wr_password']) === G5_MYSQL_PASSWORD_LENGTH || strlen($wr['wr_password']) === 16)) {
|
||||
if( sql_password($_POST['wr_password']) === $wr['wr_password'] ){
|
||||
if ($w == 's') {
|
||||
$ss_name = 'ss_secret_'.$bo_table.'_'.$wr['wr_num'];
|
||||
set_session($ss_name, TRUE);
|
||||
} else if ($w == 'sc'){
|
||||
$ss_name = 'ss_secret_comment_'.$bo_table.'_'.$wr['wr_id'];
|
||||
set_session($ss_name, TRUE);
|
||||
}
|
||||
goto_url(short_url_clean(G5_HTTP_BBS_URL.'/board.php?'.$qstr));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function g54_user_memo_insert($kind, $unkind, $page=1){
|
||||
global $g5, $is_member, $member;
|
||||
|
||||
if( ! $is_member || $kind !== 'send' ) return;
|
||||
|
||||
$sql = " select count(*) as cnt from {$g5['memo_table']} where me_send_mb_id = '{$member['mb_id']}' and me_type = 'recv' and me_send_ip = '' ";
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
if ( !$row['cnt'] ) return;
|
||||
|
||||
$sql = " select count(*) as cnt from {$g5['memo_table']} where me_send_mb_id = '{$member['mb_id']}' and me_type = 'send' ";
|
||||
$row2 = sql_fetch($sql);
|
||||
|
||||
if( $row['cnt'] && ! $row2['cnt'] ){
|
||||
$sql = " select * from {$g5['memo_table']} where me_send_mb_id = '{$member['mb_id']}' and me_type = 'recv' ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
while ($row = sql_fetch_array($result))
|
||||
{
|
||||
$sql = " insert into {$g5['memo_table']} ( me_recv_mb_id, me_send_mb_id, me_send_datetime, me_read_datetime, me_memo, me_send_id, me_type ) values ( '".addslashes($row['me_recv_mb_id'])."', '".addslashes($row['me_send_mb_id'])."', '".addslashes($row['me_send_datetime'])."', '".addslashes($row['me_read_datetime'])."', '".addslashes($row['me_memo'])."', '".$row['me_id']."', 'send' ) ";
|
||||
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
$sql = " update {$g5['memo_table']} set me_send_ip = '{$_SERVER['REMOTE_ADDR']}' where me_send_mb_id = '{$member['mb_id']}' and me_type = 'recv' and me_send_ip = '' ";
|
||||
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
/**
|
||||
* 지정된 경로의 폴더 목록을 <select> 태그로 반환
|
||||
*
|
||||
* @param string $path 폴더 경로
|
||||
* @param string $select_name 셀렉트 태그의 name 속성
|
||||
* @param string $select_id 셀렉트 태그의 id 속성
|
||||
* @param string|null $selected_folder 기본 선택된 폴더명
|
||||
* @return string <select> 태그 HTML 문자열
|
||||
*/
|
||||
function get_folder_list_select($path, $select_name = 'skin_name', $select_id = 'skin_id', $selected_folder = null) {
|
||||
|
||||
if ($selected_folder === null) {
|
||||
$selected_folder = '';
|
||||
}
|
||||
|
||||
// 결과 HTML 초기화
|
||||
$select_html = "<select name=\"$select_name\" id=\"$select_id\" class=\"select input_tiny w100\">\n";
|
||||
|
||||
// 디렉토리 확인
|
||||
if (is_dir($path)) {
|
||||
$folders = scandir($path);
|
||||
|
||||
foreach ($folders as $folder) {
|
||||
// '.'와 '..' 제외, 폴더인지 확인
|
||||
if ($folder !== '.' && $folder !== '..' && is_dir($path . '/' . $folder)) {
|
||||
$folder_escaped = htmlspecialchars($folder, ENT_QUOTES, 'UTF-8');
|
||||
$selected = ($folder === $selected_folder) ? ' selected' : '';
|
||||
$select_html .= "<option value=\"$folder_escaped\"$selected>$folder_escaped</option>\n";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$select_html .= "<option value=\"\">스킨이 없습니다.</option>\n";
|
||||
}
|
||||
|
||||
$select_html .= "</select>\n";
|
||||
return $select_html;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
add_replace('admin_menu', 'add_admin_bbs_menu_memo', 1, 1); // 관리자 메뉴를 추가함
|
||||
|
||||
function add_admin_bbs_menu_memo($admin_menu){ // 메뉴추가
|
||||
|
||||
$admin_menu['menu000'][] = array(
|
||||
'000630', '쪽지 관리', G5_ADMIN_URL.'/rb/memo_form.php', 'rb_config',
|
||||
);
|
||||
return $admin_menu;
|
||||
}
|
||||
@@ -0,0 +1,269 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 크롭옵션을 사용하기위해 별도함수 사용
|
||||
function rb_it_image($it_id, $width, $height=0, $anchor=false, $img_id='', $img_alt='', $is_crop=true)
|
||||
{
|
||||
global $g5;
|
||||
|
||||
if(!$it_id || !$width)
|
||||
return '';
|
||||
|
||||
$row = get_shop_item($it_id, true);
|
||||
|
||||
if(!$row['it_id'])
|
||||
return '';
|
||||
|
||||
$filename = $thumb = $img = '';
|
||||
|
||||
$img_width = 0;
|
||||
for($i=1;$i<=10; $i++) {
|
||||
$file = G5_DATA_PATH.'/item/'.$row['it_img'.$i];
|
||||
if(is_file($file) && $row['it_img'.$i]) {
|
||||
$size = @getimagesize($file);
|
||||
if(! isset($size[2]) || $size[2] < 1 || $size[2] > 3)
|
||||
continue;
|
||||
|
||||
$filename = basename($file);
|
||||
$filepath = dirname($file);
|
||||
$img_width = $size[0];
|
||||
$img_height = $size[1];
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if($img_width && !$height) {
|
||||
$height = round(($width * $img_height) / $img_width);
|
||||
}
|
||||
|
||||
if($filename) {
|
||||
//thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_height, $is_create, $is_crop=false, $crop_mode='center', $is_sharpen=true, $um_value='80/0.5/3')
|
||||
$thumb = thumbnail($filename, $filepath, $filepath, $width, $height, false, $is_crop, 'center', false, $um_value='80/0.5/3');
|
||||
}
|
||||
|
||||
if($thumb) {
|
||||
$file_url = str_replace(G5_PATH, G5_URL, $filepath.'/'.$thumb);
|
||||
$img = '<img src="'.$file_url.'" width="'.$width.'" height="'.$height.'" alt="'.$img_alt.'"';
|
||||
} else {
|
||||
$img = '<img src="'.G5_SHOP_URL.'/img/no_image.gif" width="'.$width.'"';
|
||||
if($height)
|
||||
$img .= ' height="'.$height.'"';
|
||||
$img .= ' alt="'.$img_alt.'"';
|
||||
}
|
||||
|
||||
if($img_id)
|
||||
$img .= ' id="'.$img_id.'"';
|
||||
$img .= '>';
|
||||
|
||||
if($anchor)
|
||||
$img = $img = '<a href="'.shop_item_url($it_id).'">'.$img.'</a>';
|
||||
|
||||
return run_replace('get_it_image_tag', $img, $thumb, $it_id, $width, $height, $anchor, $img_id, $img_alt, $is_crop);
|
||||
}
|
||||
|
||||
// 상품이미지 썸네일 생성
|
||||
function rb_it_thumbnail($img, $width, $height=0, $id='', $is_crop=true)
|
||||
{
|
||||
$str = '';
|
||||
|
||||
if ( $replace_tag = run_replace('get_it_thumbnail_tag', $str, $img, $width, $height, $id, $is_crop) ){
|
||||
return $replace_tag;
|
||||
}
|
||||
|
||||
$file = G5_DATA_PATH.'/item/'.$img;
|
||||
if(is_file($file))
|
||||
$size = @getimagesize($file);
|
||||
|
||||
if (! (isset($size) && is_array($size)))
|
||||
return '';
|
||||
|
||||
if($size[2] < 1 || $size[2] > 3)
|
||||
return '';
|
||||
|
||||
$img_width = $size[0];
|
||||
$img_height = $size[1];
|
||||
$filename = basename($file);
|
||||
$filepath = dirname($file);
|
||||
|
||||
if($img_width && !$height) {
|
||||
$height = round(($width * $img_height) / $img_width);
|
||||
}
|
||||
|
||||
$thumb = thumbnail($filename, $filepath, $filepath, $width, $height, false, $is_crop, 'center', false, $um_value='80/0.5/3');
|
||||
|
||||
if($thumb) {
|
||||
$file_url = str_replace(G5_PATH, G5_URL, $filepath.'/'.$thumb);
|
||||
$str = '<img src="'.$file_url.'" width="'.$width.'" height="'.$height.'"';
|
||||
if($id)
|
||||
$str .= ' id="'.$id.'"';
|
||||
$str .= ' alt="">';
|
||||
}
|
||||
|
||||
return $str;
|
||||
}
|
||||
|
||||
function get_star2($score2)
|
||||
{
|
||||
$star2 = round($score2, 1);
|
||||
if ($star2 < 0) $star2 = 0;
|
||||
return $star2;
|
||||
}
|
||||
|
||||
// 별 카운트
|
||||
function get_star_image2($it_id)
|
||||
{
|
||||
global $g5;
|
||||
|
||||
$sql2 = "select (SUM(is_score) / COUNT(*)) as score from {$g5['g5_shop_item_use_table']} where it_id = '$it_id' and is_confirm = 1 ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
|
||||
return get_star2($row2['score']);
|
||||
}
|
||||
|
||||
// 최신글 함수(메인용)
|
||||
function rb_latest_shop($skin_dir='', $bo_table, $rows=10, $subject_len=40, $cache_time=1, $options='', $md_sca='')
|
||||
{
|
||||
global $g5;
|
||||
|
||||
if (!$skin_dir) $skin_dir = 'basic';
|
||||
|
||||
$time_unit = 3600; // 1시간으로 고정
|
||||
|
||||
if(preg_match('#^theme/(.+)$#', $skin_dir, $match)) {
|
||||
if (G5_IS_MOBILE) {
|
||||
$latest_skin_path = G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR.'/latest/'.$match[1];
|
||||
if(!is_dir($latest_skin_path))
|
||||
$latest_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/latest/'.$match[1];
|
||||
$latest_skin_url = str_replace(G5_PATH, G5_URL, $latest_skin_path);
|
||||
} else {
|
||||
$latest_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/latest/'.$match[1];
|
||||
$latest_skin_url = str_replace(G5_PATH, G5_URL, $latest_skin_path);
|
||||
}
|
||||
$skin_dir = $match[1];
|
||||
} else {
|
||||
if(G5_IS_MOBILE) {
|
||||
$latest_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;
|
||||
$latest_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;
|
||||
} else {
|
||||
$latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir;
|
||||
$latest_skin_url = G5_SKIN_URL.'/latest/'.$skin_dir;
|
||||
}
|
||||
}
|
||||
|
||||
$caches = false;
|
||||
|
||||
if(G5_USE_CACHE) {
|
||||
$cache_file_name = "latest-{$bo_table}-{$skin_dir}-{$rows}-{$subject_len}-".g5_cache_secret_key();
|
||||
$caches = g5_get_cache($cache_file_name, (int) $time_unit * (int) $cache_time);
|
||||
$cache_list = isset($caches['list']) ? $caches['list'] : array();
|
||||
g5_latest_cache_data($bo_table, $cache_list);
|
||||
}
|
||||
|
||||
if( $caches === false ){
|
||||
|
||||
$list = array();
|
||||
|
||||
$board = get_board_db($bo_table, true);
|
||||
|
||||
if( ! $board ){
|
||||
return '';
|
||||
}
|
||||
|
||||
$bo_subject = get_text($board['bo_subject']);
|
||||
|
||||
$tmp_write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
|
||||
|
||||
if($md_sca) { //카테고리 있는경우
|
||||
$sql = " select * from {$tmp_write_table} where wr_is_comment = 0 and ca_name = '{$md_sca}' order by wr_num limit 0, {$rows} ";
|
||||
} else {
|
||||
$sql = " select * from {$tmp_write_table} where wr_is_comment = 0 order by wr_num limit 0, {$rows} ";
|
||||
}
|
||||
|
||||
|
||||
$result = sql_query($sql);
|
||||
for ($i=0; $row = sql_fetch_array($result); $i++) {
|
||||
try {
|
||||
unset($row['wr_password']); //패스워드 저장 안함( 아예 삭제 )
|
||||
} catch (Exception $e) {
|
||||
}
|
||||
$row['wr_email'] = ''; //이메일 저장 안함
|
||||
if (strstr($row['wr_option'], 'secret')){ // 비밀글일 경우 내용, 링크, 파일 저장 안함
|
||||
$row['wr_content'] = $row['wr_link1'] = $row['wr_link2'] = '';
|
||||
$row['file'] = array('count'=>0);
|
||||
}
|
||||
$list[$i] = get_list($row, $board, $latest_skin_url, $subject_len);
|
||||
|
||||
$list[$i]['first_file_thumb'] = (isset($row['wr_file']) && $row['wr_file']) ? get_board_file_db($bo_table, $row['wr_id'], 'bf_file, bf_content', "and bf_type in (1, 2, 3, 18) ", true) : array('bf_file'=>'', 'bf_content'=>'');
|
||||
$list[$i]['bo_table'] = $bo_table;
|
||||
|
||||
|
||||
if(! isset($list[$i]['icon_file'])) $list[$i]['icon_file'] = '';
|
||||
}
|
||||
g5_latest_cache_data($bo_table, $list);
|
||||
|
||||
if(G5_USE_CACHE) {
|
||||
|
||||
$caches = array(
|
||||
'list' => $list,
|
||||
'bo_subject' => sql_escape_string($bo_subject),
|
||||
);
|
||||
|
||||
g5_set_cache($cache_file_name, $caches, (int) $time_unit * (int) $cache_time);
|
||||
}
|
||||
} else {
|
||||
$list = $cache_list;
|
||||
$bo_subject = (is_array($caches) && isset($caches['bo_subject'])) ? $caches['bo_subject'] : '';
|
||||
}
|
||||
|
||||
ob_start();
|
||||
$rb_module_table = "rb_module_shop"; //영카트 메인 모듈
|
||||
include $latest_skin_path.'/latest.skin.php';
|
||||
$content = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
// 패턴의 내용대로 해당 디렉토리에서 정렬하여 <select> 태그에 적용할 수 있게 반환
|
||||
function rb_list_skin_options($pattern, $dirname='./', $sval='')
|
||||
{
|
||||
$str = '<option value="">출력 스킨을 선택하세요.</option>'.PHP_EOL;
|
||||
|
||||
unset($arr);
|
||||
$handle = opendir($dirname);
|
||||
while ($file = readdir($handle)) {
|
||||
if (preg_match("/$pattern/", $file, $matches)) {
|
||||
$arr[] = $matches[0];
|
||||
}
|
||||
}
|
||||
closedir($handle);
|
||||
|
||||
sort($arr);
|
||||
foreach($arr as $value) {
|
||||
if($value == $sval)
|
||||
$selected = ' selected="selected"';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
$str .= '<option value="'.$value.'"'.$selected.'>'.$value.'</option>'.PHP_EOL;
|
||||
}
|
||||
|
||||
return $str;
|
||||
}
|
||||
|
||||
// 파일이 있는지 검사
|
||||
function rb_list_skin_options_chk($pattern, $dirname = './', $selected_value)
|
||||
{
|
||||
$file_exists = false;
|
||||
$handle = opendir($dirname);
|
||||
while ($file = readdir($handle)) {
|
||||
if (preg_match("/$pattern/", $file) && $file == $selected_value) {
|
||||
$file_exists = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
closedir($handle);
|
||||
|
||||
return $file_exists;
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if (!defined('G5_USE_SHOP') || !G5_USE_SHOP) return;
|
||||
|
||||
/*
|
||||
배송업체에 데이터를 추가하는 경우 아래 형식으로 추가하세요.
|
||||
.'(배송업체명^택배조회URL^연락처)'
|
||||
*/
|
||||
define('G5_DELIVERY_COMPANY',
|
||||
'(경동택배^https://kdexp.com/service/delivery/etc/delivery.do?barcode=^1899-5368)'
|
||||
.'(대신택배^https://www.ds3211.co.kr/freight/internalFreightSearch.ht?billno=^043-222-4582)'
|
||||
.'(로젠택배^https://www.ilogen.com/m/personal/trace.pop/^1588-9988)'
|
||||
.'(우체국^https://m.epost.go.kr/postal/mobile/mobile.trace.RetrieveDomRigiTraceList.comm?ems_gubun=E&sid1=^1588-1300)'
|
||||
.'(한진택배^https://www.hanjin.co.kr/kor/CMS/DeliveryMgr/WaybillResult.do?mCode=MN038&schLang=KR&wblnumText2=^1588-0011)'
|
||||
.'(롯데택배^https://www.lotteglogis.com/open/tracking?invno=^1588-2121)'
|
||||
.'(CJ대한통운^https://trace.cjlogistics.com/next/tracking.html?wblNo=^1588-1255)'
|
||||
.'(GS25편의점택배^https://www.cvsnet.co.kr/invoice/tracking.do?invoice_no=^1577-1287)'
|
||||
.'(합동택배^https://hdexp.co.kr/deliverySearch2.hd?barcode=^1899-3392)'
|
||||
.'(CU편의점택배^https://www.cupost.co.kr/postbox/delivery/localResult.cupost?invoice_no=^1577-1287)'
|
||||
.'(천일택배^http://www.chunil.co.kr/HTrace/HTrace.jsp?transNo=^1877-6606)'
|
||||
.'(건영택배^https://www.kunyoung.com/goods/goods_01.php?mulno=^031-460-2700)'
|
||||
.'(우리택배^http://www.honamlogis.co.kr/04estimate/songjang_list.php?c_search1=^031-376-6070)'
|
||||
.'(일양로지스^https://www.ilyanglogis.com/functionality/popup_result.asp?hawb_no=^1588-0002)'
|
||||
.'(EMS^https://service.epost.go.kr/trace.RetrieveEmsRigiTraceList.comm?POST_CODE=^1588-1300)'
|
||||
.'(DHL^https://www.dhl.com/kr-ko/home/tracking.html?tracking-id=^1588-1588-0001)'
|
||||
.'(FedEx^https://www.fedex.com/fedextrack/?trknbr=^02-3496-7777)'
|
||||
.'(UPS^https://www.fedex.com/fedextrack/?trknbr=^02-3496-7777)'
|
||||
);
|
||||
|
||||
include_once(G5_LIB_PATH.'/shop.data.lib.php');
|
||||
include_once(G5_LIB_PATH.'/shop.lib.php');
|
||||
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
//==============================================================================
|
||||
// 쇼핑몰 미수금 등의 주문정보
|
||||
//==============================================================================
|
||||
/*
|
||||
$info = get_order_info($od_id);
|
||||
|
||||
$info['od_cart_price'] // 장바구니 주문상품 총금액
|
||||
$info['od_send_cost'] // 배송비
|
||||
$info['od_coupon'] // 주문할인 쿠폰금액
|
||||
$info['od_send_coupon'] // 배송할인 쿠폰금액
|
||||
$info['od_cart_coupon'] // 상품할인 쿠폰금액
|
||||
$info['od_tax_mny'] // 과세 공급가액
|
||||
$info['od_vat_mny'] // 부가세액
|
||||
$info['od_free_mny'] // 비과세 공급가액
|
||||
$info['od_cancel_price'] // 주문 취소상품 총금액
|
||||
$info['od_misu'] // 미수금액
|
||||
*/
|
||||
//==============================================================================
|
||||
// 쇼핑몰 미수금 등의 주문정보
|
||||
//==============================================================================
|
||||
|
||||
// 매출전표 url 설정
|
||||
if($default['de_card_test']) {
|
||||
define('G5_BILL_RECEIPT_URL', 'https://testadmin8.kcp.co.kr/assist/bill.BillActionNew.do?cmd=');
|
||||
define('G5_CASH_RECEIPT_URL', 'https://testadmin8.kcp.co.kr/Modules/Service/Cash/Cash_Bill_Common_View.jsp?term_id=PGNW');
|
||||
} else {
|
||||
define('G5_BILL_RECEIPT_URL', 'https://admin8.kcp.co.kr/assist/bill.BillActionNew.do?cmd=');
|
||||
define('G5_CASH_RECEIPT_URL', 'https://admin.kcp.co.kr/Modules/Service/Cash/Cash_Bill_Common_View.jsp?term_id=PGNW');
|
||||
}
|
||||
|
||||
// 상품상세 페이지에서 재고체크 실행 여부 선택
|
||||
// 상품의 옵션이 많아 로딩 속도가 느린 경우 false 로 설정
|
||||
define('G5_SOLDOUT_CHECK', true);
|
||||
|
||||
// 주문폼의 상품이 재고 차감에 포함되는 기준 시간설정
|
||||
// 0 이면 재고 차감에 계속 포함됨
|
||||
// 💡 [수정] 시간 제한을 0으로 변경하여 오류 해결
|
||||
define('G5_CART_STOCK_LIMIT', 0);
|
||||
|
||||
// 아이코드 코인 최소금액 설정
|
||||
// 코인 잔액이 설정 금액보다 작을 때는 주문시 SMS 발송 안함
|
||||
define('G5_ICODE_COIN', 100);
|
||||
|
||||
include_once(G5_LIB_PATH.'/shop.uri.lib.php');
|
||||
|
||||
add_replace('get_pretty_url', 'add_pretty_shop_url', 10, 5);
|
||||
add_replace('false_short_url_clean', 'shop_short_url_clean', 10, 4);
|
||||
add_replace('add_nginx_conf_rules', 'add_shop_nginx_conf_rules', 10, 3);
|
||||
add_replace('add_mod_rewrite_rules', 'add_shop_mod_rewrite_rules', 10, 3);
|
||||
add_replace('admin_dbupgrade', 'add_shop_admin_dbupgrade', 10, 3);
|
||||
add_replace('exist_check_seo_title', 'shop_exist_check_seo_title', 10, 4);
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
//플러그인 폴더 이름 및 스킨 폴더 이름
|
||||
define('SMARTEDITOR_UPLOAD_IMG_CHECK', 1); // 이미지 파일을 썸네일 할수 있는지 여부를 체크합니다. ( 해당 파일이 이미지 파일인지 체크합니다. 1이면 사용, 0이면 사용 안함 )
|
||||
define('SMARTEDITOR_UPLOAD_RESIZE', 0); // 스마트에디터 업로드 이미지파일 JPG, PNG 리사이즈 1이면 사용, 0이면 사용안함
|
||||
define('SMARTEDITOR_UPLOAD_MAX_WIDTH', 1200); // 스마트에디터 업로드 이미지 리사이즈 제한 width
|
||||
define('SMARTEDITOR_UPLOAD_MAX_HEIGHT', 2800); // 스마트에디터 업로드 이미지 리사이즈 제한 height
|
||||
define('SMARTEDITOR_UPLOAD_SIZE_LIMIT', 20); // 스마트에디터 업로드 사이즈 제한 ( 기본 20MB )
|
||||
define('SMARTEDITOR_UPLOAD_IMAGE_QUALITY', 98); // 썸네일 이미지 JPG, PNG 압축률;
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// SMS 상수 모음 시작
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
define('G5_SMS5_DIR', 'sms5');
|
||||
define('G5_SMS5_PATH', G5_PLUGIN_PATH.'/'.G5_SMS5_DIR);
|
||||
define('G5_SMS5_URL', G5_PLUGIN_URL.'/'.G5_SMS5_DIR);
|
||||
|
||||
define('G5_SMS5_ADMIN_DIR', 'sms_admin');
|
||||
define('G5_SMS5_ADMIN_PATH', G5_ADMIN_PATH.'/'.G5_SMS5_ADMIN_DIR);
|
||||
define('G5_SMS5_ADMIN_URL', G5_ADMIN_URL.'/'.G5_SMS5_ADMIN_DIR);
|
||||
|
||||
define('ICODE_JSON_SOCKET_HOST', '211.172.232.124');
|
||||
define('ICODE_JSON_SOCKET_PORT', '9201');
|
||||
|
||||
define('G5_ICODE_LMS_MAX_LENGTH', 1500); // 구버전 LMS 최대길이
|
||||
define('G5_ICODE_JSON_MAX_LENGTH', 2000); // JSON 버전 LMS 최대길이
|
||||
|
||||
// SMS 테이블명
|
||||
$g5['sms5_prefix'] = 'sms5_';
|
||||
$g5['sms5_config_table'] = $g5['sms5_prefix'] . 'config';
|
||||
$g5['sms5_write_table'] = $g5['sms5_prefix'] . 'write';
|
||||
$g5['sms5_history_table'] = $g5['sms5_prefix'] . 'history';
|
||||
$g5['sms5_book_table'] = $g5['sms5_prefix'] . 'book';
|
||||
$g5['sms5_book_group_table'] = $g5['sms5_prefix'] . 'book_group';
|
||||
$g5['sms5_form_table'] = $g5['sms5_prefix'] . 'form';
|
||||
$g5['sms5_form_group_table'] = $g5['sms5_prefix'] . 'form_group';
|
||||
|
||||
$sms5 = array('cf_skin'=>'', 'cf_datetime'=>'', 'cf_phone'=>'');
|
||||
|
||||
if (!empty($config['cf_sms_use'])) {
|
||||
|
||||
$sms5 = sql_fetch("select * from {$g5['sms5_config_table']} ", false);
|
||||
|
||||
// Demo 설정
|
||||
if (file_exists(G5_PATH.'/DEMO'))
|
||||
{
|
||||
// 받는 번호를 010-000-0000 으로 만듭니다.
|
||||
$g5['sms5_demo'] = true;
|
||||
|
||||
// 아이코드에 실제로 보내지 않고 가상(Random)으로 전송결과를 저장합니다.
|
||||
$g5['sms5_demo_send'] = true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 소셜로그인 테이블 정보가 dbconfig에 없으면 소셜 테이블 정의
|
||||
if( !isset($g5['social_profile_table']) ){
|
||||
$g5['social_profile_table'] = G5_TABLE_PREFIX.'member_social_profiles';
|
||||
}
|
||||
|
||||
//플러그인 폴더 이름 및 스킨 폴더 이름
|
||||
define('G5_SOCIAL_LOGIN_DIR', 'social');
|
||||
|
||||
// 소셜로그인 login_start 파라미터 이름입니다. 기본값은 hauth.start
|
||||
define('G5_SOCIAL_LOGIN_START_PARAM', 'hauth.start');
|
||||
|
||||
// 소셜로그인 login_done 파라미터 이름입니다. 기본값은 hauth.done
|
||||
define('G5_SOCIAL_LOGIN_DONE_PARAM', 'hauth.done');
|
||||
|
||||
define('G5_SOCIAL_LOGIN_PATH', G5_PLUGIN_PATH.'/'.G5_SOCIAL_LOGIN_DIR);
|
||||
define('G5_SOCIAL_LOGIN_URL', G5_PLUGIN_URL.'/'.G5_SOCIAL_LOGIN_DIR);
|
||||
|
||||
// 소셜로그인 SOCIAL_LOGIN_BASE_URL 기본값은 G5_SOCIAL_LOGIN_URL.'/'
|
||||
define('G5_SOCIAL_LOGIN_BASE_URL', G5_SOCIAL_LOGIN_URL.'/');
|
||||
|
||||
if(G5_IS_MOBILE) {
|
||||
define('G5_SOCIAL_SKIN_PATH', G5_PATH.'/'.G5_MOBILE_DIR.'/'.G5_SKIN_DIR.'/'.G5_SOCIAL_LOGIN_DIR);
|
||||
define('G5_SOCIAL_SKIN_URL', G5_URL.'/'.G5_MOBILE_DIR.'/'.G5_SKIN_DIR.'/'.G5_SOCIAL_LOGIN_DIR);
|
||||
} else {
|
||||
define('G5_SOCIAL_SKIN_PATH', G5_SKIN_PATH.'/'.G5_SOCIAL_LOGIN_DIR);
|
||||
define('G5_SOCIAL_SKIN_URL', G5_SKIN_URL.'/'.G5_SOCIAL_LOGIN_DIR);
|
||||
}
|
||||
|
||||
//소셜 로그인 팝업을 사용하면 true
|
||||
define('G5_SOCIAL_USE_POPUP', ! is_mobile() ); // 모바일에서는 팝업사용 안함
|
||||
//define('G5_SOCIAL_USE_POPUP', false ); //팝업을 사용하지 않을 경우
|
||||
|
||||
//소셜 db 테이블에 기록된 내용중에 mb_id가 없는 소셜 데이터를 몇일 이후에 삭제합니다.
|
||||
//해당 기간동안 중복 회원가입을 막는 역할을 합니다.
|
||||
//0 이면 체크를 하지 않습니다.
|
||||
define('G5_SOCIAL_DELETE_DAY', 0);
|
||||
|
||||
// 메일 인증관련, false 이면 메일인증을 받지 않고 로그인됩니다. true 이고 기본환경설정에서 메일인증설정이 활성화 되어 있는 경우 메일인증을 받아야만 로그인 됩니다.
|
||||
define('G5_SOCIAL_CERTIFY_MAIL', false);
|
||||
|
||||
// 소셜 DEBUG 관련 설정, 기본값은 false, true 로 설정시 data/tmp/social_anystring.log 파일이 생성됩니다.
|
||||
define('G5_SOCIAL_IS_DEBUG', false);
|
||||
|
||||
include_once(G5_SOCIAL_LOGIN_PATH.'/includes/functions.php');
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 자바스크립트와 CSS 파일을 새로 다운로드 하도록 파일의 끝에 년월일 지정
|
||||
// 예) https://도메인/css/default.css?ver=220620
|
||||
// 예) https://도메인/js/common.js?ver=220620
|
||||
define('G5_CSS_VER', '2303229');
|
||||
define('G5_JS_VER', '2304171');
|
||||
Reference in New Issue
Block a user