60 lines
1.9 KiB
PHP
60 lines
1.9 KiB
PHP
<?php
|
|
$sub_menu = '000200';
|
|
include_once('./_common.php');
|
|
|
|
auth_check_menu($auth, $sub_menu, "w");
|
|
check_admin_token();
|
|
|
|
// 💡 [핵심 수정] w, md_id 등 GET/POST 양쪽으로 올 수 있는 값은 $_REQUEST로 받습니다.
|
|
$w = isset($_REQUEST['w']) ? $_REQUEST['w'] : '';
|
|
$md_id = isset($_REQUEST['md_id']) ? preg_replace('/[^0-9]/', '', $_REQUEST['md_id']) : '';
|
|
$table_name = (isset($_REQUEST['tables']) && $_REQUEST['tables']) ? $_REQUEST['tables'] : 'rb_module';
|
|
$qstr = isset($_REQUEST['qstr']) ? $_REQUEST['qstr'] : '';
|
|
|
|
|
|
if ($w == 'd') {
|
|
if ($is_admin != 'super') {
|
|
alert("최고관리자만 삭제할 수 있습니다.");
|
|
}
|
|
if (!$md_id) {
|
|
alert('모듈 ID가 없습니다.');
|
|
}
|
|
// 삭제
|
|
$sql = " DELETE FROM {$table_name} WHERE md_id = '{$md_id}' ";
|
|
sql_query($sql);
|
|
|
|
} else {
|
|
// 💡 [핵심 수정] 나머지 폼 데이터는 $_POST로 받아서 동적으로 SQL SET 구문을 생성합니다.
|
|
$sql_set_array = array();
|
|
foreach ($_POST as $key => $value) {
|
|
// w, md_id 등 이미 처리한 변수나 불필요한 변수는 건너뜁니다.
|
|
if (in_array($key, ['w', 'md_id', 'tables', 'qstr', 'token'])) {
|
|
continue;
|
|
}
|
|
$sql_set_array[] = " {$key} = '" . sql_real_escape_string(trim($value)) . "' ";
|
|
}
|
|
|
|
// 공통으로 추가할 필드
|
|
$sql_set_array[] = " md_datetime = '".G5_TIME_YMDHIS."' ";
|
|
$sql_set_array[] = " md_ip = '{$_SERVER['REMOTE_ADDR']}' ";
|
|
|
|
$sql_set = implode(', ', $sql_set_array);
|
|
|
|
if ($w == 'u') {
|
|
if (!$md_id) {
|
|
alert('모듈 ID가 없습니다.');
|
|
}
|
|
// 수정
|
|
$sql = " UPDATE {$table_name} SET {$sql_set} WHERE md_id = '{$md_id}' ";
|
|
sql_query($sql);
|
|
|
|
} else {
|
|
// 생성
|
|
$sql = " INSERT INTO {$table_name} SET {$sql_set} ";
|
|
sql_query($sql);
|
|
}
|
|
}
|
|
|
|
goto_url("./module_list.php?tables=$table_name&$qstr");
|
|
?>
|