/** * Create a new concept list with the passed name and source concept * dictionary. Return the new concept_list_id on success, or false on failure. */ public function insertConceptList(ConceptList $cl) { // Make sure the concept list name is unique if (!$this->isUniqueConceptListName($cl->cld->getName())) { trigger_error('Unable to create list, because concept list name is not unique: <strong>' . $list_name . '</strong>', E_USER_ERROR); } // Insert the list $sql_insert_list = 'insert into mcl.concept_list (list_name) values (' . "'" . mysql_real_escape_string($cl->cld->getName(), $this->getConnection()) . "')"; if (!mysql_query($sql_insert_list, $this->getConnection()) || !($new_concept_list_id = mysql_insert_id($this->getConnection()))) { trigger_error('Unable to insert record into mcl.concept_list: ' . mysql_error()); return false; } // Insert the concepts if ($cl->getCount() && $new_concept_list_id) { // Build the sql statement $arr_concepts = $cl->getArray(); $glue = '),(' . $new_concept_list_id . ','; $sql_insert_concepts = 'insert into mcl.concept_list_map (concept_list_id, concept_id) values ' . '(' . $new_concept_list_id . ',' . implode($glue, $arr_concepts) . ')'; if ($this->debug) { echo '<p>Inserting concept ids into list ' . $new_concept_list_id . ':<br />' . $sql_insert_concepts . '</p>'; } if (!mysql_query($sql_insert_concepts, $this->getConnection())) { trigger_error('Unable to insert concepts into list ' . $new_concept_list_id . ': ' . mysql_error()); } } return $new_concept_list_id; }