(int) ($_POST['consultation_duration'] ?? 60), 'max_persons_per_slot' => (int) ($_POST['max_persons_per_slot'] ?? 2), 'consultation_fee' => (int) ($_POST['consultation_fee'] ?? 50000), 'account_info' => trim($_POST['account_info'] ?? ''), 'max_advance_days' => (int) ($_POST['max_advance_days'] ?? 30), 'min_advance_hours' => (int) ($_POST['min_advance_hours'] ?? 24), 'cancel_deadline_hours' => (int) ($_POST['cancel_deadline_hours'] ?? 24) ]; // 유효성 검증 (생략) foreach ($basic_settings as $key => $value) { consultant_set_config($key, $value); } alert('기본 설정이 저장되었습니다.', $_SERVER['PHP_SELF'] . '?tab=basic'); } // 요일별 설정 저장 if ($_POST['action'] == 'save_weekly_settings') { $days = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday']; foreach ($days as $day) { consultant_set_config($day . '_enabled', $_POST[$day . '_enabled'] ?? '0'); consultant_set_config($day . '_start', $_POST[$day . '_start'] ?? '09:00'); consultant_set_config($day . '_end', $_POST[$day . '_end'] ?? '18:00'); consultant_set_config($day . '_lunch_start', $_POST[$day . '_lunch_start'] ?? '12:00'); consultant_set_config($day . '_lunch_end', $_POST[$day . '_lunch_end'] ?? '13:00'); } alert('요일별 설정이 저장되었습니다.', $_SERVER['PHP_SELF'] . '?tab=weekly'); } // 알림 설정 저장 if ($_POST['action'] == 'save_notification_settings') { consultant_set_config('notification_enabled', $_POST['notification_enabled'] ?? '0'); alert('알림 설정이 저장되었습니다.', $_SERVER['PHP_SELF'] . '?tab=notification'); } // 💡 [추가] 고급 설정 저장 처리 if ($_POST['action'] == 'save_advanced_settings') { $config_values = $_POST['config_value'] ?? []; $config_descs = $_POST['config_desc'] ?? []; foreach ($config_values as $key => $value) { $sql = "UPDATE consultant_config SET config_value = '" . sql_real_escape_string($value) . "', config_desc = '" . sql_real_escape_string($config_descs[$key] ?? '') . "' WHERE config_key = '" . sql_real_escape_string($key) . "'"; sql_query($sql); } alert('고급 설정이 저장되었습니다.', $_SERVER['PHP_SELF'] . '?tab=advanced'); } } catch (Exception $e) { alert('설정 저장 중 오류가 발생했습니다: ' . $e->getMessage()); } } // --- 데이터 조회 --- // 기본 설정 $consultation_duration = consultant_get_config('consultation_duration', '60'); $max_persons_per_slot = consultant_get_config('max_persons_per_slot', '2'); $consultation_fee = consultant_get_config('consultation_fee', '50000'); $account_info = consultant_get_config('account_info', '국민은행 123-456-789 (주)상담센터'); $notification_enabled = consultant_get_config('notification_enabled', '1'); $max_advance_days = consultant_get_config('max_advance_days', '30'); $min_advance_hours = consultant_get_config('min_advance_hours', '24'); $cancel_deadline_hours = consultant_get_config('cancel_deadline_hours', '24'); // 요일별 설정 $days = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday']; $day_names = ['월요일', '화요일', '수요일', '목요일', '금요일', '토요일', '일요일']; $weekly_settings = []; foreach ($days as $i => $day) { $weekly_settings[$day] = [ 'name' => $day_names[$i], 'enabled' => consultant_get_config($day . '_enabled', $day == 'saturday' || $day == 'sunday' ? '0' : '1'), 'start' => consultant_get_config($day . '_start', '09:00'), 'end' => consultant_get_config($day . '_end', '18:00'), 'lunch_start' => consultant_get_config($day . '_lunch_start', '12:00'), 'lunch_end' => consultant_get_config($day . '_lunch_end', '13:00') ]; } // 💡 [추가] 고급 설정 데이터 조회 $advanced_configs = []; $result = sql_query("SELECT * FROM consultant_config ORDER BY id"); while ($row = sql_fetch_array($result)) { $advanced_configs[] = $row; } include_once(G5_ADMIN_PATH . '/admin.head.php'); ?>