설문 라이브러리 파일이 없습니다.'; return; } include_once($survey_lib_path); // 모듈 설정에서 설문 ID 가져오기 (rb.custom 모듈 방식) $sv_id = 0; // 1. 모듈 설정에서 sv_id 확인 (rb_module 테이블의 설정값) if (isset($row_mod['md_custom_survey_key']) && $row_mod['md_custom_survey_key']) { $sv_id = (int)$row_mod['md_custom_survey_key']; } // 2. URL 파라미터에서 sv_id 확인 (우선순위 높음) if (isset($_GET['sv_id']) && $_GET['sv_id']) { $sv_id = (int)$_GET['sv_id']; } else if (isset($_POST['sv_id']) && $_POST['sv_id']) { $sv_id = (int)$_POST['sv_id']; } // sv_id가 없으면 설문 선택 인터페이스 표시 if (!$sv_id && $sv_id == 0) { echo '
'; echo '
'; echo '
'; echo '
'; echo '

설문을 선택해주세요

'; echo '

모듈 설정에서 설문을 선택하거나, URL에 ?sv_id=설문번호를 추가하여 특정 설문을 표시할 수 있습니다.

'; // 모든 설문 목록 표시 (관리자용) if ($is_admin) { $all_surveys = sql_query("SELECT sv_id, sv_title, sv_status, sv_start_date, sv_end_date FROM survey_master ORDER BY sv_created_at DESC LIMIT 10"); if (sql_num_rows($all_surveys) > 0) { echo '
'; echo '

설문 목록 (관리자 전용):

'; echo '
'; while ($survey_item = sql_fetch_array($all_surveys)) { $status_class = ''; $status_text = ''; switch($survey_item['sv_status']) { case 'active': $status_class = 'status-active'; $status_text = '진행중'; break; case 'draft': $status_class = 'status-draft'; $status_text = '임시저장'; break; case 'closed': $status_class = 'status-closed'; $status_text = '종료'; break; default: $status_class = 'status-default'; $status_text = $survey_item['sv_status']; break; } echo '
'; echo '
'; echo '
'.$survey_item['sv_title'].'
'; echo ''.$status_text.''; echo '
'; echo '
'; echo '

기간: '.date('Y-m-d', strtotime($survey_item['sv_start_date'])).' ~ '.date('Y-m-d', strtotime($survey_item['sv_end_date'])).'

'; echo '설문 보기'; echo '
'; echo '
'; } echo '
'; echo '
'; } } else { // 일반 사용자용 - 활성화된 설문만 표시 $active_surveys = sql_query("SELECT sv_id, sv_title, sv_description FROM survey_master WHERE sv_status = 'active' AND sv_start_date <= NOW() AND sv_end_date >= NOW() ORDER BY sv_created_at DESC LIMIT 5"); if (sql_num_rows($active_surveys) > 0) { echo '
'; echo '

현재 진행 중인 설문:

'; echo '
'; while ($survey_item = sql_fetch_array($active_surveys)) { echo '
'; echo ''; if ($survey_item['sv_description']) { echo '
'; echo '

'.htmlspecialchars(mb_substr($survey_item['sv_description'], 0, 100)).'...

'; echo '참여하기'; echo '
'; } echo '
'; } echo '
'; echo '
'; } else { echo '
'; echo ''; echo '

현재 진행 중인 설문이 없습니다.

'; echo '
'; } } echo '
'; // 기본 스타일 추가 echo ''; return; } // 함수 존재 확인 if (!function_exists('validate_survey_access')) { echo '
설문 검증 함수가 정의되지 않았습니다.
'; return; } // 설문 유효성 검사 $validation = validate_survey_access($sv_id, $member['mb_id'], $_SERVER['REMOTE_ADDR']); if (!$validation['success']) { echo '
'.$validation['message'].'
'; return; } $survey = $validation['survey']; $questions = get_survey_questions($sv_id); if (empty($questions)) { echo '
이 설문에는 아직 질문이 등록되지 않았습니다.
'; return; } // 설문 테마 색상 $theme_color = $survey['sv_theme_color'] ?: '#AA20FF'; // 설문 데이터를 JSON으로 준비 $survey_data = array( 'survey' => $survey, 'questions' => $questions, 'theme_color' => $theme_color, 'total_responses' => get_survey_response_count($sv_id, 'completed') ); $survey_json = json_encode($survey_data, JSON_UNESCAPED_UNICODE); // CSS와 JS 파일의 버전을 파일 수정 시간으로 자동 갱신 $module_css_path = G5_THEME_PATH.'/rb.custom/survey_form/module.css'; $module_js_path = G5_THEME_PATH.'/rb.custom/survey_form/module.js'; $module_css_ver = file_exists($module_css_path) ? filemtime($module_css_path) : G5_CSS_VER; $module_js_ver = file_exists($module_js_path) ? filemtime($module_js_path) : G5_JS_VER; // 이 모듈만의 고유 ID를 생성합니다. $module_id = 'survey_form_module_'.uniqid(); ?>
'>

예상 소요시간:
개 질문
명 참여
0% 완료 (0 / )