This function tries to find if a term is in a vocabulary already.

In line 103 it sets one of the conditions as

"WHERE :name LIKE LOWER(t.name)"
afterwards it sets that :name is "$args[':name'] = $name;"

I think it will fail because the term name can have caps and then the query would not find the correct term.

I think the solution could be set

$args[':name'] = strtolower($name);

Comments

Daniel_KM’s picture

Status: Active » Closed (works as designed)

Hi,

Thank you for using the module and to report.

In fact, I use the Drupal function $name = drupal_strtolower(trim($term->name)); (line 92).

This central function remains unchanged since the first release of this module (see line 156 of the release for Drupal 4.7). To lowercase terms is important, because when a normal user does a search, he usually doesn't make a difference between lowercase and uppercase characters, he wants only what he thinks. Furthermore, it's difficult to manage duplicate terms, although it's possible and sometime needed. User can choose to allow duplicate or such almost duplicate terms with the option in the fifth group (currently not available for all input formats).

Sincerely,

Daniel Berthereau
Infodoc, Digital humanities & Knowledge management