edit gitignore and add extend, head.sub.php edit
This commit is contained in:
53
.gitignore
vendored
53
.gitignore
vendored
@ -1,29 +1,23 @@
|
||||
# 백업 및 임시 파일 (요청하신 부분)
|
||||
# ==========================================
|
||||
# 1. 공통 무시 설정 (OS, 에디터, 로그, 임시파일)
|
||||
# ==========================================
|
||||
*.bak
|
||||
*.tmp
|
||||
*.temp
|
||||
*~
|
||||
~*
|
||||
|
||||
# OS 자동 생성 시스템 파일
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
desktop.ini
|
||||
|
||||
# 로그 및 런타임 파일
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# 환경 변수 및 비밀번호 (보안 필수)
|
||||
.env
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
|
||||
# IDE 및 편집기 설정 파일
|
||||
.idea/
|
||||
.vscode/
|
||||
*.suo
|
||||
@ -32,35 +26,42 @@ yarn-error.log*
|
||||
*.sln
|
||||
*.swp
|
||||
|
||||
# 1. 먼저 프로젝트 루트의 모든 파일과 폴더를 제외합니다.
|
||||
# ==========================================
|
||||
# 2. 프로젝트 최상위 화이트리스트 (전체 차단 후 허용)
|
||||
# ==========================================
|
||||
# 최상위 경로의 모든 파일과 폴더를 우선 제외합니다.
|
||||
/*
|
||||
|
||||
# 2. 필수 설정 파일들은 예외로 두어 Git 관리 대상에 포함합니다.
|
||||
# 최상위 경로에서 추적할 파일만 예외로 허용합니다.
|
||||
!.gitignore
|
||||
!.env.example
|
||||
!docker-compose.yml
|
||||
|
||||
# 상위폴더 권한허용
|
||||
# web 폴더 내부로 Git이 접근할 수 있도록 허용합니다.
|
||||
!/web/
|
||||
#/web/*
|
||||
|
||||
# ==========================================
|
||||
# 3. web 폴더 내부 설정
|
||||
# ==========================================
|
||||
# 🎯 conf.d 폴더와 그 내부의 파일(.ini 포함) 모두 추적 허용
|
||||
!/web/conf.d/
|
||||
|
||||
# html 폴더로 접근 허용
|
||||
!/web/html/
|
||||
|
||||
# html 폴더 안의 모든 것을 기본적으로 무시합니다.
|
||||
/web/html/*
|
||||
|
||||
# 3. theme 폴더와 그 내부의 모든 것을 포함합니다.
|
||||
# 🎯 html 폴더 안에서 실제로 추적할 폴더만 예외 처리
|
||||
# (이렇게 폴더 자체를 예외 처리하면 내부의 모든 파일과 하위 폴더가 자동으로 추적됩니다)
|
||||
!/web/html/theme/
|
||||
/web/html/theme/*
|
||||
!/web/html/theme/*/
|
||||
/web/html/theme/basic/
|
||||
|
||||
# 4. extend 폴더와 그 내부의 모든 것을 포함합니다.
|
||||
/web/html/theme/basic
|
||||
!/web/html/extend/
|
||||
/web/html/extend/*
|
||||
!/web/html/extend/*/
|
||||
|
||||
!/web/conf.d/
|
||||
/web/conf.d/*
|
||||
!/web/conf.d/*/
|
||||
|
||||
# (선택) 만약 db 폴더나 web/data 등 docker 실행 파일들이 루트에 있다면
|
||||
# 위에서 /* 로 이미 제외되었기 때문에 안전하지만, 명시적으로 적어주어도 좋습니다.
|
||||
# ==========================================
|
||||
# 4. 명시적 제외 구역
|
||||
# ==========================================
|
||||
# (참고: 상단의 /* 와 /web/html/* 로 이미 무시되었지만 확실히 명시)
|
||||
/db/
|
||||
/web/html/data/
|
||||
|
||||
1
web/html/extend/.htaccess
Normal file
1
web/html/extend/.htaccess
Normal file
@ -0,0 +1 @@
|
||||
# .htaccess
|
||||
4
web/html/extend/clientip.extend.php
Normal file
4
web/html/extend/clientip.extend.php
Normal file
@ -0,0 +1,4 @@
|
||||
<?php
|
||||
if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
|
||||
$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
|
||||
}
|
||||
20
web/html/extend/debugbar.extend.php
Normal file
20
web/html/extend/debugbar.extend.php
Normal file
@ -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' );
|
||||
}
|
||||
12
web/html/extend/default.config.php
Normal file
12
web/html/extend/default.config.php
Normal file
@ -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);
|
||||
224
web/html/extend/firstgarden.php
Normal file
224
web/html/extend/firstgarden.php
Normal file
@ -0,0 +1,224 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 퍼스트가든 관련 경로 설정
|
||||
define('FG_DIR', 'fg_data');
|
||||
define('FG_DATA_URL', G5_URL.'/'.FG_DIR);
|
||||
define('FG_DATA_PATH', G5_PATH.'/'.FG_DIR);
|
||||
|
||||
// 퍼스트가든 패밀리사이트 URL 설정
|
||||
define('FG_URL', 'https://firstgarden.co.kr');
|
||||
define('FG_WEDDING_URL', 'https://wedding.firstgarden.co.kr');
|
||||
define('FG_WATERPLAY_URL', 'http://192.168.0.240:81');
|
||||
define('FG_HEEGARDEN_URL', 'http://192.168.0.240');
|
||||
|
||||
|
||||
/*
|
||||
// 퍼스트가든 관리페이지용 경로 상수
|
||||
define('FG_MANAGER_DIR', 'manager');
|
||||
|
||||
define('FG_MANAGER_URL', G5_URL.'/'.FG_MANAGER_DIR);
|
||||
define('FG_MANAGER_PATH', G5_PATH.'/'.FG_MANAGER_DIR);
|
||||
|
||||
// define('FG_MANAGER_URL', G5_ADMIN_URL.'/'.FG_MANAGER_DIR);
|
||||
// define('FG_MANAGER_PATH', G5_ADMIN_PATH.'/'.FG_MANAGER_DIR);
|
||||
|
||||
|
||||
// 퍼스트가든 caf24 CDN 경로
|
||||
include_once G5_PATH.'/fg_config.php';
|
||||
// define('CDN_URL', G5_URL.'/image');
|
||||
// define('CDN_URL', 'https://firstgarden.cdn3.cafe24.com');
|
||||
/*
|
||||
// 연간회원권 상품 목록 (상품명 => 상품코드)
|
||||
$annual_items = [
|
||||
'빅5' => '1744799759',
|
||||
'일반' => '1744817586',
|
||||
];
|
||||
|
||||
|
||||
// 퍼스트가든 관리페이지 adm 페이지로 전환
|
||||
// /adm/admin.menuXXX.php 파일이 없는 경우, 새 메뉴 그룹이 없기 때문에, 강제로 메뉴파일 배열을 추가 hook (gnuwiz)
|
||||
if(! function_exists('add_admin_amenu_update') ) {
|
||||
add_replace('admin_amenu', 'add_admin_amenu_update', 1, 1);
|
||||
function add_admin_amenu_update($amenu) {
|
||||
$amenu['998'] = '';
|
||||
return $amenu;
|
||||
}
|
||||
}
|
||||
|
||||
// 관리자메뉴에 커스텀 메뉴를 동적으로 추가 hook (gnuwiz)
|
||||
if(! function_exists('add_admin_menu_update') ) {
|
||||
add_replace('admin_menu', 'add_admin_menu_update', 1, 1);
|
||||
function add_admin_menu_update($menu) {
|
||||
$menu['menu998'] = array();
|
||||
array_push($menu['menu998'],
|
||||
array('998000', '퍼스트가든', G5_ADMIN_URL . '/fg_admin/bakery/bakery_stock.php', 'firstgarden'),
|
||||
array('998010', '베이커리 재고관리', G5_ADMIN_URL . '/fg_admin/bakery/bakery_stock_adm.php', 'firstgarden'),
|
||||
array('998020', '베이커리 목록관리', G5_ADMIN_URL . '/fg_admin/bakery/bakery_product_list.php', 'firstgarden'),
|
||||
array('998210', 'VIP 명단관리', G5_ADMIN_URL . '/fg_admin/vip/vip_list.php', 'firstgarden'),
|
||||
array('998220', 'VIP 구분관리', G5_ADMIN_URL . '/fg_admin/vip/vip_list_category.php', 'firstgarden'),
|
||||
array('998310', '연간회원 명단관리', G5_ADMIN_URL . '/fg_admin/annual_member/annual_member_list.php', 'firstgarden'),
|
||||
array('998320', '연간회원 구분관리', G5_ADMIN_URL . '/fg_admin/annual_member/annual_member_category.php', 'firstgarden'),
|
||||
array('998411', '매표소주문확인', G5_ADMIN_URL.'/fg_admin/orderlist_ticket.php', 'firstgarden'),
|
||||
array('998421', '혜윰주문확인', G5_ADMIN_URL.'/fg_admin/orderlist_hy.php', 'firstgarden'),
|
||||
array('998431', 'B2B주문확인', G5_ADMIN_URL.'/fg_admin/orderlist_b2b.php', 'firstgarden'),
|
||||
array('998412', '관리자주문확인', G5_ADMIN_URL . '/fg_admin/orderlist_admin.php', 'firstgarden'),
|
||||
array('998413', '관지라월정산용', G5_ADMIN_URL . '/fg_admin/orderlist_admin_sum.php', 'firstgarden'),
|
||||
);
|
||||
return $menu;
|
||||
}
|
||||
}
|
||||
|
||||
// 새 글 작성 시 알림
|
||||
// add_event('write_update_after', 'curl_tele_sent' G5_HOOK_DEFAULT_PRIORITY, 5);
|
||||
|
||||
// 텔레그램 메시지 보내기
|
||||
// 사용법 curl_tele_sent(메세지);
|
||||
if(! function_exists('curl_tele_sent')) {
|
||||
function curl_tele_sent($text){
|
||||
if(!$text){
|
||||
exit("No Data!!");
|
||||
} // end
|
||||
|
||||
$ch = curl_init();
|
||||
$api_code = ""; // 900~
|
||||
$chat_id = ""; // 822~~
|
||||
$curl_url = "https://api.telegram.org/bot{$api_code}/sendMessage?chat_id={$chat_id}&text={$text}";
|
||||
@curl_setopt($ch, CURLOPT_URL, $curl_url);
|
||||
@curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
@curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
|
||||
@curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
$exec = curl_exec($ch);
|
||||
} // curl_tele_sent end
|
||||
}
|
||||
|
||||
// 주문이 실행되는 경우 연간회원권 주문인지 확인하고, 연간회원권이라면 회원정보 입력 페이지로 이동시킴
|
||||
if (!function_exists('add_annual_member')) {
|
||||
function add_annual_member($od_id) {
|
||||
global $g5, $annual_items;
|
||||
|
||||
// 상품코드 배열만 추출
|
||||
$annu_item_code = array_values($annual_items);
|
||||
|
||||
$sql = "SELECT it_id, ct_qty FROM {$g5['g5_shop_cart_table']} WHERE od_id = '{$od_id}'";
|
||||
$result = sql_query($sql);
|
||||
|
||||
$total_qty = 0;
|
||||
while ($row = sql_fetch_array($result)) {
|
||||
if (in_array($row['it_id'], $annu_item_code)) {
|
||||
$total_qty += (int)$row['ct_qty'];
|
||||
}
|
||||
}
|
||||
|
||||
if ($total_qty > 0) {
|
||||
send_annual_member_notice($od_id, $total_qty);
|
||||
}
|
||||
}
|
||||
add_event('fg_orderformupdate_after', 'add_annual_member', G5_HOOK_DEFAULT_PRIORITY, 1);
|
||||
}
|
||||
|
||||
// SMS 발송
|
||||
function send_annual_member_notice($od_id, $qty) {
|
||||
global $g5;
|
||||
|
||||
$od = sql_fetch("SELECT od_name, od_hp, od_email FROM {$g5['g5_shop_order_table']} WHERE od_id = '{$od_id}'");
|
||||
|
||||
$link = G5_URL . "/manager/annu_member_insert.php?od_id={$od_id}";
|
||||
|
||||
$message = "주문하신 연간회원권 {$qty}건에 대한 회원정보 입력이 필요합니다.\n"
|
||||
. "아래 링크를 통해 회원 정보를 입력해주세요:\n{$link}";
|
||||
|
||||
// SMS 발송 (예시)
|
||||
annu_send_sms(preg_replace('/[^0-9]/', '', $od['od_hp']), $message);
|
||||
|
||||
// 메일 발송 (예시)
|
||||
/*
|
||||
$subject = "연간회원권 회원정보 입력 안내";
|
||||
$body = "안녕하세요, {$od['od_name']}님.\n\n"
|
||||
. "주문하신 연간회원권 {$qty}건에 대한 회원정보 입력이 필요합니다.\n"
|
||||
. "아래 링크를 클릭하여 입력해주세요.\n\n"
|
||||
. "{$link}\n\n감사합니다.";
|
||||
send_mail($od['od_email'], $subject, $body);
|
||||
*//*
|
||||
}
|
||||
|
||||
function annu_send_sms($phone, $message) {
|
||||
global $config, $default, $g5;
|
||||
|
||||
if (!$config['cf_sms_use'] || !$phone || !$message) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$recv_number = preg_replace("/[^0-9]/", "", $phone);
|
||||
$send_number = preg_replace("/[^0-9]/", "", $default['de_admin_company_tel']);
|
||||
|
||||
if (!$recv_number) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$sms_messages = [
|
||||
['recv' => $recv_number, 'send' => $send_number, 'cont' => $message]
|
||||
];
|
||||
|
||||
$sms_count = 1;
|
||||
|
||||
if ($sms_count > 0) {
|
||||
if ($config['cf_sms_type'] == 'LMS') {
|
||||
include_once(G5_LIB_PATH . '/icode.lms.lib.php');
|
||||
|
||||
$port_setting = get_icode_port_type($config['cf_icode_id'], $config['cf_icode_pw']);
|
||||
if ($port_setting !== false) {
|
||||
$SMS = new LMS;
|
||||
$SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting);
|
||||
|
||||
foreach ($sms_messages as $sms) {
|
||||
$strDest = [$sms['recv']];
|
||||
$strCallBack = $sms['send'];
|
||||
$strCaller = iconv_euckr(trim($default['de_admin_company_name']));
|
||||
$strSubject = '';
|
||||
$strURL = '';
|
||||
$strData = iconv_euckr($sms['cont']);
|
||||
$strDate = '';
|
||||
$nCount = count($strDest);
|
||||
|
||||
$SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount);
|
||||
$SMS->Send();
|
||||
$SMS->Init();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
include_once(G5_LIB_PATH . '/icode.sms.lib.php');
|
||||
|
||||
$SMS = new SMS;
|
||||
$SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
|
||||
|
||||
foreach ($sms_messages as $sms) {
|
||||
$recv_number = $sms['recv'];
|
||||
$send_number = $sms['send'];
|
||||
$sms_content = iconv_euckr($sms['cont']);
|
||||
|
||||
$SMS->Add($recv_number, $send_number, $config['cf_icode_id'], $sms_content, "");
|
||||
}
|
||||
$SMS->Send();
|
||||
$SMS->Init();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
*/
|
||||
// 전화번호에 하이픈 추가
|
||||
function add_hyphen($tel){
|
||||
$tel = preg_replace("/[^0-9]*/s","",$tel); //숫자이외 제거
|
||||
|
||||
if (substr($tel,0,2) =='02'){
|
||||
return preg_replace("/([0-9]{2})([0-9]{3,4})([0-9]{4})$/","\\1-\\2-\\3", $tel);
|
||||
} else if(substr($tel,0,2) =='8' && substr($tel,0,2) =='15' || substr($tel,0,2) =='16'|| substr($tel,0,2) =='18' ) {
|
||||
return preg_replace("/([0-9]{4})([0-9]{4})$/","\\1-\\2",$tel); // 지능망 번호이면
|
||||
} else {
|
||||
return preg_replace("/([0-9]{3})([0-9]{3,4})([0-9]{4})$/","\\1-\\2-\\3" ,$tel); //핸드폰번호만 이용한다면 이것만있어도됨
|
||||
}
|
||||
|
||||
}
|
||||
69
web/html/extend/g5_54version_update.extend.php
Normal file
69
web/html/extend/g5_54version_update.extend.php
Normal file
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
84
web/html/extend/shop.extend.php
Normal file
84
web/html/extend/shop.extend.php
Normal file
@ -0,0 +1,84 @@
|
||||
<?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 이면 재고 차감에 계속 포함됨
|
||||
define('G5_CART_STOCK_LIMIT', 3);
|
||||
|
||||
// 아이코드 코인 최소금액 설정
|
||||
// 코인 잔액이 설정 금액보다 작을 때는 주문시 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);
|
||||
10
web/html/extend/smarteditor_upload_extend.php
Normal file
10
web/html/extend/smarteditor_upload_extend.php
Normal file
@ -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 압축률;
|
||||
47
web/html/extend/sms5.extend.php
Normal file
47
web/html/extend/sms5.extend.php
Normal file
@ -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'] = G5_TABLE_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;
|
||||
}
|
||||
}
|
||||
47
web/html/extend/social_login.extend.php
Normal file
47
web/html/extend/social_login.extend.php
Normal file
@ -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');
|
||||
8
web/html/extend/version.extend.php
Normal file
8
web/html/extend/version.extend.php
Normal file
@ -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');
|
||||
@ -4,6 +4,14 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
$g5_debug['php']['begin_time'] = $begin_time = get_microtime();
|
||||
|
||||
// 게시판이고 page가 선언되지 않거나 0인 경우 '페이지' 문구 제거
|
||||
if (isset($bo_table)) {
|
||||
global $page;
|
||||
if (!$page || $page < 1) {
|
||||
$g5['title'] = preg_replace('/\s*[0-9]*\s*페이지/u', '', $g5['title']);
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($g5['title'])) {
|
||||
$g5['title'] = $config['cf_title'];
|
||||
$g5_head_title = $g5['title'];
|
||||
|
||||
Reference in New Issue
Block a user