/**
  * Set the terms for this learnpath item
  * @param   string  Terms, as a comma-split list
  * @return  boolean Always return true
  */
 public function set_terms($terms)
 {
     global $charset;
     $course_id = api_get_course_int_id();
     $lp_item = Database::get_course_table(TABLE_LP_ITEM);
     require_once api_get_path(LIBRARY_PATH) . 'search/ChamiloIndexer.class.php';
     $a_terms = split(',', $terms);
     $i_terms = split(',', $this->get_terms());
     foreach ($i_terms as $term) {
         if (!in_array($term, $a_terms)) {
             array_push($a_terms, $term);
         }
     }
     $new_terms = $a_terms;
     $new_terms_string = implode(',', $new_terms);
     $terms_update_sql = '';
     // TODO: Validate csv string.
     $terms_update_sql = "UPDATE {$lp_item} SET terms = '" . Database::escape_string(api_htmlentities($new_terms_string, ENT_QUOTES, $charset)) . "'\n\t\t                      WHERE c_id = {$course_id} AND id=" . $this->get_id();
     $res = Database::query($terms_update_sql);
     // Save it to search engine.
     if (api_get_setting('search_enabled') == 'true') {
         $di = new ChamiloIndexer();
         $di->update_terms($this->get_search_did(), $new_terms);
     }
     return true;
 }