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