100 lines
4.4 KiB
PHP
100 lines
4.4 KiB
PHP
<?php
|
|
$sub_menu = "800300";
|
|
include_once('./_common.php');
|
|
|
|
auth_check($auth[$sub_menu], 'r');
|
|
|
|
$g5['title'] = '시스템 설정';
|
|
|
|
// 설정값 로드
|
|
$configs = [];
|
|
$result = sql_query("SELECT * FROM order_config ORDER BY id ASC");
|
|
while ($row = sql_fetch_array($result)) {
|
|
$configs[$row['config_key']] = $row;
|
|
}
|
|
|
|
// POST 요청 처리
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|
auth_check($auth[$sub_menu], 'w');
|
|
|
|
try {
|
|
foreach ($_POST['config'] as $key => $value) {
|
|
$key = clean_xss_tags($key);
|
|
$value = clean_xss_tags($value);
|
|
|
|
if (isset($configs[$key])) {
|
|
// 기존 설정 업데이트
|
|
$sql = "UPDATE order_config SET config_value = '" . sql_real_escape_string($value) . "' WHERE config_key = '" . sql_real_escape_string($key) . "'";
|
|
sql_query($sql);
|
|
} else {
|
|
// 새 설정 추가 (보안상 기본적으로는 비활성화, 필요 시 주석 해제)
|
|
// $sql = "INSERT INTO order_config (config_key, config_value) VALUES ('" . sql_real_escape_string($key) . "', '" . sql_real_escape_string($value) . "')";
|
|
// sql_query($sql);
|
|
}
|
|
}
|
|
alert('설정이 저장되었습니다.');
|
|
} catch (Exception $e) {
|
|
alert('오류: ' . $e->getMessage());
|
|
}
|
|
}
|
|
|
|
include_once(G5_ADMIN_PATH . '/admin.head.php');
|
|
?>
|
|
|
|
<div class="local_desc01 local_desc">
|
|
<p>
|
|
견적 관리 솔루션의 주요 설정을 관리합니다.<br>
|
|
타이머, 수수료율, 알림 모드 등을 설정할 수 있습니다.
|
|
</p>
|
|
</div>
|
|
|
|
<form name="fconfig" method="post">
|
|
<div class="tbl_frm01 tbl_wrap">
|
|
<table>
|
|
<caption><?php echo $g5['title']; ?></caption>
|
|
<colgroup>
|
|
<col class="grid_4">
|
|
<col>
|
|
</colgroup>
|
|
<tbody>
|
|
<?php foreach ($configs as $key => $config): ?>
|
|
<tr>
|
|
<th scope="row">
|
|
<label for="<?php echo $key; ?>"><?php echo $config['config_desc']; ?></label>
|
|
</th>
|
|
<td>
|
|
<?php if ($config['config_type'] === 'boolean'): ?>
|
|
<select name="config[<?php echo $key; ?>]" id="<?php echo $key; ?>">
|
|
<option value="1" <?php echo $config['config_value'] == '1' ? 'selected' : ''; ?>>사용</option>
|
|
<option value="0" <?php echo $config['config_value'] == '0' ? 'selected' : ''; ?>>미사용</option>
|
|
</select>
|
|
<?php elseif ($config['config_type'] === 'select' && $key === 'notification_mode'): ?>
|
|
<select name="config[<?php echo $key; ?>]" id="<?php echo $key; ?>">
|
|
<option value="log" <?php echo $config['config_value'] == 'log' ? 'selected' : ''; ?>>개발 모드 (로그만 기록)</option>
|
|
<option value="send" <?php echo $config['config_value'] == 'send' ? 'selected' : ''; ?>>실제 발송 모드</option>
|
|
</select>
|
|
<?php elseif ($config['config_type'] === 'number'): ?>
|
|
<input type="number" name="config[<?php echo $key; ?>]" id="<?php echo $key; ?>"
|
|
value="<?php echo htmlspecialchars($config['config_value']); ?>" class="frm_input"
|
|
style="width: 100px;">
|
|
<?php if (strpos($config['config_desc'], '%') !== false) echo ' %'; ?>
|
|
<?php else: ?>
|
|
<input type="text" name="config[<?php echo $key; ?>]" id="<?php echo $key; ?>"
|
|
value="<?php echo htmlspecialchars($config['config_value']); ?>" class="frm_input"
|
|
style="width: 90%;">
|
|
<?php endif; ?>
|
|
</td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="btn_confirm01 btn_confirm">
|
|
<input type="submit" value="설정 저장" class="btn_submit">
|
|
</div>
|
|
</form>
|
|
|
|
<?php
|
|
include_once(G5_ADMIN_PATH . '/admin.tail.php');
|
|
?>
|