Overview
SHA1:5160efccc2373d4055aa040468d8b11627aa618f
Date: 2018-11-26 22:51:55
User: bohwaz
Comment:Corrige bug "UNIQUE constraint failed: membres.email" lors de l'import de CSV
Timelines: family | ancestors | descendants | both | trunk
Downloads: Tarball | ZIP archive
Other Links: files | file ages | folders | manifest
Tags And Properties
Context
2018-11-26
23:36
[ad366685a4] Inclusion fichier manquant (user: bohwaz, tags: trunk)
22:54
[6e79e54ca7] Merge avec trunk (user: bohwaz, tags: dev)
22:51
[5160efccc2] Corrige bug "UNIQUE constraint failed: membres.email" lors de l'import de CSV (user: bohwaz, tags: trunk)
2018-11-16
16:33
[62eedbbe38] Permettre de fusionner/mettre à jour des membres existants en utilisant le numéro de membre (user: bohwaz, tags: trunk)
Changes

Modified src/include/lib/Garradin/Membres.php from [3d4bebf63e] to [b2dcaceab5].

92
93
94
95
96
97
98





99
100
101
102
103
104
105
...
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
                    {
                        $data[$key] = 0;
                    }
                }
                elseif ($config->type == 'email')
                {
                    $data[$key] = strtolower($data[$key]);





                }
                elseif ($config->type == 'select' && !in_array($data[$key], $config->options))
                {
                    throw new UserException('Le champ "' . $config->title . '" ne correspond pas à un des choix proposés.');
                }
                elseif ($config->type == 'multiple')
                {
................................................................................
            {
                throw new UserException('Ce numéro de membre est déjà attribué à un autre membre.');
            }
        }

        $this->_checkFields($data, true, $require_password);

        if (!empty($data[$id]) && $db->test('membres', $id . ' = ? COLLATE NOCASE', $data[$id]))
        {
            throw new UserException('La valeur du champ '.$id.' est déjà utilisée par un autre membre, hors ce champ doit être unique à chaque membre.');
        }

        if (isset($data['passe']) && trim($data['passe']) != '')
        {
            $data['passe'] = self::hashPassword($data['passe']);







>
>
>
>
>







 







|







92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
...
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
                    {
                        $data[$key] = 0;
                    }
                }
                elseif ($config->type == 'email')
                {
                    $data[$key] = strtolower($data[$key]);

                    if (!SMTP::checkEmailIsValid($data[$key], false))
                    {
                        throw new UserException(sprintf('Adresse email invalide "%s" pour le champ "%s".', $data[$key], $config->title));
                    }
                }
                elseif ($config->type == 'select' && !in_array($data[$key], $config->options))
                {
                    throw new UserException('Le champ "' . $config->title . '" ne correspond pas à un des choix proposés.');
                }
                elseif ($config->type == 'multiple')
                {
................................................................................
            {
                throw new UserException('Ce numéro de membre est déjà attribué à un autre membre.');
            }
        }

        $this->_checkFields($data, true, $require_password);

        if (isset($data[$id]) && $db->test('membres', $id . ' = ? COLLATE NOCASE', $data[$id]))
        {
            throw new UserException('La valeur du champ '.$id.' est déjà utilisée par un autre membre, hors ce champ doit être unique à chaque membre.');
        }

        if (isset($data['passe']) && trim($data['passe']) != '')
        {
            $data['passe'] = self::hashPassword($data['passe']);