Overview
Comment:Récupe de mot de passe en utilisant le champ identifiant et pas le champ email
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 247dcbb8ca790a2d4707636bc6e97df9de64349c
User & Date: bohwaz on 2014-02-17 20:25:19
Other Links: manifest | tags
Context
2014-02-18
03:08
Contexte à l'affichage des opérations d'un membre check-in: 859e3abca4 user: bohwaz tags: trunk
2014-02-17
20:25
Récupe de mot de passe en utilisant le champ identifiant et pas le champ email check-in: 247dcbb8ca user: bohwaz tags: trunk
20:18
Possibilité de configurer le champ identifiant et le champ identité des membres check-in: 0a9ee37350 user: bohwaz tags: trunk
Changes

Modified src/include/class.membres.php from [d9f1dc2137] to [f3f8800d17].

92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
        $_SESSION['recover_password'] = array('id' => (int) $membre['id'], 'email' => $membre['email'], 'hash' => $hash);

        $message = "Bonjour,\n\nVous avez oublié votre mot de passe ? Pas de panique !\n\n";
        $message.= "Il vous suffit de cliquer sur le lien ci-dessous pour recevoir un nouveau mot de passe.\n\n";
        $message.= WWW_URL . 'admin/password.php?c=' . substr($hash, -10);
        $message.= "\n\nSi vous n'avez pas demandé à recevoir ce message, ignorez-le, votre mot de passe restera inchangé.";

        return utils::mail($dest, '['.$config->get('nom_asso').'] Mot de passe perdu ?', $message);
    }

    public function recoverPasswordConfirm($hash)
    {
        $this->_sessionStart();

        if (empty($_SESSION['recover_password']['hash']))







|







92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
        $_SESSION['recover_password'] = array('id' => (int) $membre['id'], 'email' => $membre['email'], 'hash' => $hash);

        $message = "Bonjour,\n\nVous avez oublié votre mot de passe ? Pas de panique !\n\n";
        $message.= "Il vous suffit de cliquer sur le lien ci-dessous pour recevoir un nouveau mot de passe.\n\n";
        $message.= WWW_URL . 'admin/password.php?c=' . substr($hash, -10);
        $message.= "\n\nSi vous n'avez pas demandé à recevoir ce message, ignorez-le, votre mot de passe restera inchangé.";

        return utils::mail($membre['email'], '['.$config->get('nom_asso').'] Mot de passe perdu ?', $message);
    }

    public function recoverPasswordConfirm($hash)
    {
        $this->_sessionStart();

        if (empty($_SESSION['recover_password']['hash']))

Modified src/templates/admin/password.tpl from [69e2003815] to [889d5d8ac8].

18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
{else}

    {if $error}
        <p class="error">
            {if $error == 'OTHER'}
                Une erreur est survenue, merci de réessayer.
            {else}
                Adresse e-mail inconnue ou invalide. Si vous êtes membre, contactez un responsable pour
                obtenir un mot de passe.
            {/if}
        </p>
    {/if}

    <form method="post" action="{$self_url|escape}">

        <fieldset>
            <legend>Recevoir un e-mail avec un nouveau mot de passe</legend>
            <p class="help">
                Inscrivez l'adresse e-mail que vous avez utilisé pour vous inscrire.
                Nous vous enverrons un message vous indiquant un lien permettant de recevoir un
                nouveau mot de passe.
            </p>
            <dl>
                <dt><label for="f_email">Entrez votre adresse e-mail</label></dt>
                <dd><input type="email" name="email" id="f_email" value="{form_field name=email}" /></dd>
            </dl>
        </fieldset>

        <p class="submit">
            {csrf_field key="recoverPassword"}
            <input type="submit" name="recover" value="Envoyer &rarr;" />
        </p>

    </form>
{/if}

{include file="admin/_foot.tpl"}







|










|




|
|












18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
{else}

    {if $error}
        <p class="error">
            {if $error == 'OTHER'}
                Une erreur est survenue, merci de réessayer.
            {else}
                Membre inconnu ou ne disposant pas d'adresse e-mail. Si vous êtes membre, contactez un responsable pour
                obtenir un mot de passe.
            {/if}
        </p>
    {/if}

    <form method="post" action="{$self_url|escape}">

        <fieldset>
            <legend>Recevoir un e-mail avec un nouveau mot de passe</legend>
            <p class="help">
                Inscrivez ici votre {$champ.title}.
                Nous vous enverrons un message vous indiquant un lien permettant de recevoir un
                nouveau mot de passe.
            </p>
            <dl>
                <dt><label for="f_id">{$champ.title}</label></dt>
                <dd><input type="text" name="id" id="f_id" value="{form_field name=id}" /></dd>
            </dl>
        </fieldset>

        <p class="submit">
            {csrf_field key="recoverPassword"}
            <input type="submit" name="recover" value="Envoyer &rarr;" />
        </p>

    </form>
{/if}

{include file="admin/_foot.tpl"}

Modified src/www/admin/password.php from [e453c05204] to [ccbf9da2e8].

20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
..
38
39
40
41
42
43
44






45
46
47
48
49
50
{
    if (!utils::CSRF_check('recoverPassword'))
    {
        $error = 'OTHER';
    }
    else
    {
        if (trim(utils::post('email')) && $membres->recoverPasswordCheck(utils::post('email')))
        {
            utils::redirect('/admin/password.php?sent');
        }

        $error = 'MAIL';
    }
}
................................................................................
    $tpl->assign('sent', true);
}
elseif (!$error && isset($_GET['new_sent']))
{
    $tpl->assign('new_sent', true);
}








$tpl->assign('error', $error);

$tpl->display('admin/password.tpl');

?>







|







 







>
>
>
>
>
>






20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
..
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
{
    if (!utils::CSRF_check('recoverPassword'))
    {
        $error = 'OTHER';
    }
    else
    {
        if (trim(utils::post('id')) && $membres->recoverPasswordCheck(utils::post('id')))
        {
            utils::redirect('/admin/password.php?sent');
        }

        $error = 'MAIL';
    }
}
................................................................................
    $tpl->assign('sent', true);
}
elseif (!$error && isset($_GET['new_sent']))
{
    $tpl->assign('new_sent', true);
}


$champs = $config->get('champs_membres');

$champ = $champs->get($config->get('champ_identifiant'));

$tpl->assign('champ', $champ);

$tpl->assign('error', $error);

$tpl->display('admin/password.tpl');

?>