/** * Load concept list definitions from the MCL database in enhanced mode. * @return Array of ConceptSearchSource objects */ public function loadConceptListDefinitions($cxn_mcl, ConceptSearchSourceCollection $cssc) { // Load concept list definitions $arr_list = array(); $sql_list = 'select concept_list_id, list_name from concept_list where active = 1 order by list_name'; if (!($rsc_list = mysql_query($sql_list, $cxn_mcl))) { trigger_error('Could not load concept list definitions: ' . mysql_error($cxn_mcl), E_USER_ERROR); } if ($this->debug) { echo '<p><b>Loading concept list definitions:</b><br> ' . $sql_list . '</p>'; } while ($row = mysql_fetch_assoc($rsc_list)) { // Create the object $css = new ConceptSearchSource(); $css->setSourceList($row['concept_list_id'], $row['list_name']); $arr_list[$row['concept_list_id']] = $css; } // Load dictionary sources for the each list $sql_list_dict_id = 'select distinct concept_list_id, dict_id from concept_list_map'; if (!($rsc_list_dict_id = mysql_query($sql_list_dict_id, $cxn_mcl))) { trigger_error('Could not load concept list definitions: ' . mysql_error($cxn_mcl), E_USER_ERROR); } while ($row_dict_id = mysql_fetch_assoc($rsc_list_dict_id)) { $css_dict = $cssc->getDictionary($row_dict_id['dict_id']); if ($css_dict && isset($arr_list[$row_dict_id['concept_list_id']])) { $arr_list[$row_dict_id['concept_list_id']]->addDictionarySource($css_dict); } } return $arr_list; }