Overview
SHA1 Hash:1e224909d523c6ef6a3a4ab2b2a3c2f7ce05d48e
Date: 2016-05-31 04:29:37
User: bohwaz
Comment:Ne pas accepter les noms de champs qui commencent par un chiffre (refusés par SQLite).
Timelines: family | ancestors | descendants | both | trunk
Downloads: Tarball | ZIP archive
Other Links: files | file ages | folders | manifest
Tags And Properties
Context
2016-05-31
04:38
[90ff4057b3] Ne pas permettre de supprimer le champ identifiant ou identite (user: bohwaz, tags: trunk)
04:29
[1e224909d5] Ne pas accepter les noms de champs qui commencent par un chiffre (refusés par SQLite). (user: bohwaz, tags: trunk)
04:22
[5335b73293] Rejeter avec un message explicite si on essaye de choisir un numéro de membre qui ne contient pas que des chiffres (user: bohwaz, tags: trunk)
Changes

Modified src/include/lib/Garradin/Membres/Champs.php from [012e73e8f5] to [da0a542d80].

285
286
287
288
289
290
291
292
293





294
295
296
297
298
299
300
301
     * Ajouter un nouveau champ
     * @param string $name Nom du champ
     * @param array $config Configuration du champ
     * @return boolean true
     */
    public function add($name, $config)
    {
        if (!preg_match('!^[a-z0-9]+(_[a-z0-9]+)*$!', $name))
        {





            throw new UserException('Le nom du champ est invalide : ne sont acceptés que des lettres minuscules et chiffres.');
        }
        
        $this->_checkField($name, $config);

        $this->champs[$name] = $config;

        return true;







|

>
>
>
>
>
|







285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
     * Ajouter un nouveau champ
     * @param string $name Nom du champ
     * @param array $config Configuration du champ
     * @return boolean true
     */
    public function add($name, $config)
    {
        if (!preg_match('!^[a-z]!', $name))
        {
            throw new UserException('Le nom du champ est invalide : le premier caractère doit être une lettre.');
        }
        
        if (!preg_match('!^[a-z][a-z0-9]*(_[a-z0-9]+)*$!', $name))
        {
            throw new UserException('Le nom du champ est invalide : ne sont acceptés que les lettres minuscules et les chiffres (éventuellement séparés par un underscore).');
        }
        
        $this->_checkField($name, $config);

        $this->champs[$name] = $config;

        return true;