source: spip-zone/_plugins_/inscription_motdepasse/trunk/inscriptionmotdepasse_pipelines.php @ 109052

Last change on this file since 109052 was 109052, checked in by rastapopoulos@…, 18 months ago

cosmétique

File size: 2.2 KB
Line 
1<?php
2
3// Sécurité
4if (!defined('_ECRIRE_INC_VERSION')) return;
5
6/**
7 * Charge les deux champs de mot de passe au démarrage du formulaire d'inscription
8 *
9 * @param array $flux
10 * @return array
11 */
12function inscriptionmotdepasse_formulaire_charger($flux){
13        // Seulement si le formulaire d'origine n'a pas renvoyé un vrai "false"
14        if ($flux['args']['form'] == 'inscription' and $flux['data'] !== false) {
15                $flux['data']['password'] = '';
16                $flux['data']['password_confirmation'] = '';
17        }
18       
19        return $flux;
20}
21
22/**
23 * Ajoute le HTML des deux champs de mot de passe durant l'inscription
24 *
25 * @param array $flux
26 * @return array
27 */
28function inscriptionmotdepasse_formulaire_fond($flux){
29        if ($flux['args']['form'] == 'inscription'){
30                $champs_password = recuperer_fond('formulaires/inc-inscriptionmotdepasse', $flux['args']['contexte']);
31               
32                $flux['data'] = preg_replace(
33                        '%<(li|div)[^>]*saisie_mail_inscription[^>]*>.*?</\1>%is',
34                        "$0$champs_password",
35                        $flux['data']
36                );
37        }
38       
39        return $flux;
40}
41
42/**
43 * Vérifie les deux champs de mot de passe
44 *
45 * @param array $flux
46 * @return array
47 */
48function inscriptionmotdepasse_formulaire_verifier($flux){
49        if ($flux['args']['form'] == 'inscription'){
50                // Si les deux champs de mot de passe sont différents, ce n'est pas bien confirmé
51                if (_request('password') != _request('password_confirmation')){
52                        $flux['data']['password_confirmation'] = _T('info_passes_identiques');
53                }
54               
55                if ( strlen(_request('password')) < _PASS_LONGUEUR_MINI ){
56                        $flux['data']['password'] = _T('info_passe_trop_court_car_pluriel', array('nb' => _PASS_LONGUEUR_MINI));
57                }
58               
59                // Mais si l'un des deux champs n'est pas rempli, cette erreur prend le dessus
60                if (!_request('password')){
61                        $flux['data']['password'] = _T('info_obligatoire');
62                }
63                if (!_request('password_confirmation')){
64                        $flux['data']['password_confirmation'] = _T('info_obligatoire');
65                }
66        }
67       
68        if ($flux['args']['form'] == 'login'){
69                $statut = sql_getfetsel('statut', 'spip_auteurs', 'login='.sql_quote(_request('var_login')).' OR email=' .sql_quote(_request('var_login')) );
70               
71                if ($statut == 'nouveau'){
72                        $flux['data']['message_erreur'] = _T('inscriptionmotdepasse:erreur_email_non_confirme');       
73                }       
74        }
75       
76        return $flux;
77}
Note: See TracBrowser for help on using the repository browser.