Overview
Comment:Recherche exacte sur les champs de type sélecteur à choix unique, cf. [587f730b661a7ce16bad215d4bd02195e754ec57]
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 7c360dbe83ef5a611078cd63244e54a66312f973
User & Date: bohwaz on 2018-05-11 12:16:19
Other Links: manifest | tags
Context
2018-05-11
12:43
Nouvelle version stable 0.8.3 check-in: bd32e64b24 user: bohwaz tags: trunk, stable, 0.8.3
12:16
Recherche exacte sur les champs de type sélecteur à choix unique, cf. [587f730b661a7ce16bad215d4bd02195e754ec57] check-in: 7c360dbe83 user: bohwaz tags: trunk
12:11
Efface les cookies précédemment mis sur le chemin /admin/ qui pourraient dans certains cas rester et se chevaucher avec le cookie sur '/' check-in: 259afc75f9 user: bohwaz tags: trunk
Changes

Modified src/include/lib/Garradin/Membres.php from [b927c6f948] to [19f3bdb872].

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))
        {