resources['labels'][$lang][$resource_code])) { return $this->resources['labels'][$lang][$resource_code]; } global $g5; $resource_code_escaped = sql_real_escape_string($resource_code); $lang_escaped = sql_real_escape_string($lang); $sql = "SELECT B.cl_name FROM {$g5['ui_manager_table']} AS A LEFT JOIN {$g5['common_lang_table']} AS B ON (A.um_id = B.target_id AND B.target_table = '{$g5['ui_manager_table']}' AND B.lang_code = '{$lang_escaped}') WHERE A.resource_code = '{$resource_code_escaped}' AND A.resource_type = 'LABEL'"; $row = sql_fetch($sql); $label_text = $row['cl_name'] ?? $resource_code; // 결과 캐시 $this->resources['labels'][$lang][$resource_code] = $label_text; return $label_text; } /** * 'DATA' 타입의 옵션 목록을 배열로 가져옵니다. * @param string $resource_code 리소스 코드 * @param string $lang 언어 코드 (기본값: 'ko') * @return array 옵션 목록 배열 */ public function get_data($resource_code, $lang = 'ko') { // 캐시 확인 if (isset($this->resources['data'][$lang][$resource_code])) { return $this->resources['data'][$lang][$resource_code]; } global $g5; $resource_code_escaped = sql_real_escape_string($resource_code); $lang_escaped = sql_real_escape_string($lang); $sql_um = "SELECT um_id FROM {$g5['ui_manager_table']} WHERE resource_code = '{$resource_code_escaped}' AND resource_type = 'DATA'"; $um_row = sql_fetch($sql_um); if (!isset($um_row['um_id'])) { $this->resources['data'][$lang][$resource_code] = []; // 빈 결과도 캐시 return []; } $um_id = $um_row['um_id']; $sql = "SELECT A.fc_id, A.parent_id, A.fc_key, A.fc_order, B.cl_name FROM {$g5['form_category_table']} AS A LEFT JOIN {$g5['common_lang_table']} AS B ON (A.fc_id = B.target_id AND B.target_table = '{$g5['form_category_table']}' AND B.lang_code = '{$lang_escaped}') WHERE A.um_id = '{$um_id}' AND A.is_used = 1 AND A.is_deleted = 0 ORDER BY A.fc_order, A.fc_id"; $result = sql_query($sql); $options = []; while ($row = sql_fetch_array($result)) { $options[] = $row; } // 결과 캐시 $this->resources['data'][$lang][$resource_code] = $options; return $options; } /** * 'DATA' 타입 리소스를 사용하여 HTML 태그의 name 속성 * @param string $selected_value 미리 선택될 옵션의 값(fc_key) * @param string $attributes 태그 */ public function render_select($resource_code, $select_name, $selected_value = '', $attributes = '', $lang = 'ko') { $options = $this->get_data($resource_code, $lang); if (empty($options)) { return ""; } $html = ""; return $html; } }