diff --git a/README.md b/README.md
index ba0467ded..f860d687d 100644
--- a/README.md
+++ b/README.md
@@ -65,6 +65,18 @@ cd gnuboard5
> 기존 사이트에 재설치하면 데이터가 삭제될 수 있습니다. 진행하기 전에 파일과 데이터베이스를 백업하십시오.
+### 기존 설치 업데이트
+
+소스 코드를 업데이트한 뒤 데이터베이스 변경이 포함된 버전은 관리자 메뉴의 **환경설정 → DB업그레이드**에서 변경 내용을 확인하고 명시적으로 실행합니다. 배포 자동화에서는 CLI 실행을 권장합니다.
+
+```bash
+php bin/db-migrate.php status
+php bin/db-migrate.php migrate
+php bin/check-runtime-ddl.php
+```
+
+운영 절차와 마이그레이션 작성 규칙은 [데이터베이스 마이그레이션 문서](docs/database-migrations.md)를 확인하십시오.
+
## 문서 및 지원
- [그누보드5 공식 페이지](https://sir.kr/main/g5/)
diff --git a/adm/board_form.php b/adm/board_form.php
index 640fffd55..7a4a723cd 100644
--- a/adm/board_form.php
+++ b/adm/board_form.php
@@ -13,81 +13,20 @@ if (!$row['cnt']) {
$html_title = '게시판';
-if (!isset($board['bo_device'])) {
- // 게시판 사용 필드 추가
- // both : pc, mobile 둘다 사용
- // pc : pc 전용 사용
- // mobile : mobile 전용 사용
- // none : 사용 안함
- sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_device` ENUM( 'both', 'pc', 'mobile' ) NOT NULL DEFAULT 'both' AFTER `bo_subject` ", false);
-}
-if (!isset($board['bo_mobile_skin'])) {
- sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_mobile_skin` VARCHAR(255) NOT NULL DEFAULT '' AFTER `bo_skin` ", false);
-}
-if (!isset($board['bo_gallery_width'])) {
- sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_gallery_width` INT NOT NULL AFTER `bo_gallery_cols`, ADD `bo_gallery_height` INT NOT NULL DEFAULT '0' AFTER `bo_gallery_width`, ADD `bo_mobile_gallery_width` INT NOT NULL DEFAULT '0' AFTER `bo_gallery_height`, ADD `bo_mobile_gallery_height` INT NOT NULL DEFAULT '0' AFTER `bo_mobile_gallery_width` ", false);
-}
-if (!isset($board['bo_mobile_subject_len'])) {
- sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_mobile_subject_len` INT(11) NOT NULL DEFAULT '0' AFTER `bo_subject_len` ", false);
-}
-if (!isset($board['bo_mobile_page_rows'])) {
- sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_mobile_page_rows` INT(11) NOT NULL DEFAULT '0' AFTER `bo_page_rows` ", false);
-}
-if (!isset($board['bo_mobile_content_head'])) {
- sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_mobile_content_head` TEXT NOT NULL AFTER `bo_content_head`, ADD `bo_mobile_content_tail` TEXT NOT NULL AFTER `bo_content_tail`", false);
-}
-if (!isset($board['bo_use_cert'])) {
- sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_use_cert` ENUM('','cert','adult') NOT NULL DEFAULT '' AFTER `bo_use_email` ", false);
-}
-if (!isset($board['bo_use_sns'])) {
- sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_use_sns` TINYINT NOT NULL DEFAULT '0' AFTER `bo_use_cert` ", false);
-
- $result = sql_query(" select bo_table from `{$g5['board_table']}` ");
- for ($i=0; $row=sql_fetch_array($result); $i++) {
- sql_query(
- " ALTER TABLE `{$g5['write_prefix']}{$row['bo_table']}`
- ADD `wr_facebook_user` VARCHAR(255) NOT NULL DEFAULT '' AFTER `wr_ip`,
- ADD `wr_twitter_user` VARCHAR(255) NOT NULL DEFAULT '' AFTER `wr_facebook_user` ", false
- );
- }
-}
$sql = " SHOW COLUMNS FROM `{$g5['board_table']}` LIKE 'bo_use_cert' ";
$row = sql_fetch($sql);
-if (strpos($row['Type'], 'hp-') === false) {
- sql_query(" ALTER TABLE `{$g5['board_table']}` CHANGE `bo_use_cert` `bo_use_cert` ENUM('','cert','adult','hp-cert','hp-adult') NOT NULL DEFAULT '' ", false);
-}
-if (!isset($board['bo_use_list_file'])) {
- sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_use_list_file` TINYINT NOT NULL DEFAULT '0' AFTER `bo_use_list_view` ", false);
- $result = sql_query(" select bo_table from `{$g5['board_table']}` ");
- for ($i=0; $row=sql_fetch_array($result); $i++) {
- sql_query(
- " ALTER TABLE `{$g5['write_prefix']}{$row['bo_table']}`
- ADD `wr_file` TINYINT NOT NULL DEFAULT '0' AFTER `wr_datetime` ", false
- );
- }
-}
-if (!isset($board['bo_mobile_subject'])) {
- sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_mobile_subject` VARCHAR(255) NOT NULL DEFAULT '' AFTER `bo_subject` ", false);
-}
-if (!isset($board['bo_use_captcha'])) {
- sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_use_captcha` TINYINT NOT NULL DEFAULT '0' AFTER `bo_use_sns` ", false);
-}
-
-if (!isset($board['bo_select_editor'])) {
- sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_select_editor` VARCHAR(50) NOT NULL DEFAULT '' AFTER `bo_use_dhtml_editor` ", false);
-}
$board_default = array(
'bo_mobile_subject'=>'',
@@ -1500,4 +1439,4 @@ function fboardform_submit(f)
/data/dbconfig.php 파일에 $g5[\'content_table\'] = G5_TABLE_PREFIX.\'content\'; 를 추가해 주세요.');
}
//내용(컨텐츠)정보 테이블이 있는지 검사한다.
-if (!sql_query(" DESCRIBE {$g5['content_table']} ", false)) {
- if (sql_query(" DESCRIBE {$g5['g5_shop_content_table']} ", false)) {
- sql_query(" ALTER TABLE {$g5['g5_shop_content_table']} RENAME TO `{$g5['content_table']}` ;", false);
- } else {
- $query_cp = sql_query(
- " CREATE TABLE IF NOT EXISTS `{$g5['content_table']}` (
- `co_id` varchar(20) NOT NULL DEFAULT '',
- `co_html` tinyint(4) NOT NULL DEFAULT '0',
- `co_subject` varchar(255) NOT NULL DEFAULT '',
- `co_content` longtext NOT NULL,
- `co_hit` int(11) NOT NULL DEFAULT '0',
- `co_include_head` varchar(255) NOT NULL,
- `co_include_tail` varchar(255) NOT NULL,
- PRIMARY KEY (`co_id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ",
- true
- );
-
- // 내용관리 생성
- sql_query(" insert into `{$g5['content_table']}` set co_id = 'company', co_html = '1', co_subject = '회사소개', co_content= '
회사소개에 대한 내용을 입력하십시오.
' ", false);
- sql_query(" insert into `{$g5['content_table']}` set co_id = 'privacy', co_html = '1', co_subject = '개인정보 처리방침', co_content= '개인정보 처리방침에 대한 내용을 입력하십시오.
' ", false);
- sql_query(" insert into `{$g5['content_table']}` set co_id = 'provision', co_html = '1', co_subject = '서비스 이용약관', co_content= '서비스 이용약관에 대한 내용을 입력하십시오.
' ", false);
- }
-}
$g5['title'] = '내용관리';
require_once G5_ADMIN_PATH . '/admin.head.php';
diff --git a/adm/dbupgrade.php b/adm/dbupgrade.php
index 1dbd0e60a..e2633ad29 100644
--- a/adm/dbupgrade.php
+++ b/adm/dbupgrade.php
@@ -1,655 +1,164 @@
true, 'applied' => 0, 'skipped' => 0, 'errors' => array());
+
+if ($is_execute) {
+ check_demo();
+ check_admin_token();
+ $migration_id = isset($_POST['migration_id']) ? trim($_POST['migration_id']) : '';
+ $migration_result = g5_migration_run($migration_id);
+ $migration_result = run_replace('admin_dbupgrade_result', $migration_result);
+}
+
+$migration_statuses = g5_migration_status();
+$pending_count = 0;
+foreach ($migration_statuses as $migration_status) {
+ if (isset($migration_status['error']) || $migration_status['status'] !== 'success' || $migration_status['checksum_changed']) {
+ $pending_count++;
+ }
+}
+
+if (!$is_execute) {
+ $db_upgrade_msg = $pending_count ? '적용하지 않은 DB 마이그레이션이 있습니다. 아래 내용을 확인한 뒤 실행해 주십시오.' : 'DB 마이그레이션이 모두 적용되어 있습니다.';
+} elseif (!$migration_result['success']) {
+ $db_upgrade_msg = 'DB 마이그레이션에 실패했습니다. 오류 내용을 확인해 주십시오.';
+} elseif ($migration_result['applied'] || $migration_result['skipped']) {
+ $db_upgrade_msg = 'DB 마이그레이션이 완료되었습니다.';
+} else {
+ $db_upgrade_msg = '적용할 DB 마이그레이션이 없습니다.';
+}
+
$g5['title'] = 'DB 업그레이드';
include_once('./admin.head.php');
-
-$is_check = false;
-
-// 메일 인증 링크 유효시간 설정 추가
-if (!isset($config['cf_email_certify_minutes'])) {
- sql_query("ALTER TABLE `{$g5['config_table']}`
- ADD `cf_email_certify_minutes` int(11) NOT NULL DEFAULT '60' AFTER `cf_use_email_certify`
- ", true);
-
- $is_check = true;
-}
-
-//소셜 로그인 관련 필드 및 구글 리챕챠 필드 추가
-if(!isset($config['cf_social_login_use'])) {
- sql_query("ALTER TABLE `{$g5['config_table']}`
- ADD `cf_social_login_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `cf_googl_shorturl_apikey`,
- ADD `cf_google_clientid` varchar(100) NOT NULL DEFAULT '' AFTER `cf_twitter_secret`,
- ADD `cf_google_secret` varchar(100) NOT NULL DEFAULT '' AFTER `cf_google_clientid`,
- ADD `cf_naver_clientid` varchar(100) NOT NULL DEFAULT '' AFTER `cf_google_secret`,
- ADD `cf_naver_secret` varchar(100) NOT NULL DEFAULT '' AFTER `cf_naver_clientid`,
- ADD `cf_kakao_rest_key` varchar(100) NOT NULL DEFAULT '' AFTER `cf_naver_secret`,
- ADD `cf_social_servicelist` varchar(255) NOT NULL DEFAULT '' AFTER `cf_social_login_use`,
- ADD `cf_payco_clientid` varchar(100) NOT NULL DEFAULT '' AFTER `cf_social_servicelist`,
- ADD `cf_payco_secret` varchar(100) NOT NULL DEFAULT '' AFTER `cf_payco_clientid`,
- ADD `cf_captcha` varchar(100) NOT NULL DEFAULT '' AFTER `cf_kakao_js_apikey`,
- ADD `cf_recaptcha_site_key` varchar(100) NOT NULL DEFAULT '' AFTER `cf_captcha`,
- ADD `cf_recaptcha_secret_key` varchar(100) NOT NULL DEFAULT '' AFTER `cf_recaptcha_site_key`
- ", true);
-
- $is_check = true;
-}
-
-//소셜 로그인 관련 필드 카카오 클라이언트 시크릿 추가
-if(!isset($config['cf_kakao_client_secret'])) {
- sql_query("ALTER TABLE `{$g5['config_table']}`
- ADD `cf_kakao_client_secret` varchar(100) NOT NULL DEFAULT '' AFTER `cf_kakao_rest_key`
- ", true);
-
- $is_check = true;
-}
-
-// 회원 이미지 관련 필드 추가
-if(!isset($config['cf_member_img_size'])) {
- sql_query("ALTER TABLE `{$g5['config_table']}`
- ADD `cf_member_img_size` int(11) NOT NULL DEFAULT '0' AFTER `cf_member_icon_height`,
- ADD `cf_member_img_width` int(11) NOT NULL DEFAULT '0' AFTER `cf_member_img_size`,
- ADD `cf_member_img_height` int(11) NOT NULL DEFAULT '0' AFTER `cf_member_img_width`
- ", true);
-
- $sql = " update {$g5['config_table']} set cf_member_img_size = 50000, cf_member_img_width = 60, cf_member_img_height = 60 ";
- sql_query($sql, false);
-
- $is_check = true;
-}
-
-// 소셜 로그인 관리 테이블 없을 경우 생성
-if( isset($g5['social_profile_table']) && !sql_query(" DESC {$g5['social_profile_table']} ", false)) {
- sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['social_profile_table']}` (
- `mp_no` int(11) NOT NULL AUTO_INCREMENT,
- `mb_id` varchar(255) NOT NULL DEFAULT '',
- `provider` varchar(50) NOT NULL DEFAULT '',
- `object_sha` varchar(45) NOT NULL DEFAULT '',
- `identifier` varchar(255) NOT NULL DEFAULT '',
- `profileurl` varchar(255) NOT NULL DEFAULT '',
- `photourl` varchar(255) NOT NULL DEFAULT '',
- `displayname` varchar(150) NOT NULL DEFAULT '',
- `description` varchar(255) NOT NULL DEFAULT '',
- `mp_register_day` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `mp_latest_day` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- UNIQUE KEY `mp_no` (`mp_no`),
- KEY `mb_id` (`mb_id`),
- KEY `provider` (`provider`)
- ) ", true);
-
- $is_check = true;
-}
-
-// 게시판 짧은 주소
-$sql = " select bo_table from {$g5['board_table']} ";
-$result = sql_query($sql);
-
-while ($row = sql_fetch_array($result)) {
- $write_table = $g5['write_prefix'] . $row['bo_table']; // 게시판 테이블 전체이름
-
- $sql = " SHOW COLUMNS FROM {$write_table} LIKE 'wr_seo_title' ";
- $row = sql_fetch($sql);
-
- if( !$row ){
- sql_query("ALTER TABLE `{$write_table}`
- ADD `wr_seo_title` varchar(200) NOT NULL DEFAULT '' AFTER `wr_content`,
- ADD INDEX `wr_seo_title` (`wr_seo_title`);
- ", false);
-
- $is_check = true;
- }
-}
-
-// 내용 관리 짧은 주소
-$sql = " SHOW COLUMNS FROM `{$g5['content_table']}` LIKE 'co_seo_title' ";
-$row = sql_fetch($sql);
-
-if( !$row ){
- sql_query("ALTER TABLE `{$g5['content_table']}`
- ADD `co_seo_title` varchar(200) NOT NULL DEFAULT '' AFTER `co_content`,
- ADD INDEX `co_seo_title` (`co_seo_title`);
- ", false);
-
- $is_check = true;
-}
-
-$sql = "select * from {$g5['content_table']} limit 100 ";
-$result = sql_query($sql);
-
-while ($row = sql_fetch_array($result)) {
-
- if( ! $row['co_seo_title']){
-
- $co_seo_title = exist_seo_title_recursive('content', generate_seo_title($row['co_subject']), $g5['content_table'], $row['co_id']);
-
- $sql = " update {$g5['content_table']}
- set co_seo_title = '$co_seo_title'
- where co_id = '{$row['co_id']}' ";
- sql_query($sql);
-
- }
-}
-
-// 메모 테이블
-$sql = " SHOW COLUMNS FROM `{$g5['memo_table']}` LIKE 'me_send_id' ";
-$row = sql_fetch($sql);
-
-if( !$row ){
- sql_query("ALTER TABLE `{$g5['memo_table']}`
- ADD `me_send_id` INT(11) NOT NULL DEFAULT '0',
- ADD `me_type` ENUM('send','recv') NOT NULL DEFAULT 'recv',
- ADD `me_send_ip` VARCHAR(100) NOT NULL DEFAULT '',
- CHANGE COLUMN `me_id` `me_id` INT(11) NOT NULL AUTO_INCREMENT;
- ", false);
-
- $is_check = true;
-}
-
-// 읽지 않은 메모 수 칼럼
-if(!isset($member['mb_memo_cnt'])) {
- sql_query(" ALTER TABLE `{$g5['member_table']}`
- ADD `mb_memo_cnt` int(11) NOT NULL DEFAULT '0' AFTER `mb_memo_call`", true);
-
- $is_check = true;
-}
-
-// 스크랩 읽은 수 추가
-if(!isset($member['mb_scrap_cnt'])) {
- sql_query(" ALTER TABLE `{$g5['member_table']}`
- ADD `mb_scrap_cnt` int(11) NOT NULL DEFAULT '0' AFTER `mb_memo_cnt`", true);
-
- $is_check = true;
-}
-
-// 짧은 URL 주소를 사용 여부 필드 추가
-if (!isset($config['cf_bbs_rewrite'])) {
- sql_query(" ALTER TABLE `{$g5['config_table']}`
- ADD `cf_bbs_rewrite` tinyint(4) NOT NULL DEFAULT '0' AFTER `cf_link_target` ", true);
-
- $is_check = true;
-}
-
-// 파일테이블에 추가 칼럼
-
-$sql = " SHOW COLUMNS FROM `{$g5['board_file_table']}` LIKE 'bf_fileurl' ";
-$row = sql_fetch($sql);
-
-if( !$row ) {
- sql_query(" ALTER TABLE `{$g5['board_file_table']}`
- ADD COLUMN `bf_fileurl` VARCHAR(255) NOT NULL DEFAULT '' AFTER `bf_content`,
- ADD COLUMN `bf_thumburl` VARCHAR(255) NOT NULL DEFAULT '' AFTER `bf_fileurl`,
- ADD COLUMN `bf_storage` VARCHAR(50) NOT NULL DEFAULT '' AFTER `bf_thumburl`", true);
-
- $is_check = true;
-}
-
-if (defined('G5_USE_SHOP') && G5_USE_SHOP) {
- // 임시저장 테이블이 없을 경우 생성
- if(!sql_query(" DESC {$g5['g5_shop_post_log_table']} ", false)) {
- sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['g5_shop_post_log_table']}` (
- `log_id` int(11) NOT NULL AUTO_INCREMENT,
- `oid` bigint(20) unsigned NOT NULL,
- `mb_id` varchar(255) NOT NULL DEFAULT '',
- `post_data` text NOT NULL,
- `ol_code` varchar(255) NOT NULL DEFAULT '',
- `ol_msg` text NOT NULL,
- `ol_datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `ol_ip` varchar(25) NOT NULL DEFAULT '',
- PRIMARY KEY (`log_id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ", true);
-
- $is_check = true;
- }
-
- $result = sql_query("describe `{$g5['g5_shop_post_log_table']}`");
- while ($row = sql_fetch_array($result)){
- if( isset($row['Field']) && $row['Field'] === 'ol_msg' && $row['Type'] === 'varchar(255)' ){
- sql_query("ALTER TABLE `{$g5['g5_shop_post_log_table']}` MODIFY ol_msg TEXT NOT NULL;", false);
- sql_query("ALTER TABLE `{$g5['g5_shop_post_log_table']}` DROP PRIMARY KEY;", false);
- sql_query("ALTER TABLE `{$g5['g5_shop_post_log_table']}` ADD `log_id` int(11) NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (`log_id`);", false);
- $is_check = true;
- break;
- }
- }
-
- if (!isset($default['de_id'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD COLUMN `de_id` INT(11) NOT NULL AUTO_INCREMENT FIRST,
- ADD PRIMARY KEY (`de_id`); ", true);
-
- $is_check = true;
- }
-}
-
-// auth.au_menu 컬럼 크기 조정
-$sql = " SHOW COLUMNS FROM `{$g5['auth_table']}` LIKE 'au_menu' ";
-$row = sql_fetch($sql);
-if (
- stripos($row['Type'], 'varchar') !== false
- && (int) preg_replace('/[^0-9]/', '', $row['Type']) < 50
-) {
- sql_query(" ALTER TABLE `{$g5['auth_table']}` CHANGE `au_menu` `au_menu` VARCHAR(50) NOT NULL; ", true);
-
- $is_check = true;
-}
-
-// qa config 테이블 auto id key 추가
-$row = sql_fetch("select * from `{$g5['qa_config_table']}` limit 1");
-if (!isset($row['qa_id'])) {
- sql_query(" ALTER TABLE `{$g5['qa_config_table']}` ADD COLUMN `qa_id` INT(11) NOT NULL AUTO_INCREMENT FIRST,
- ADD PRIMARY KEY (`qa_id`); ", true);
-
- $is_check = true;
-}
-
-// config 기본 테이블 auto id key 추가
-if (!isset($config['cf_id'])) {
- sql_query(" ALTER TABLE `{$g5['config_table']}`
- ADD COLUMN `cf_id` INT(11) NOT NULL AUTO_INCREMENT FIRST,
- ADD PRIMARY KEY (`cf_id`); ", true);
-
- $is_check = true;
-}
-
-// login 테이블 auto id key 추가
-$row = sql_fetch("select * from `{$g5['login_table']}` limit 1");
-if (!isset($row['lo_id'])) {
- sql_query(" ALTER TABLE `{$g5['login_table']}`
- ADD COLUMN `lo_id` INT(11) NOT NULL AUTO_INCREMENT FIRST,
- DROP PRIMARY KEY,
- ADD PRIMARY KEY (`lo_id`),
- ADD UNIQUE KEY `lo_ip_unique` (`lo_ip`) ", true);
-
- $is_check = true;
-}
-
-// visit 테이블 auto id key 로 변경
-$result = sql_query("describe `{$g5['visit_table']}`");
-while ($row = sql_fetch_array($result)){
- if (isset($row['Field']) && $row['Field'] === 'vi_id' && (isset($row['Default']) && $row['Default'] == 0)){
- sql_query("ALTER TABLE `{$g5['visit_table']}`
- CHANGE COLUMN `vi_id` `vi_id` INT(11) NOT NULL AUTO_INCREMENT;
- ", false);
-
- $is_check = true;
- }
-}
-
-// SMS5 테이블 G5_TABLE_PREFIX 적용
-if($g5['sms5_prefix'] != 'sms5_' && sql_num_rows(sql_query("show tables like 'sms5_config'")))
-{
- $tables = array('config','write','history','book','book_group','form','form_group');
-
- foreach($tables as $name){
- $old_table = 'sms5_' . $name;
- $new_table = $g5['sms5_prefix'] . $name;
-
- // 기존 테이블이 있고, G5_TABLE_PREFIX 적용 테이블이 없을 경우 → 테이블명 변경
- if(sql_num_rows(sql_query("SHOW TABLES LIKE '{$old_table}' "))){
- if(!sql_num_rows(sql_query("SHOW TABLES LIKE '{$new_table}' "))){
- sql_query("RENAME TABLE {$old_table} TO {$new_table}", false);
- }
- }
- }
-
- $is_check = true;
-}
-
-// 광고성 정보 수신 동의 사용 필드 추가
-if (!isset($config['cf_use_promotion'])) {
- sql_query(
- " ALTER TABLE `{$g5['config_table']}`
- ADD `cf_use_promotion` tinyint(1) NOT NULL DEFAULT '0' AFTER `cf_privacy` ",
- true
- );
-
- $is_check = true;
-}
-
-// 광고성 정보 수신 동의 여부 필드 추가 + 메일 / SMS 수신 일자 추가
-if (!isset($member['mb_marketing_agree'])) {
- sql_query(
- " ALTER TABLE `{$g5['member_table']}`
- ADD `mb_marketing_agree` tinyint(1) NOT NULL DEFAULT '0' AFTER `mb_scrap_cnt`,
- ADD `mb_marketing_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `mb_marketing_agree`,
- ADD `mb_thirdparty_agree` tinyint(1) NOT NULL DEFAULT '0' AFTER `mb_marketing_date`,
- ADD `mb_thirdparty_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `mb_thirdparty_agree`,
- ADD `mb_agree_log` TEXT NOT NULL AFTER `mb_thirdparty_date`,
- ADD `mb_mailling_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `mb_mailling`,
- ADD `mb_sms_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `mb_sms` ",
- true
- );
-
- $is_check = true;
-}
-
-// 쿠폰 로그 테이블에 UNIQUE 인덱스 추가 (쿠폰 이중사용 방지)
-if (defined('G5_USE_SHOP') && G5_USE_SHOP) {
- $result = sql_query("SHOW INDEX FROM `{$g5['g5_shop_coupon_log_table']}` WHERE Key_name = 'idx_coupon_use'", false);
- if (!$result || !sql_num_rows($result)) {
- // 기존에 동일 쿠폰이 중복 사용된 데이터가 있으면 UNIQUE 인덱스 생성 실패하므로 중복 데이터 정리
- $dup_sql = " SELECT cp_id, mb_id, MIN(cl_id) as keep_id
- FROM `{$g5['g5_shop_coupon_log_table']}`
- GROUP BY cp_id, mb_id
- HAVING COUNT(*) > 1 ";
-
- $dup_result = sql_query($dup_sql, false);
- if ($dup_result && sql_num_rows($dup_result)) {
- while ($dup_row = sql_fetch_array($dup_result)) {
-
- echo $dup_row['cp_id']." 의 동일 쿠폰이 중복 사용된 데이터가 있으므로 인덱스 생성이 불가합니다.
";
-
- $sql = " DELETE FROM `{$g5['g5_shop_coupon_log_table']}`
- WHERE cp_id = '{$dup_row['cp_id']}'
- AND mb_id = '{$dup_row['mb_id']}'
- AND cl_id != '{$dup_row['keep_id']}' ";
- if ($is_admin === 'super') {
- echo "데이터베이스에서 검토후에 이 쿼리문을 실행해 주세요.
$sql
";
- }
- // sql_query($sql);
- }
- }
-
- // MyISAM + utf8mb4 환경에서 키 길이 초과 방지: cp_id varchar(100), mb_id varchar(100)으로 조정
- sql_query("ALTER TABLE `{$g5['g5_shop_coupon_log_table']}` MODIFY `cp_id` varchar(100) NOT NULL DEFAULT '', MODIFY `mb_id` varchar(100) NOT NULL DEFAULT ''", false);
- sql_query("ALTER TABLE `{$g5['g5_shop_coupon_log_table']}` ADD UNIQUE KEY `idx_coupon_use` (`cp_id`, `mb_id`)", false);
- $is_check = true;
- }
-}
-
-// 자동 로그인 토큰 테이블 생성 (KVE-2026-0610: 추측 가능한 자동 로그인 쿠키 위조 방지)
-// 다중 디바이스 지원을 위해 회원당 여러 토큰을 별도 테이블로 관리
-if (!isset($g5['member_auto_login_table'])) {
- $g5['member_auto_login_table'] = G5_TABLE_PREFIX.'member_auto_login';
-}
-if (!sql_query(" DESC `{$g5['member_auto_login_table']}` ", false)) {
- sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['member_auto_login_table']}` (
- `al_id` int(11) NOT NULL auto_increment,
- `mb_id` varchar(20) NOT NULL default '',
- `al_token` varchar(64) NOT NULL default '',
- `al_user_agent` varchar(255) NOT NULL default '',
- `al_ip` varchar(45) NOT NULL default '',
- `al_created` datetime DEFAULT NULL,
- `al_last_used` datetime DEFAULT NULL,
- `al_expire` datetime DEFAULT NULL,
- PRIMARY KEY (`al_id`),
- UNIQUE KEY `al_token` (`al_token`),
- KEY `mb_id` (`mb_id`),
- KEY `al_expire` (`al_expire`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ", true);
- $is_check = true;
-}
-
-// KG이니시스 결제 처리 현황 및 단계별 이력 테이블
-if (defined('G5_USE_SHOP') && G5_USE_SHOP) {
- $inicis_pro_config_columns = array(
- 'de_inicis_pro_alert_use' => "ADD COLUMN `de_inicis_pro_alert_use` tinyint(4) NOT NULL DEFAULT '1'",
- 'de_inicis_pro_reconcile_use' => "ADD COLUMN `de_inicis_pro_reconcile_use` tinyint(4) NOT NULL DEFAULT '0'",
- 'de_inicis_pro_log_days' => "ADD COLUMN `de_inicis_pro_log_days` int(11) NOT NULL DEFAULT '365'",
- 'de_inicis_pro_summary_days' => "ADD COLUMN `de_inicis_pro_summary_days` int(11) NOT NULL DEFAULT '1825'",
- 'de_inicis_pro_monitor_at' => "ADD COLUMN `de_inicis_pro_monitor_at` datetime DEFAULT NULL",
- 'de_inicis_pro_monitor_message' => "ADD COLUMN `de_inicis_pro_monitor_message` varchar(255) NOT NULL DEFAULT ''"
- );
- $inicis_pro_config_alter = array();
- foreach ($inicis_pro_config_columns as $column => $alter) {
- $column_result = sql_query(" SHOW COLUMNS FROM `{$g5['g5_shop_default_table']}` LIKE '$column' ", false);
- if (!$column_result || sql_num_rows($column_result) === 0)
- $inicis_pro_config_alter[] = $alter;
- }
- if (count($inicis_pro_config_alter)) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}` ".implode(', ', $inicis_pro_config_alter), true);
- $is_check = true;
- }
-
- if (!isset($g5['g5_shop_inicis_pay_table']))
- $g5['g5_shop_inicis_pay_table'] = G5_SHOP_TABLE_PREFIX.'inicis_pay';
- if (!isset($g5['g5_shop_inicis_pay_event_table']))
- $g5['g5_shop_inicis_pay_event_table'] = G5_SHOP_TABLE_PREFIX.'inicis_pay_event';
-
- if (!sql_query(" DESC `{$g5['g5_shop_inicis_pay_table']}` ", false)) {
- sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['g5_shop_inicis_pay_table']}` (
- `ip_id` int(11) NOT NULL AUTO_INCREMENT,
- `ip_oid` varchar(64) NOT NULL DEFAULT '',
- `ip_tid` varchar(80) NOT NULL DEFAULT '',
- `ip_auth_tid` varchar(80) NOT NULL DEFAULT '',
- `ip_mid` varchar(80) NOT NULL DEFAULT '',
- `ip_environment` varchar(10) NOT NULL DEFAULT '',
- `mb_id` varchar(20) NOT NULL DEFAULT '',
- `ip_amount` int(11) NOT NULL DEFAULT '0',
- `ip_pay_type` varchar(20) NOT NULL DEFAULT '',
- `ip_easy_pay` varchar(20) NOT NULL DEFAULT '',
- `ip_device` varchar(10) NOT NULL DEFAULT '',
- `ip_order_type` varchar(10) NOT NULL DEFAULT '',
- `ip_status` varchar(30) NOT NULL DEFAULT '',
- `ip_result_code` varchar(30) NOT NULL DEFAULT '',
- `ip_result_message` varchar(255) NOT NULL DEFAULT '',
- `ip_noti_status` varchar(30) NOT NULL DEFAULT '',
- `ip_noti_code` varchar(30) NOT NULL DEFAULT '',
- `ip_noti_message` varchar(255) NOT NULL DEFAULT '',
- `ip_noti_failed_count` int(11) NOT NULL DEFAULT '0',
- `ip_noti_at` datetime DEFAULT NULL,
- `ip_cancel_status` varchar(30) NOT NULL DEFAULT '',
- `ip_cancel_code` varchar(30) NOT NULL DEFAULT '',
- `ip_cancel_message` varchar(255) NOT NULL DEFAULT '',
- `ip_cancel_checked_at` datetime DEFAULT NULL,
- `ip_refund_required` tinyint(4) NOT NULL DEFAULT '0',
- `ip_vbank_due_at` datetime DEFAULT NULL,
- `ip_expired_at` datetime DEFAULT NULL,
- `ip_order_exists` tinyint(4) NOT NULL DEFAULT '0',
- `ip_approved_at` datetime DEFAULT NULL,
- `ip_ordered_at` datetime DEFAULT NULL,
- `ip_notified_at` datetime DEFAULT NULL,
- `ip_canceled_at` datetime DEFAULT NULL,
- `ip_created_at` datetime DEFAULT NULL,
- `ip_updated_at` datetime DEFAULT NULL,
- `ip_ip` varchar(45) NOT NULL DEFAULT '',
- `ip_event_count` int(11) NOT NULL DEFAULT '0',
- `ip_audit_error` tinyint(4) NOT NULL DEFAULT '0',
- `ip_alerted_at` datetime DEFAULT NULL,
- `ip_alert_key` varchar(64) NOT NULL DEFAULT '',
- `ip_pg_status` varchar(30) NOT NULL DEFAULT '',
- `ip_pg_amount` int(11) NOT NULL DEFAULT '0',
- `ip_pg_tid` varchar(80) NOT NULL DEFAULT '',
- `ip_pg_result_code` varchar(30) NOT NULL DEFAULT '',
- `ip_pg_message` varchar(255) NOT NULL DEFAULT '',
- `ip_pg_checked_at` datetime DEFAULT NULL,
- PRIMARY KEY (`ip_id`),
- UNIQUE KEY `ip_oid` (`ip_oid`),
- KEY `ip_tid` (`ip_tid`),
- KEY `ip_auth_tid` (`ip_auth_tid`),
- KEY `ip_status` (`ip_status`),
- KEY `ip_noti_status` (`ip_noti_status`),
- KEY `ip_cancel_status` (`ip_cancel_status`),
- KEY `ip_refund_required` (`ip_refund_required`),
- KEY `ip_updated_at` (`ip_updated_at`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ", true);
- $is_check = true;
- }
-
- if (sql_query(" DESC `{$g5['g5_shop_inicis_pay_table']}` ", false)) {
- $inicis_pay_columns = array(
- 'ip_environment' => "ADD COLUMN `ip_environment` varchar(10) NOT NULL DEFAULT '' AFTER `ip_mid`",
- 'ip_easy_pay' => "ADD COLUMN `ip_easy_pay` varchar(20) NOT NULL DEFAULT '' AFTER `ip_pay_type`",
- 'ip_noti_status' => "ADD COLUMN `ip_noti_status` varchar(30) NOT NULL DEFAULT '' AFTER `ip_result_message`",
- 'ip_noti_code' => "ADD COLUMN `ip_noti_code` varchar(30) NOT NULL DEFAULT '' AFTER `ip_noti_status`",
- 'ip_noti_message' => "ADD COLUMN `ip_noti_message` varchar(255) NOT NULL DEFAULT '' AFTER `ip_noti_code`",
- 'ip_noti_failed_count' => "ADD COLUMN `ip_noti_failed_count` int(11) NOT NULL DEFAULT '0' AFTER `ip_noti_message`",
- 'ip_noti_at' => "ADD COLUMN `ip_noti_at` datetime DEFAULT NULL AFTER `ip_noti_failed_count`",
- 'ip_cancel_status' => "ADD COLUMN `ip_cancel_status` varchar(30) NOT NULL DEFAULT '' AFTER `ip_noti_at`",
- 'ip_cancel_code' => "ADD COLUMN `ip_cancel_code` varchar(30) NOT NULL DEFAULT '' AFTER `ip_cancel_status`",
- 'ip_cancel_message' => "ADD COLUMN `ip_cancel_message` varchar(255) NOT NULL DEFAULT '' AFTER `ip_cancel_code`",
- 'ip_cancel_checked_at' => "ADD COLUMN `ip_cancel_checked_at` datetime DEFAULT NULL AFTER `ip_cancel_message`",
- 'ip_refund_required' => "ADD COLUMN `ip_refund_required` tinyint(4) NOT NULL DEFAULT '0' AFTER `ip_cancel_checked_at`",
- 'ip_vbank_due_at' => "ADD COLUMN `ip_vbank_due_at` datetime DEFAULT NULL AFTER `ip_refund_required`",
- 'ip_expired_at' => "ADD COLUMN `ip_expired_at` datetime DEFAULT NULL AFTER `ip_vbank_due_at`",
- 'ip_audit_error' => "ADD COLUMN `ip_audit_error` tinyint(4) NOT NULL DEFAULT '0'",
- 'ip_alerted_at' => "ADD COLUMN `ip_alerted_at` datetime DEFAULT NULL",
- 'ip_alert_key' => "ADD COLUMN `ip_alert_key` varchar(64) NOT NULL DEFAULT ''",
- 'ip_pg_status' => "ADD COLUMN `ip_pg_status` varchar(30) NOT NULL DEFAULT ''",
- 'ip_pg_amount' => "ADD COLUMN `ip_pg_amount` int(11) NOT NULL DEFAULT '0'",
- 'ip_pg_tid' => "ADD COLUMN `ip_pg_tid` varchar(80) NOT NULL DEFAULT ''",
- 'ip_pg_result_code' => "ADD COLUMN `ip_pg_result_code` varchar(30) NOT NULL DEFAULT ''",
- 'ip_pg_message' => "ADD COLUMN `ip_pg_message` varchar(255) NOT NULL DEFAULT ''",
- 'ip_pg_checked_at' => "ADD COLUMN `ip_pg_checked_at` datetime DEFAULT NULL"
- );
- $inicis_pay_alter = array();
- foreach ($inicis_pay_columns as $column => $alter) {
- $column_result = sql_query(" SHOW COLUMNS FROM `{$g5['g5_shop_inicis_pay_table']}` LIKE '$column' ", false);
- if (!$column_result || sql_num_rows($column_result) === 0)
- $inicis_pay_alter[] = $alter;
- }
- if (count($inicis_pay_alter)) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_inicis_pay_table']}` ".implode(', ', $inicis_pay_alter), true);
- $is_check = true;
- }
-
- if (count($inicis_pay_alter)) {
- $environment = !empty($default['de_card_test']) ? 'test' : 'live';
- sql_query(" insert ignore into `{$g5['g5_shop_inicis_pay_table']}`
- (ip_oid, ip_environment, ip_status, ip_noti_status, ip_noti_code, ip_noti_message,
- ip_noti_failed_count, ip_noti_at, ip_created_at, ip_updated_at, ip_event_count)
- select e.ip_oid, '$environment', e.pe_status, e.pe_status, e.pe_code, e.pe_message,
- sum(if(e.pe_status = 'notification_failed', 1, 0)), max(e.pe_created_at),
- min(e.pe_created_at), max(e.pe_created_at), count(*)
- from `{$g5['g5_shop_inicis_pay_event_table']}` e
- left join `{$g5['g5_shop_inicis_pay_table']}` p on p.ip_oid = e.ip_oid
- where p.ip_id is null
- and e.pe_stage = 'notification'
- group by e.ip_oid ", false);
- sql_query(" update `{$g5['g5_shop_inicis_pay_table']}`
- set ip_environment = case
- when lower(ip_mid) in ('inipaytest','iniescrow0') then 'test'
- when ip_mid <> '' then 'live'
- else '$environment'
- end
- where ip_environment = '' ", false);
- sql_query(" update `{$g5['g5_shop_inicis_pay_table']}` p
- inner join (
- select ip_oid, max(pe_id) as pe_id,
- sum(if(pe_status = 'notification_failed', 1, 0)) as fail_count
- from `{$g5['g5_shop_inicis_pay_event_table']}`
- where pe_stage = 'notification'
- group by ip_oid
- ) x on x.ip_oid = p.ip_oid
- inner join `{$g5['g5_shop_inicis_pay_event_table']}` e on e.pe_id = x.pe_id
- set p.ip_noti_status = e.pe_status,
- p.ip_noti_code = e.pe_code,
- p.ip_noti_message = e.pe_message,
- p.ip_noti_failed_count = x.fail_count,
- p.ip_noti_at = e.pe_created_at ", false);
- sql_query(" update `{$g5['g5_shop_inicis_pay_table']}` p
- inner join (
- select ip_oid, max(pe_id) as pe_id
- from `{$g5['g5_shop_inicis_pay_event_table']}`
- where pe_stage = 'cancel'
- group by ip_oid
- ) x on x.ip_oid = p.ip_oid
- inner join `{$g5['g5_shop_inicis_pay_event_table']}` e on e.pe_id = x.pe_id
- set p.ip_cancel_status = e.pe_status,
- p.ip_cancel_code = e.pe_code,
- p.ip_cancel_message = e.pe_message,
- p.ip_cancel_checked_at = e.pe_created_at ", false);
- sql_query(" update `{$g5['g5_shop_inicis_pay_table']}` p
- inner join `{$g5['g5_shop_inicis_pay_event_table']}` e on e.ip_oid = p.ip_oid and e.pe_stage = 'request'
- set p.ip_easy_pay = case
- when e.pe_message like '삼성페이%' then 'SAMSUNGPAY'
- when e.pe_message like 'lpay%' then 'LPAY'
- when e.pe_message like 'inicis_kakaopay%' then 'KAKAOPAY'
- when e.pe_message like '간편결제%' then 'EASYPAY'
- else p.ip_easy_pay
- end
- where p.ip_easy_pay = '' ", false);
- sql_query(" update `{$g5['g5_shop_inicis_pay_table']}`
- set ip_noti_status = case
- when ip_status = 'paid' then 'paid'
- when ip_status = 'vbank_issued' then 'vbank_issued'
- when ip_status = 'notification_received' then 'notification_received'
- else ip_noti_status
- end,
- ip_cancel_status = case
- when ip_status in ('canceled','cancel_failed','partial_canceled','partial_cancel_failed') then ip_status
- else ip_cancel_status
- end ", false);
- sql_query(" update `{$g5['g5_shop_inicis_pay_table']}` p
- inner join {$g5['g5_shop_order_table']} o on o.od_id = p.ip_oid
- set p.ip_status = 'paid_after_cancel',
- p.ip_refund_required = '1',
- p.ip_noti_status = 'paid_after_cancel',
- p.ip_noti_message = '취소 주문에 가상계좌 입금 확인'
- where p.ip_pay_type = 'VBANK'
- and p.ip_status = 'paid'
- and o.od_status = '취소'
- and o.od_receipt_price > 0 ", false);
- $inicis_pro_migrated_at = G5_TIME_YMDHIS;
- $inicis_pro_migrated_message = '기존 결제·주문 이력 대조에서 취소 후 입금 확인';
- sql_query(" insert into `{$g5['g5_shop_inicis_pay_event_table']}`
- (ip_oid, ip_tid, pe_stage, pe_status, pe_code, pe_message, pe_source, pe_ip, pe_created_at)
- select p.ip_oid, p.ip_tid, 'reconcile', 'paid_after_cancel', '',
- '".sql_escape_string($inicis_pro_migrated_message)."', 'system', '', '$inicis_pro_migrated_at'
- from `{$g5['g5_shop_inicis_pay_table']}` p
- left join `{$g5['g5_shop_inicis_pay_event_table']}` e
- on e.ip_oid = p.ip_oid and e.pe_status = 'paid_after_cancel'
- where p.ip_status = 'paid_after_cancel'
- and p.ip_refund_required = '1'
- and e.pe_id is null ", false);
- sql_query(" update `{$g5['g5_shop_inicis_pay_table']}` p
- inner join `{$g5['g5_shop_inicis_pay_event_table']}` e
- on e.ip_oid = p.ip_oid
- and e.pe_status = 'paid_after_cancel'
- and e.pe_message = '".sql_escape_string($inicis_pro_migrated_message)."'
- and e.pe_created_at = '$inicis_pro_migrated_at'
- set p.ip_event_count = p.ip_event_count + 1 ", false);
- }
-
- $inicis_pay_indexes = array(
- 'ip_noti_status' => "ADD KEY `ip_noti_status` (`ip_noti_status`)",
- 'ip_cancel_status' => "ADD KEY `ip_cancel_status` (`ip_cancel_status`)",
- 'ip_refund_required' => "ADD KEY `ip_refund_required` (`ip_refund_required`)"
- );
- foreach ($inicis_pay_indexes as $index_name => $index_sql) {
- $index_result = sql_query(" SHOW INDEX FROM `{$g5['g5_shop_inicis_pay_table']}` WHERE Key_name = '$index_name' ", false);
- if (!$index_result || sql_num_rows($index_result) === 0) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_inicis_pay_table']}` $index_sql ", true);
- $is_check = true;
- }
- }
- }
-
- if (!sql_query(" DESC `{$g5['g5_shop_inicis_pay_event_table']}` ", false)) {
- sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['g5_shop_inicis_pay_event_table']}` (
- `pe_id` int(11) NOT NULL AUTO_INCREMENT,
- `ip_oid` varchar(64) NOT NULL DEFAULT '',
- `ip_tid` varchar(80) NOT NULL DEFAULT '',
- `pe_stage` varchar(30) NOT NULL DEFAULT '',
- `pe_status` varchar(30) NOT NULL DEFAULT '',
- `pe_code` varchar(30) NOT NULL DEFAULT '',
- `pe_message` varchar(255) NOT NULL DEFAULT '',
- `pe_source` varchar(10) NOT NULL DEFAULT '',
- `pe_ip` varchar(45) NOT NULL DEFAULT '',
- `pe_created_at` datetime DEFAULT NULL,
- PRIMARY KEY (`pe_id`),
- KEY `ip_oid` (`ip_oid`),
- KEY `ip_tid` (`ip_tid`),
- KEY `pe_status` (`pe_status`),
- KEY `pe_created_at` (`pe_created_at`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ", true);
- $is_check = true;
- }
-}
-
-$is_check = run_replace('admin_dbupgrade', $is_check);
-
-$db_upgrade_msg = $is_check ? 'DB 업그레이드가 완료되었습니다.' : '더 이상 업그레이드 할 내용이 없습니다.
현재 DB 업그레이드가 완료된 상태입니다.';
?>
+
+
+
+
+
+
+
+
+
diff --git a/adm/faqmasterformupdate.php b/adm/faqmasterformupdate.php
index 92e6415b7..ba20c8b94 100644
--- a/adm/faqmasterformupdate.php
+++ b/adm/faqmasterformupdate.php
@@ -42,9 +42,6 @@ $sql_common = " set fm_subject = '$fm_subject',
fm_order = '$fm_order' ";
if ($w == "") {
- $sql = " alter table {$g5['faq_master_table']} auto_increment=1 ";
- sql_query($sql);
-
$sql = " insert {$g5['faq_master_table']} $sql_common ";
sql_query($sql);
diff --git a/adm/faqmasterlist.php b/adm/faqmasterlist.php
index d2ac55d0e..20da5dbc2 100644
--- a/adm/faqmasterlist.php
+++ b/adm/faqmasterlist.php
@@ -10,45 +10,8 @@ if (!isset($g5['faq_table']) || !isset($g5['faq_master_table'])) {
}
//자주하시는 질문 마스터 테이블이 있는지 검사한다.
-if (!sql_query(" DESCRIBE {$g5['faq_master_table']} ", false)) {
- if (sql_query(" DESCRIBE {$g5['g5_shop_faq_master_table']} ", false)) {
- sql_query(" ALTER TABLE {$g5['g5_shop_faq_master_table']} RENAME TO `{$g5['faq_master_table']}` ;", false);
- } else {
- $query_cp = sql_query(
- " CREATE TABLE IF NOT EXISTS `{$g5['faq_master_table']}` (
- `fm_id` int(11) NOT NULL AUTO_INCREMENT,
- `fm_subject` varchar(255) NOT NULL DEFAULT '',
- `fm_head_html` text NOT NULL,
- `fm_tail_html` text NOT NULL,
- `fm_order` int(11) NOT NULL DEFAULT '0',
- PRIMARY KEY (`fm_id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ",
- true
- );
- }
- // FAQ Master
- sql_query(" insert into `{$g5['faq_master_table']}` set fm_id = '1', fm_subject = '자주하시는 질문' ", false);
-}
//자주하시는 질문 테이블이 있는지 검사한다.
-if (!sql_query(" DESCRIBE {$g5['faq_table']} ", false)) {
- if (sql_query(" DESCRIBE {$g5['g5_shop_faq_table']} ", false)) {
- sql_query(" ALTER TABLE {$g5['g5_shop_faq_table']} RENAME TO `{$g5['faq_table']}` ;", false);
- } else {
- $query_cp = sql_query(
- " CREATE TABLE IF NOT EXISTS `{$g5['faq_table']}` (
- `fa_id` int(11) NOT NULL AUTO_INCREMENT,
- `fm_id` int(11) NOT NULL DEFAULT '0',
- `fa_subject` text NOT NULL,
- `fa_content` text NOT NULL,
- `fa_order` int(11) NOT NULL DEFAULT '0',
- PRIMARY KEY (`fa_id`),
- KEY `fm_id` (`fm_id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ",
- true
- );
- }
-}
$g5['title'] = 'FAQ관리';
require_once G5_ADMIN_PATH . '/admin.head.php';
diff --git a/adm/member_form.php b/adm/member_form.php
index 501d6aa2c..9a47fd310 100644
--- a/adm/member_form.php
+++ b/adm/member_form.php
@@ -150,62 +150,21 @@ $mb_marketing_agree_no = !$mb['mb_marketing_agree'] ? 'checked="checked"' :
$mb_thirdparty_agree_yes = $mb['mb_thirdparty_agree'] ? 'checked="checked"' : '';
$mb_thirdparty_agree_no = !$mb['mb_thirdparty_agree'] ? 'checked="checked"' : '';
-if (isset($mb['mb_certify'])) {
- // 날짜시간형이라면 drop 시킴
- if (preg_match("/-/", $mb['mb_certify'])) {
- sql_query(" ALTER TABLE `{$g5['member_table']}` DROP `mb_certify` ", false);
- }
-} else {
- sql_query(" ALTER TABLE `{$g5['member_table']}` ADD `mb_certify` TINYINT(4) NOT NULL DEFAULT '0' AFTER `mb_hp` ", false);
-}
-if (isset($mb['mb_adult'])) {
- sql_query(" ALTER TABLE `{$g5['member_table']}` CHANGE `mb_adult` `mb_adult` TINYINT(4) NOT NULL DEFAULT '0' ", false);
-} else {
- sql_query(" ALTER TABLE `{$g5['member_table']}` ADD `mb_adult` TINYINT NOT NULL DEFAULT '0' AFTER `mb_certify` ", false);
-}
// 지번주소 필드추가
-if (!isset($mb['mb_addr_jibeon'])) {
- sql_query(" ALTER TABLE {$g5['member_table']} ADD `mb_addr_jibeon` varchar(255) NOT NULL DEFAULT '' AFTER `mb_addr2` ", false);
-}
// 건물명필드추가
-if (!isset($mb['mb_addr3'])) {
- sql_query(" ALTER TABLE {$g5['member_table']} ADD `mb_addr3` varchar(255) NOT NULL DEFAULT '' AFTER `mb_addr2` ", false);
-}
// 중복가입 확인필드 추가
-if (!isset($mb['mb_dupinfo'])) {
- sql_query(" ALTER TABLE {$g5['member_table']} ADD `mb_dupinfo` varchar(255) NOT NULL DEFAULT '' AFTER `mb_adult` ", false);
-}
// 이메일인증 체크 필드추가
-if (!isset($mb['mb_email_certify2'])) {
- sql_query(" ALTER TABLE {$g5['member_table']} ADD `mb_email_certify2` varchar(255) NOT NULL DEFAULT '' AFTER `mb_email_certify` ", false);
-}
// 본인인증 내역 테이블 정보가 dbconfig에 없으면 소셜 테이블 정의
if (!isset($g5['member_cert_history'])) {
$g5['member_cert_history_table'] = G5_TABLE_PREFIX . 'member_cert_history';
}
// 멤버 본인인증 정보 변경 내역 테이블 없을 경우 생성
-if (isset($g5['member_cert_history_table']) && !sql_query(" DESC {$g5['member_cert_history_table']} ", false)) {
- sql_query(
- " CREATE TABLE IF NOT EXISTS `{$g5['member_cert_history_table']}` (
- `ch_id` int(11) NOT NULL auto_increment,
- `mb_id` varchar(20) NOT NULL DEFAULT '',
- `ch_name` varchar(255) NOT NULL DEFAULT '',
- `ch_hp` varchar(255) NOT NULL DEFAULT '',
- `ch_birth` varchar(255) NOT NULL DEFAULT '',
- `ch_type` varchar(20) NOT NULL DEFAULT '',
- `ch_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
- PRIMARY KEY (`ch_id`),
- KEY `mb_id` (`mb_id`)
- ) ",
- true
- );
-}
$mb_cert_history = '';
if (isset($mb_id) && $mb_id) {
diff --git a/adm/menu_list.php b/adm/menu_list.php
index 0281c3259..765c81588 100644
--- a/adm/menu_list.php
+++ b/adm/menu_list.php
@@ -11,22 +11,6 @@ if (!isset($g5['menu_table'])) {
die('dbconfig.php 파일에 $g5[\'menu_table\'] = G5_TABLE_PREFIX.\'menu\'; 를 추가해 주세요.');
}
-if (!sql_query(" DESCRIBE {$g5['menu_table']} ", false)) {
- sql_query(
- " CREATE TABLE IF NOT EXISTS `{$g5['menu_table']}` (
- `me_id` int(11) NOT NULL AUTO_INCREMENT,
- `me_code` varchar(255) NOT NULL DEFAULT '',
- `me_name` varchar(255) NOT NULL DEFAULT '',
- `me_link` varchar(255) NOT NULL DEFAULT '',
- `me_target` varchar(255) NOT NULL DEFAULT '0',
- `me_order` int(11) NOT NULL DEFAULT '0',
- `me_use` tinyint(4) NOT NULL DEFAULT '0',
- `me_mobile_use` tinyint(4) NOT NULL DEFAULT '0',
- PRIMARY KEY (`me_id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ",
- true
- );
-}
$sql = " select * from {$g5['menu_table']} order by me_id ";
$result = sql_query($sql);
diff --git a/adm/newwinform.php b/adm/newwinform.php
index 65b492065..9890767ca 100644
--- a/adm/newwinform.php
+++ b/adm/newwinform.php
@@ -17,8 +17,6 @@ $nw = array(
$html_title = "팝업레이어";
// 팝업레이어 테이블에 쇼핑몰, 커뮤니티 인지 구분하는 여부 필드 추가
-$sql = " ALTER TABLE `{$g5['new_win_table']}` ADD `nw_division` VARCHAR(10) NOT NULL DEFAULT 'both' ";
-sql_query($sql, false);
if ($w == "u") {
$html_title .= " 수정";
diff --git a/adm/newwinlist.php b/adm/newwinlist.php
index ff50a1fe7..eea1be21c 100644
--- a/adm/newwinlist.php
+++ b/adm/newwinlist.php
@@ -8,31 +8,6 @@ if (!isset($g5['new_win_table'])) {
die('/data/dbconfig.php 파일에 $g5[\'new_win_table\'] = G5_TABLE_PREFIX.\'new_win\'; 를 추가해 주세요.');
}
//내용(컨텐츠)정보 테이블이 있는지 검사한다.
-if (!sql_query(" DESCRIBE {$g5['new_win_table']} ", false)) {
- if (sql_query(" DESCRIBE {$g5['g5_shop_new_win_table']} ", false)) {
- sql_query(" ALTER TABLE {$g5['g5_shop_new_win_table']} RENAME TO `{$g5['new_win_table']}` ;", false);
- } else {
- $query_cp = sql_query(
- " CREATE TABLE IF NOT EXISTS `{$g5['new_win_table']}` (
- `nw_id` int(11) NOT NULL AUTO_INCREMENT,
- `nw_division` varchar(10) NOT NULL DEFAULT 'both',
- `nw_device` varchar(10) NOT NULL DEFAULT 'both',
- `nw_begin_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `nw_end_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `nw_disable_hours` int(11) NOT NULL DEFAULT '0',
- `nw_left` int(11) NOT NULL DEFAULT '0',
- `nw_top` int(11) NOT NULL DEFAULT '0',
- `nw_height` int(11) NOT NULL DEFAULT '0',
- `nw_width` int(11) NOT NULL DEFAULT '0',
- `nw_subject` text NOT NULL,
- `nw_content` text NOT NULL,
- `nw_content_html` tinyint(4) NOT NULL DEFAULT '0',
- PRIMARY KEY (`nw_id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ",
- true
- );
- }
-}
$g5['title'] = '팝업레이어 관리';
require_once G5_ADMIN_PATH . '/admin.head.php';
diff --git a/adm/poll_form.php b/adm/poll_form.php
index 62cd84082..8cdb3d42f 100644
--- a/adm/poll_form.php
+++ b/adm/poll_form.php
@@ -23,10 +23,6 @@ if ($w == '') {
alert('w 값이 제대로 넘어오지 않았습니다.');
}
-if (!isset($po['po_use'])) {
- sql_query(" alter table `{$g5['poll_table']}` add `po_use` tinyint not null default '0' after `mb_ids` ", false);
-}
-
$g5['title'] = $html_title;
require_once './admin.head.php';
?>
diff --git a/adm/qa_config.php b/adm/qa_config.php
index e12a2d26c..02e6da39d 100644
--- a/adm/qa_config.php
+++ b/adm/qa_config.php
@@ -8,92 +8,6 @@ auth_check_menu($auth, $sub_menu, 'r');
$g5['title'] = '1:1문의 설정';
require_once './admin.head.php';
-// DB 테이블 생성
-if (!sql_query(" DESCRIBE `{$g5['qa_config_table']}` ", false)) {
- sql_query(
- " CREATE TABLE IF NOT EXISTS `{$g5['qa_config_table']}` (
- `qa_id` int(11) NOT NULL auto_increment,
- `qa_title` varchar(255) NOT NULL DEFAULT'',
- `qa_category` varchar(255) NOT NULL DEFAULT'',
- `qa_skin` varchar(255) NOT NULL DEFAULT '',
- `qa_mobile_skin` varchar(255) NOT NULL DEFAULT '',
- `qa_use_email` tinyint(4) NOT NULL DEFAULT '0',
- `qa_req_email` tinyint(4) NOT NULL DEFAULT '0',
- `qa_use_hp` tinyint(4) NOT NULL DEFAULT '0',
- `qa_req_hp` tinyint(4) NOT NULL DEFAULT '0',
- `qa_use_sms` tinyint(4) NOT NULL DEFAULT '0',
- `qa_send_number` varchar(255) NOT NULL DEFAULT '',
- `qa_admin_hp` varchar(255) NOT NULL DEFAULT '',
- `qa_use_editor` tinyint(4) NOT NULL DEFAULT '0',
- `qa_subject_len` int(11) NOT NULL DEFAULT '0',
- `qa_mobile_subject_len` int(11) NOT NULL DEFAULT '0',
- `qa_page_rows` int(11) NOT NULL DEFAULT '0',
- `qa_mobile_page_rows` int(11) NOT NULL DEFAULT '0',
- `qa_image_width` int(11) NOT NULL DEFAULT '0',
- `qa_upload_size` int(11) NOT NULL DEFAULT '0',
- `qa_insert_content` text NOT NULL,
- `qa_include_head` varchar(255) NOT NULL DEFAULT '',
- `qa_include_tail` varchar(255) NOT NULL DEFAULT '',
- `qa_content_head` text NOT NULL,
- `qa_content_tail` text NOT NULL,
- `qa_mobile_content_head` text NOT NULL,
- `qa_mobile_content_tail` text NOT NULL,
- `qa_1_subj` varchar(255) NOT NULL DEFAULT '',
- `qa_2_subj` varchar(255) NOT NULL DEFAULT '',
- `qa_3_subj` varchar(255) NOT NULL DEFAULT '',
- `qa_4_subj` varchar(255) NOT NULL DEFAULT '',
- `qa_5_subj` varchar(255) NOT NULL DEFAULT '',
- `qa_1` varchar(255) NOT NULL DEFAULT '',
- `qa_2` varchar(255) NOT NULL DEFAULT '',
- `qa_3` varchar(255) NOT NULL DEFAULT '',
- `qa_4` varchar(255) NOT NULL DEFAULT '',
- `qa_5` varchar(255) NOT NULL DEFAULT '',
- PRIMARY KEY (`qa_id`)
- )",
- true
- );
- sql_query(
- " CREATE TABLE IF NOT EXISTS `{$g5['qa_content_table']}` (
- `qa_id` int(11) NOT NULL AUTO_INCREMENT,
- `qa_num` int(11) NOT NULL DEFAULT '0',
- `qa_parent` int(11) NOT NULL DEFAULT '0',
- `qa_related` int(11) NOT NULL DEFAULT '0',
- `mb_id` varchar(20) NOT NULL DEFAULT '',
- `qa_name` varchar(255) NOT NULL DEFAULT '',
- `qa_email` varchar(255) NOT NULL DEFAULT '',
- `qa_hp` varchar(255) NOT NULL DEFAULT '',
- `qa_type` tinyint(4) NOT NULL DEFAULT '0',
- `qa_category` varchar(255) NOT NULL DEFAULT '',
- `qa_email_recv` tinyint(4) NOT NULL DEFAULT '0',
- `qa_sms_recv` tinyint(4) NOT NULL DEFAULT '0',
- `qa_html` tinyint(4) NOT NULL DEFAULT '0',
- `qa_subject` varchar(255) NOT NULL DEFAULT '',
- `qa_content` text NOT NULL,
- `qa_status` tinyint(4) NOT NULL DEFAULT '0',
- `qa_file1` varchar(255) NOT NULL DEFAULT '',
- `qa_source1` varchar(255) NOT NULL DEFAULT '',
- `qa_file2` varchar(255) NOT NULL DEFAULT '',
- `qa_source2` varchar(255) NOT NULL DEFAULT '',
- `qa_ip` varchar(255) NOT NULL DEFAULT '',
- `qa_datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `qa_1` varchar(255) NOT NULL DEFAULT '',
- `qa_2` varchar(255) NOT NULL DEFAULT '',
- `qa_3` varchar(255) NOT NULL DEFAULT '',
- `qa_4` varchar(255) NOT NULL DEFAULT '',
- `qa_5` varchar(255) NOT NULL DEFAULT '',
- PRIMARY KEY (`qa_id`),
- KEY `qa_num_parent` (`qa_num`,`qa_parent`)
- )",
- true
- );
-}
-
-$sql = " SHOW COLUMNS FROM `{$g5['qa_content_table']}` LIKE 'qa_content' ";
-$row = sql_fetch($sql);
-if (strpos($row['Type'], 'text') === false) {
- sql_query(" ALTER TABLE `{$g5['qa_content_table']}` CHANGE `qa_content` `qa_content` text NOT NULL ", true);
-}
-
$qaconfig = get_qa_config();
if (empty($qaconfig)) {
@@ -106,28 +20,6 @@ if (empty($qaconfig)) {
$qaconfig = get_qa_config();
}
-// 관리자 이메일필드 추가
-if (!isset($qaconfig['qa_admin_email'])) {
- sql_query(
- " ALTER TABLE `{$g5['qa_config_table']}`
- ADD `qa_admin_email` varchar(255) NOT NULL DEFAULT '' AFTER `qa_admin_hp` ",
- true
- );
-}
-
-// 상단 하단 설정 필드 추가
-if (!isset($qaconfig['qa_include_head'])) {
- sql_query(
- " ALTER TABLE `{$g5['qa_config_table']}`
- ADD `qa_include_head` varchar(255) NOT NULL DEFAULT '' AFTER `qa_insert_content`,
- ADD `qa_include_tail` varchar(255) NOT NULL DEFAULT '' AFTER `qa_include_head`,
- ADD `qa_content_head` text NOT NULL AFTER `qa_include_tail`,
- ADD `qa_content_tail` text NOT NULL AFTER `qa_content_head`,
- ADD `qa_mobile_content_head` text NOT NULL AFTER `qa_content_tail`,
- ADD `qa_mobile_content_tail` text NOT NULL AFTER `qa_mobile_content_head` ",
- true
- );
-}
?>
기타설정';
$pg_anchor .= '';
// 쿠폰 적용 불가 설정 필드 추가
-if(!sql_query(" select ca_nocoupon from {$g5['g5_shop_category_table']} limit 1 ", false)) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_category_table']}`
- ADD `ca_nocoupon` tinyint(4) NOT NULL DEFAULT '0' AFTER `ca_adult_use` ", true);
-}
// 스킨 디렉토리 필드 추가
-if(!sql_query(" select ca_skin_dir from {$g5['g5_shop_category_table']} limit 1 ", false)) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_category_table']}`
- ADD `ca_skin_dir` varchar(255) NOT NULL DEFAULT '' AFTER `ca_name`,
- ADD `ca_mobile_skin_dir` varchar(255) NOT NULL DEFAULT '' AFTER `ca_skin_dir` ", true);
-}
// 분류 출력순서 필드 추가
-if(!sql_query(" select ca_order from {$g5['g5_shop_category_table']} limit 1 ", false)) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_category_table']}`
- ADD `ca_order` int(11) NOT NULL DEFAULT '0' AFTER `ca_name` ", true);
- sql_query(" ALTER TABLE `{$g5['g5_shop_category_table']}` ADD INDEX(`ca_order`) ", true);
-}
// 모바일 상품 출력줄수 필드 추가
-if(!sql_query(" select ca_mobile_list_row from {$g5['g5_shop_category_table']} limit 1 ", false)) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_category_table']}`
- ADD `ca_mobile_list_row` int(11) NOT NULL DEFAULT '0' AFTER `ca_mobile_list_mod` ", true);
-}
// 스킨 Path
if(!$ca['ca_skin_dir'])
@@ -636,4 +618,4 @@ jQuery(function($){
결제설정
배송설정
기타설정
-SMS설정
-';
-
-// 무이자 할부 사용설정 필드 추가
-if(!isset($default['de_card_noint_use'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_card_noint_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `de_card_use` ", true);
-}
-
-// 모바일 관련상품 설정 필드추가
-if(!isset($default['de_mobile_rel_list_use'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_mobile_rel_list_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `de_rel_img_height`,
- ADD `de_mobile_rel_list_skin` varchar(255) NOT NULL DEFAULT '' AFTER `de_mobile_rel_list_use`,
- ADD `de_mobile_rel_img_width` int(11) NOT NULL DEFAULT '0' AFTER `de_mobile_rel_list_skin`,
- ADD `de_mobile_rel_img_height` int(11) NOT NULL DEFAULT ' 0' AFTER `de_mobile_rel_img_width`", true);
-}
-
-// 신규회원 쿠폰 설정 필드 추가
-if(!isset($default['de_member_reg_coupon_use'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_member_reg_coupon_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `de_tax_flag_use`,
- ADD `de_member_reg_coupon_term` int(11) NOT NULL DEFAULT '0' AFTER `de_member_reg_coupon_use`,
- ADD `de_member_reg_coupon_price` int(11) NOT NULL DEFAULT '0' AFTER `de_member_reg_coupon_term` ", true);
-}
-
-// 신규회원 쿠폰 주문 최소금액 필드추가
-if(!isset($default['de_member_reg_coupon_minimum'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_member_reg_coupon_minimum` int(11) NOT NULL DEFAULT '0' AFTER `de_member_reg_coupon_price` ", true);
-}
-
-// lg 결제관련 필드 추가
-if(!isset($default['de_pg_service'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_pg_service` varchar(255) NOT NULL DEFAULT '' AFTER `de_sms_hp` ", true);
-}
-
-
-// inicis 필드 추가
-if(!isset($default['de_inicis_mid'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_inicis_mid` varchar(255) NOT NULL DEFAULT '' AFTER `de_kcp_site_key` ", true);
-}
-
-// 모바일 초기화면 이미지 줄 수 필드 추가
-if(!isset($default['de_mobile_type1_list_row'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_mobile_type1_list_row` int(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type1_list_mod`,
- ADD `de_mobile_type2_list_row` int(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type2_list_mod`,
- ADD `de_mobile_type3_list_row` int(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type3_list_mod`,
- ADD `de_mobile_type4_list_row` int(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type4_list_mod`,
- ADD `de_mobile_type5_list_row` int(11) NOT NULL DEFAULT '0' AFTER `de_mobile_type5_list_mod` ", true);
-}
-
-// 모바일 관련상품 이미지 줄 수 필드 추가
-if(!isset($default['de_mobile_rel_list_mod'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_mobile_rel_list_mod` int(11) NOT NULL DEFAULT '0' AFTER `de_mobile_rel_list_skin` ", true);
-}
-
-// 모바일 검색상품 이미지 줄 수 필드 추가
-if(!isset($default['de_mobile_search_list_row'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_mobile_search_list_row` int(11) NOT NULL DEFAULT '0' AFTER `de_mobile_search_list_mod` ", true);
-}
-
-// PG 간펼결제 사용여부 필드 추가
-if(!isset($default['de_easy_pay_use'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_easy_pay_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `de_iche_use` ", true);
-}
-
-// 이니시스 삼성페이 사용여부 필드 추가
-if(!isset($default['de_samsung_pay_use'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_samsung_pay_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `de_easy_pay_use` ", true);
-}
-
-// 이니시스
-if(!isset($default['de_inicis_cartpoint_use'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_inicis_cartpoint_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `de_samsung_pay_use` ", true);
-}
-
-// 이니시스 lpay 사용여부 필드 추가
-if(!isset($default['de_inicis_lpay_use'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_inicis_lpay_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `de_samsung_pay_use` ", true);
-}
-
-// 이니시스 kakaopay 사용여부 필드 추가
-if(!isset($default['de_inicis_kakaopay_use'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_inicis_kakaopay_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `de_inicis_lpay_use` ", true);
-}
-
-// 카카오페이 필드 추가
-if(!isset($default['de_kakaopay_mid'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_kakaopay_mid` varchar(255) NOT NULL DEFAULT '' AFTER `de_tax_flag_use`,
- ADD `de_kakaopay_key` varchar(255) NOT NULL DEFAULT '' AFTER `de_kakaopay_mid`,
- ADD `de_kakaopay_enckey` varchar(255) NOT NULL DEFAULT '' AFTER `de_kakaopay_key`,
- ADD `de_kakaopay_hashkey` varchar(255) NOT NULL DEFAULT '' AFTER `de_kakaopay_enckey`,
- ADD `de_kakaopay_cancelpwd` varchar(255) NOT NULL DEFAULT '' AFTER `de_kakaopay_hashkey` ", true);
-}
-
-// 이니시스 웹결제 사인키 필드 추가
-if(!isset($default['de_inicis_sign_key'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_inicis_sign_key` varchar(255) NOT NULL DEFAULT '' ", true);
-}
-
-// 네이버페이 필드추가
-if(!isset($default['de_naverpay_mid'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_naverpay_mid` varchar(255) NOT NULL DEFAULT '' AFTER `de_kakaopay_cancelpwd`,
- ADD `de_naverpay_cert_key` varchar(255) NOT NULL DEFAULT '' AFTER `de_naverpay_mid`,
- ADD `de_naverpay_button_key` varchar(255) NOT NULL DEFAULT '' AFTER `de_naverpay_cert_key`,
- ADD `de_naverpay_test` tinyint(4) NOT NULL DEFAULT '0' AFTER `de_naverpay_button_key`,
- ADD `de_naverpay_mb_id` varchar(255) NOT NULL DEFAULT '' AFTER `de_naverpay_test`,
- ADD `de_naverpay_sendcost` varchar(255) NOT NULL DEFAULT '' AFTER `de_naverpay_mb_id`", true);
-}
-
-// 유형별상품리스트 설정필드 추가
-if(!isset($default['de_listtype_list_skin'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_listtype_list_skin` varchar(255) NOT NULL DEFAULT '' AFTER `de_mobile_search_img_height`,
- ADD `de_listtype_list_mod` int(11) NOT NULL DEFAULT '0' AFTER `de_listtype_list_skin`,
- ADD `de_listtype_list_row` int(11) NOT NULL DEFAULT '0' AFTER `de_listtype_list_mod`,
- ADD `de_listtype_img_width` int(11) NOT NULL DEFAULT '0' AFTER `de_listtype_list_row`,
- ADD `de_listtype_img_height` int(11) NOT NULL DEFAULT '0' AFTER `de_listtype_img_width`,
- ADD `de_mobile_listtype_list_skin` varchar(255) NOT NULL DEFAULT '' AFTER `de_listtype_img_height`,
- ADD `de_mobile_listtype_list_mod` int(11) NOT NULL DEFAULT '0' AFTER `de_mobile_listtype_list_skin`,
- ADD `de_mobile_listtype_list_row` int(11) NOT NULL DEFAULT '0' AFTER `de_mobile_listtype_list_mod`,
- ADD `de_mobile_listtype_img_width` int(11) NOT NULL DEFAULT '0' AFTER `de_mobile_listtype_list_row`,
- ADD `de_mobile_listtype_img_height` int(11) NOT NULL DEFAULT '0' AFTER `de_mobile_listtype_img_width` ", true);
-}
-
-// 임시저장 테이블이 없을 경우 생성
-if(!sql_query(" DESC {$g5['g5_shop_post_log_table']} ", false)) {
- sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['g5_shop_post_log_table']}` (
- `log_id` int(11) NOT NULL AUTO_INCREMENT,
- `oid` bigint(20) unsigned NOT NULL,
- `mb_id` varchar(255) NOT NULL DEFAULT '',
- `post_data` text NOT NULL,
- `ol_code` varchar(255) NOT NULL DEFAULT '',
- `ol_msg` text NOT NULL,
- `ol_datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `ol_ip` varchar(25) NOT NULL DEFAULT '',
- PRIMARY KEY (`log_id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ", false);
-}
-
-
-// 현금영수증 발급 조건 추가
-if(!isset($default['de_taxsave_types'])) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD `de_taxsave_types` set('account','vbank','transfer') NOT NULL DEFAULT 'account' AFTER `de_taxsave_use` ", true);
-}
-
-// 아이코드 토큰키 추가
-if( ! isset($config['cf_icode_token_key']) ){
- $sql = "ALTER TABLE `{$g5['config_table']}`
- ADD COLUMN `cf_icode_token_key` VARCHAR(100) NOT NULL DEFAULT '' AFTER `cf_icode_server_port`; ";
- sql_query($sql, false);
-}
-
-// PG 간편결제 추가 ( NHN_KCP 네이버페이, 카카오페이 )
-if( ! isset($default['de_easy_pay_services']) ){
- $sql = "ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD COLUMN `de_easy_pay_services` VARCHAR(255) NOT NULL DEFAULT '' AFTER `de_easy_pay_use`; ";
- sql_query($sql, false);
-}
-
-// KG 이니시스 iniapi_key 추가
-if( ! isset($default['de_inicis_iniapi_key']) ){
- $sql = "ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD COLUMN `de_inicis_iniapi_key` VARCHAR(30) NOT NULL DEFAULT '' AFTER `de_inicis_sign_key`,
- ADD COLUMN `de_inicis_iniapi_iv` VARCHAR(30) NOT NULL DEFAULT '' AFTER `de_inicis_iniapi_key`; ";
- sql_query($sql, false);
-}
-
-// KG이니시스 INIpay PRO 설정 추가
-if (!isset($default['de_inicis_pro_use'])) {
- $sql = "ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD COLUMN `de_inicis_pro_use` TINYINT(4) NOT NULL DEFAULT '0' AFTER `de_inicis_sign_key`,
- ADD COLUMN `de_inicis_hash_key` VARCHAR(255) NOT NULL DEFAULT '' AFTER `de_inicis_pro_use`; ";
- sql_query($sql, false);
-}
-
-if (!isset($default['de_inicis_pro_alert_use'])) {
- sql_query("ALTER TABLE `{$g5['g5_shop_default_table']}` ADD COLUMN `de_inicis_pro_alert_use` TINYINT(4) NOT NULL DEFAULT '1'", false);
- $default['de_inicis_pro_alert_use'] = 1;
-}
-if (!isset($default['de_inicis_pro_reconcile_use'])) {
- sql_query("ALTER TABLE `{$g5['g5_shop_default_table']}` ADD COLUMN `de_inicis_pro_reconcile_use` TINYINT(4) NOT NULL DEFAULT '0'", false);
- $default['de_inicis_pro_reconcile_use'] = 0;
-}
-if (!isset($default['de_inicis_pro_log_days'])) {
- sql_query("ALTER TABLE `{$g5['g5_shop_default_table']}` ADD COLUMN `de_inicis_pro_log_days` INT(11) NOT NULL DEFAULT '365'", false);
- $default['de_inicis_pro_log_days'] = 365;
-}
-if (!isset($default['de_inicis_pro_summary_days'])) {
- sql_query("ALTER TABLE `{$g5['g5_shop_default_table']}` ADD COLUMN `de_inicis_pro_summary_days` INT(11) NOT NULL DEFAULT '1825'", false);
- $default['de_inicis_pro_summary_days'] = 1825;
-}
-if (!array_key_exists('de_inicis_pro_monitor_at', $default)) {
- sql_query("ALTER TABLE `{$g5['g5_shop_default_table']}` ADD COLUMN `de_inicis_pro_monitor_at` DATETIME DEFAULT NULL", false);
- $default['de_inicis_pro_monitor_at'] = '';
-}
-if (!isset($default['de_inicis_pro_monitor_message'])) {
- sql_query("ALTER TABLE `{$g5['g5_shop_default_table']}` ADD COLUMN `de_inicis_pro_monitor_message` VARCHAR(255) NOT NULL DEFAULT ''", false);
- $default['de_inicis_pro_monitor_message'] = '';
-}
-
-// KG이니시스 INIpay PRO 결제 감사 테이블이 없으면 생성한다.
-include_once(G5_SHOP_PATH.'/inicis/pro/inicis_pro.lib.php');
-if (function_exists('inicis_pro_audit_ensure_tables'))
- inicis_pro_audit_ensure_tables();
-
-// NICEPAY mid, key 추가
-if (! isset($default['de_nicepay_mid'])) {
- $sql = "ALTER TABLE `{$g5['g5_shop_default_table']}`
- ADD COLUMN `de_nicepay_mid` VARCHAR(20) NOT NULL DEFAULT '' AFTER `de_inicis_cartpoint_use`,
- ADD COLUMN `de_nicepay_key` VARCHAR(150) NOT NULL DEFAULT '' AFTER `de_nicepay_mid`; ";
- sql_query($sql, false);
-}
-
-// 토스페이먼츠 client, secret key 추가
-if( ! isset($config['cf_toss_client_key']) ){
- $sql = "ALTER TABLE `{$g5['config_table']}`
- ADD COLUMN `cf_toss_client_key` VARCHAR(100) NOT NULL DEFAULT '' AFTER `cf_lg_mert_key`,
- ADD COLUMN `cf_toss_secret_key` VARCHAR(100) NOT NULL DEFAULT '' AFTER `cf_toss_client_key`; ";
- sql_query($sql, false);
-}
-
-if( function_exists('pg_setting_check') ){
- pg_setting_check(true);
-}
-
+SMS설정
+';
+
+if( function_exists('pg_setting_check') ){
+ pg_setting_check(true);
+}
+
if(!$default['de_kakaopay_cancelpwd']){
$default['de_kakaopay_cancelpwd'] = '1111';
}
diff --git a/adm/shop_admin/itemeventform.php b/adm/shop_admin/itemeventform.php
index a12967713..898a97796 100644
--- a/adm/shop_admin/itemeventform.php
+++ b/adm/shop_admin/itemeventform.php
@@ -73,10 +73,6 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
}
// 모바일 1줄당 이미지수 필드 추가
-if(!sql_query(" select ev_mobile_list_row from {$g5['g5_shop_event_table']} limit 1 ", false)) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_event_table']}`
- ADD `ev_mobile_list_row` int(11) NOT NULL DEFAULT '0' AFTER `ev_mobile_list_mod` ", true);
-}
include_once (G5_ADMIN_PATH.'/admin.head.php');
?>
@@ -455,4 +451,4 @@ function feventform_check(f)
상품분류
@@ -199,17 +183,8 @@ $pg_anchor ='
// 쿠폰적용안함 설정 필드 추가
-if(!sql_query(" select it_nocoupon from {$g5['g5_shop_item_table']} limit 1", false)) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_item_table']}`
- ADD `it_nocoupon` tinyint(4) NOT NULL DEFAULT '0' AFTER `it_use` ", true);
-}
// 스킨필드 추가
-if(!sql_query(" select it_skin from {$g5['g5_shop_item_table']} limit 1", false)) {
- sql_query(" ALTER TABLE `{$g5['g5_shop_item_table']}`
- ADD `it_skin` varchar(255) NOT NULL DEFAULT '' AFTER `ca_id3`,
- ADD `it_mobile_skin` varchar(255) NOT NULL DEFAULT '' AFTER `it_skin` ", true);
-}
?>