174 lines
8.3 KiB
PHP
174 lines
8.3 KiB
PHP
<?php
|
|
$sub_menu = '100350';
|
|
include_once('./_common.php');
|
|
|
|
$w = isset($_REQUEST['w']) ? substr(trim($_REQUEST['w']), 0, 1) : '';
|
|
$um_id = isset($_REQUEST['um_id']) ? (int)$_REQUEST['um_id'] : 0;
|
|
|
|
// ==================================================================
|
|
// 💡 [핵심] 폼 제출(수정) 처리 로직
|
|
// ==================================================================
|
|
if ($w == 'u' && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
|
auth_check_menu($auth, $sub_menu, 'w');
|
|
check_admin_token();
|
|
|
|
if (!$um_id) {
|
|
alert('um_id 값이 없습니다.');
|
|
}
|
|
|
|
// 입력값 정리
|
|
$screen_code = trim($_POST['screen_code']);
|
|
$group_code = trim($_POST['group_code']);
|
|
$resource_code = trim($_POST['resource_code']);
|
|
$resource_type = trim($_POST['resource_type']);
|
|
$resource_desc = trim($_POST['resource_desc']);
|
|
$cl_name = isset($_POST['cl_name']) ? trim($_POST['cl_name']) : '';
|
|
|
|
// 유효성 검사
|
|
if (!$screen_code || !$group_code || !$resource_code || !$resource_type) {
|
|
alert('필수 항목을 모두 입력해주세요.');
|
|
}
|
|
if ($resource_type == 'LABEL' && !$cl_name) {
|
|
alert('UI 라벨 타입은 한국어 라벨명을 필수로 입력해야 합니다.');
|
|
}
|
|
|
|
// 1. g5_ui_manager 테이블 정보 업데이트
|
|
$sql = "UPDATE {$g5['ui_manager_table']}
|
|
SET screen_code = '{$screen_code}',
|
|
group_code = '{$group_code}',
|
|
resource_code = '{$resource_code}',
|
|
resource_type = '{$resource_type}',
|
|
resource_desc = '{$resource_desc}',
|
|
updated_at = '".G5_TIME_YMDHIS."',
|
|
updated_by = '{$member['mb_id']}'
|
|
WHERE um_id = '{$um_id}'";
|
|
sql_query($sql);
|
|
|
|
// 2. 리소스 타입이 'LABEL'인 경우, g5_common_lang 테이블 정보 업데이트 (없으면 생성)
|
|
if ($resource_type == 'LABEL') {
|
|
$sql = "SELECT cl_id FROM {$g5['common_lang_table']} WHERE target_table = '{$g5['ui_manager_table']}' AND target_id = '{$um_id}' AND lang_code = 'ko'";
|
|
$lang_row = sql_fetch($sql);
|
|
|
|
if (isset($lang_row['cl_id'])) { // 기존 데이터가 있으면 UPDATE
|
|
$sql = "UPDATE {$g5['common_lang_table']}
|
|
SET cl_name = '{$cl_name}',
|
|
updated_at = '".G5_TIME_YMDHIS."',
|
|
updated_by = '{$member['mb_id']}'
|
|
WHERE cl_id = '{$lang_row['cl_id']}'";
|
|
} else { // 기존 데이터가 없으면 INSERT
|
|
$sql = "INSERT INTO {$g5['common_lang_table']}
|
|
SET target_table = '{$g5['ui_manager_table']}',
|
|
target_id = '{$um_id}',
|
|
lang_code = 'ko',
|
|
cl_name = '{$cl_name}',
|
|
updated_at = '".G5_TIME_YMDHIS."',
|
|
updated_by = '{$member['mb_id']}'";
|
|
}
|
|
sql_query($sql);
|
|
}
|
|
|
|
goto_url('./ui_manager_list.php');
|
|
}
|
|
// ==================================================================
|
|
|
|
auth_check_menu($auth, $sub_menu, 'r');
|
|
|
|
// 수정할 리소스 데이터 조회
|
|
if ($w == 'u') {
|
|
if (!$um_id) {
|
|
alert('um_id 값이 없습니다.', './ui_manager_list.php');
|
|
}
|
|
|
|
$sql = "SELECT A.*, B.cl_name
|
|
FROM {$g5['ui_manager_table']} AS A
|
|
LEFT JOIN {$g5['common_lang_table']} AS B
|
|
ON (A.um_id = B.target_id AND B.target_table = '{$g5['ui_manager_table']}' AND B.lang_code = 'ko')
|
|
WHERE A.um_id = '{$um_id}'";
|
|
$ui_resource = sql_fetch($sql);
|
|
|
|
if (!isset($ui_resource['um_id'])) {
|
|
alert('존재하지 않는 리소스입니다.', './ui_manager_list.php');
|
|
}
|
|
} else {
|
|
alert('w 값이 올바르지 않습니다.', './ui_manager_list.php');
|
|
}
|
|
|
|
$g5['title'] = 'UI 리소스 수정';
|
|
include_once(G5_ADMIN_PATH . '/admin.head.php');
|
|
|
|
add_stylesheet('<link rel="stylesheet" href="' . G5_ADMIN_URL . '/code_manager/css/code_manager.css?ver=1.1">', 0);
|
|
?>
|
|
|
|
<section id="code_manager_form">
|
|
<h2 class="h2_frm">UI 리소스 수정</h2>
|
|
|
|
<form name="fresourceform" id="fresourceform" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
|
|
<input type="hidden" name="w" value="u">
|
|
<input type="hidden" name="um_id" value="<?php echo $um_id; ?>">
|
|
<input type="hidden" name="token" value="<?php echo get_admin_token(); ?>">
|
|
|
|
<div class="tbl_frm01 tbl_wrap">
|
|
<table>
|
|
<caption>UI 리소스 수정 폼</caption>
|
|
<colgroup>
|
|
<col class="grid_4">
|
|
<col>
|
|
</colgroup>
|
|
<tbody>
|
|
<tr>
|
|
<th scope="row"><label for="screen_code">화면 코드</label></th>
|
|
<td>
|
|
<input type="text" name="screen_code" id="screen_code" required class="required frm_input" size="30" value="<?php echo get_text($ui_resource['screen_code']); ?>">
|
|
<span class="frm_info">리소스가 사용될 화면의 고유 코드 (예: order_form, member_join)</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row"><label for="group_code">그룹 코드</label></th>
|
|
<td>
|
|
<input type="text" name="group_code" id="group_code" required class="required frm_input" size="30" value="<?php echo get_text($ui_resource['group_code']); ?>">
|
|
<span class="frm_info">화면 내에서 리소스를 묶어줄 그룹 코드 (예: address_info, common_options)</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">리소스 타입</th>
|
|
<td>
|
|
<label><input type="radio" name="resource_type" value="LABEL" <?php echo get_checked($ui_resource['resource_type'], 'LABEL'); ?>> UI 라벨 (단일 텍스트)</label>
|
|
<label><input type="radio" name="resource_type" value="DATA" <?php echo get_checked($ui_resource['resource_type'], 'DATA'); ?>> 데이터 (선택 옵션)</label>
|
|
</td>
|
|
</tr>
|
|
<tr class="resource-type-field" id="label-field">
|
|
<th scope="row"><label for="cl_name">한국어 라벨명</label></th>
|
|
<td>
|
|
<input type="text" name="cl_name" id="cl_name" class="frm_input" size="50" value="<?php echo get_text($ui_resource['cl_name']); ?>">
|
|
<span class="frm_info">화면에 표시될 실제 텍스트 (예: 집의 유형, 창호 재질)</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row"><label for="resource_code">리소스 코드</label></th>
|
|
<td>
|
|
<input type="text" name="resource_code" id="resource_code" required class="required frm_input" size="30" value="<?php echo get_text($ui_resource['resource_code']); ?>">
|
|
<span class="frm_info">개발자가 이 리소스를 호출할 때 사용할 고유 코드 (예: house_type_label, house_type_data)</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row"><label for="resource_desc">설명</label></th>
|
|
<td>
|
|
<input type="text" name="resource_desc" id="resource_desc" class="frm_input" size="80" value="<?php echo get_text($ui_resource['resource_desc']); ?>">
|
|
<span class="frm_info">이 리소스의 용도에 대한 설명 (관리자 참고용)</span>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="btn_confirm01 btn_confirm">
|
|
<a href="./ui_manager_list.php" class="btn_cancel btn">목록으로</a>
|
|
<input type="submit" value="수정" class="btn_submit btn" accesskey="s">
|
|
</div>
|
|
</form>
|
|
</section>
|
|
|
|
<script src="<?php echo G5_ADMIN_URL; ?>/code_manager/js/ui_manager.js?ver=1.2"></script>
|
|
|
|
<?php
|
|
include_once(G5_ADMIN_PATH . '/admin.tail.php');
|