216 lines
8.6 KiB
PHP
216 lines
8.6 KiB
PHP
<?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);
|
|
|
|
// 퍼스트가든 관리페이지용 경로 상수
|
|
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); //핸드폰번호만 이용한다면 이것만있어도됨
|
|
}
|
|
|
|
}
|