견적서 시스템 기능 테스트"; // 1. 데이터베이스 테이블 확인 echo "

1. 데이터베이스 테이블 확인

"; $tables_to_check = ['order_config', 'order_mail_templates', 'order_sms_templates', 'estimate']; foreach ($tables_to_check as $table) { $full_table_name = ($table === 'estimate') ? $table : G5_TABLE_PREFIX . $table; $result = sql_query("SHOW TABLES LIKE '{$full_table_name}'", false); if ($result && sql_num_rows($result) > 0) { echo "

✓ {$table} 테이블 존재

"; // 데이터 개수 확인 $count_result = sql_query("SELECT COUNT(*) as cnt FROM {$full_table_name}", false); if ($count_result) { $count_row = sql_fetch_array($count_result); echo "

- 데이터 개수: {$count_row['cnt']}개

"; } } else { echo "

✗ {$table} 테이블 없음

"; } } // 2. notification_helper.php 함수 테스트 echo "

2. 알림 시스템 함수 테스트

"; include_once G5_LIB_PATH . '/notification_helper.php'; // get_order_config 함수 테스트 $timer_enabled = get_order_config('timer_enabled', '1'); $visit_fee = get_order_config('expert_visit_fee', '50000'); echo "

타이머 활성화: " . ($timer_enabled ? '예' : '아니오') . "

"; echo "

전문가 방문 비용: " . number_format($visit_fee) . "원

"; // 3. 템플릿 시스템 테스트 echo "

3. 템플릿 시스템 테스트

"; $mail_templates = sql_query("SELECT template_key, template_name FROM order_mail_templates LIMIT 5"); if ($mail_templates && sql_num_rows($mail_templates) > 0) { echo "

✓ 메일 템플릿 로드 성공

"; echo ""; } else { echo "

✗ 메일 템플릿 없음

"; } $sms_templates = sql_query("SELECT template_key, template_name FROM order_sms_templates LIMIT 5"); if ($sms_templates && sql_num_rows($sms_templates) > 0) { echo "

✓ SMS 템플릿 로드 성공

"; echo ""; } else { echo "

✗ SMS 템플릿 없음

"; } // 4. estimate 테이블 구조 확인 echo "

4. estimate 테이블 구조 확인

"; $result = sql_query("DESCRIBE estimate", false); if ($result) { echo ""; echo ""; while ($row = sql_fetch_array($result)) { $description = ''; if (strpos($row['Field'], 'temp_') === 0) { switch ($row['Field']) { case 'temp_1': $description = '전문가 방문 요청 여부 (Y/N)'; break; case 'temp_2': $description = '전문가 방문 상태'; break; case 'temp_3': $description = '전문가 방문 비용'; break; case 'temp_4': $description = '전문가 방문 일정'; break; case 'temp_5': $description = '전문가 방문 메모'; break; } } elseif (strpos($row['Field'], 'extra_') === 0) { switch ($row['Field']) { case 'extra_1': $description = '고객 연락처'; break; case 'extra_2': $description = '결제 상태'; break; case 'extra_3': $description = '추가 요청사항'; break; case 'extra_4': $description = '관리자 메모'; break; case 'extra_5': $description = '예비 필드'; break; } } echo ""; } echo "
컬럼명타입설명
{$row['Field']}{$row['Type']}{$description}
"; } else { echo "

✗ estimate 테이블 구조 확인 실패

"; } // 5. 24시간 타이머 계산 테스트 echo "

5. 24시간 타이머 계산 테스트

"; $now = time(); $test_time = date('Y-m-d H:i:s', $now - 3600); // 1시간 전 $test_timestamp = strtotime($test_time); $elapsed = $now - $test_timestamp; $limit_seconds = 24 * 60 * 60; // 24시간 $remain = $limit_seconds - $elapsed; echo "

현재 시간: " . date('Y-m-d H:i:s', $now) . "

"; echo "

테스트 시작 시간: {$test_time}

"; echo "

경과 시간: " . gmdate('H:i:s', $elapsed) . "

"; echo "

남은 시간: " . gmdate('H:i:s', $remain) . "

"; echo "

타이머 활성화: " . ($remain > 0 ? '예' : '아니오') . "

"; echo "
"; echo "

테스트 완료

"; echo "

데이터베이스 업데이트 실행

"; echo "

시스템 설정 관리

"; echo "

전문가 방문 관리

"; echo "

메일 템플릿 관리

"; echo "

SMS 템플릿 관리

"; ?>