329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
|
elseif (!$champs->isText($field))
{
$where = sprintf('WHERE %s = %s', $field, $db->quote($query));
$order = $field;
}
else
{
$where = sprintf('WHERE transliterate_to_ascii(%s) LIKE %s', $field, $db->quote('%' . Utils::transliterateToAscii($query) . '%'));
$order = sprintf('transliterate_to_ascii(%s) COLLATE NOCASE', $field);
}
$fields = array_keys((array)$champs->getListedFields());
if (!in_array($field, $fields))
{
|
>
>
>
>
>
>
>
|
|
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
|
elseif (!$champs->isText($field))
{
$where = sprintf('WHERE %s = %s', $field, $db->quote($query));
$order = $field;
}
else
{
// Si le champ est de type 'select' (sélecteur à choix unique), ne pas utiliser de LIKE mais valeur exacte
// @link https://fossil.kd2.org/garradin/info/587f730b661a7ce16bad215d4bd02195e754ec57
if ($champ->type != 'select')
{
$query = '%' . $query . '%';
}
$where = sprintf('WHERE transliterate_to_ascii(%s) LIKE %s', $field, $db->quote(Utils::transliterateToAscii($query)));
$order = sprintf('transliterate_to_ascii(%s) COLLATE NOCASE', $field);
}
$fields = array_keys((array)$champs->getListedFields());
if (!in_array($field, $fields))
{
|