[SPIP] v3.0.24 --> v3.0.25
[lhc/web/www.git] / www / squelettes-dist / formulaires / oubli.php
index 34d59ae..7cdf02a 100644 (file)
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2013                                                *
+ *  Copyright (c) 2001-2016                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
@@ -14,11 +14,11 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
 
 // chargement des valeurs par defaut des champs du formulaire
 function formulaires_oubli_charger_dist(){
-       $valeurs = array('oubli'=>'');
+       $valeurs = array('oubli'=>'','nobot'=>'');
        return $valeurs;
 }
 
-// http://doc.spip.org/@message_oubli
+// http://code.spip.net/@message_oubli
 function message_oubli($email, $param)
 {
        $r = formulaires_oubli_mail($email);
@@ -28,10 +28,12 @@ function message_oubli($email, $param)
                include_spip('action/inscrire_auteur');
                $cookie = auteur_attribuer_jeton($r[1]['id_auteur']);
 
+               // l'url_reset doit etre une URL de confiance, on force donc un url_absolue sur adresse_site
+               include_spip('inc/filtres');
                $msg = recuperer_fond(
                        "modeles/mail_oubli",
                        array(
-                               'url_reset'=>generer_url_public('spip_pass',"$param=$cookie", true, false)
+                               'url_reset' => url_absolue(generer_url_public('spip_pass', "$param=$cookie"), $GLOBALS['meta']['adresse_site'] . '/')
                        )
                );
                include_spip("inc/notifications");
@@ -50,12 +52,12 @@ function formulaires_oubli_traiter_dist(){
 
 
 // fonction qu'on peut redefinir pour filtrer les adresses mail
-// http://doc.spip.org/@test_oubli
+// http://code.spip.net/@test_oubli
 function test_oubli_dist($email)
 {
        include_spip('inc/filtres'); # pour email_valide()
        if (!email_valide($email) )
-               return _T('pass_erreur_non_valide', array('email_oubli' => htmlspecialchars($email)));
+               return _T('pass_erreur_non_valide', array('email_oubli' => spip_htmlspecialchars($email)));
        return array('mail' => $email);
 }
 
@@ -70,12 +72,15 @@ function formulaires_oubli_verifier_dist(){
                $erreurs['oubli'] = $r;
        else {
                if (!$r[1])
-                       $erreurs['oubli'] = _T('pass_erreur_non_enregistre', array('email_oubli' => htmlspecialchars($email)));
+                       $erreurs['oubli'] = _T('pass_erreur_non_enregistre', array('email_oubli' => spip_htmlspecialchars($email)));
 
                elseif ($r[1]['statut'] == '5poubelle' OR $r[1]['pass'] == '')
                        $erreurs['oubli'] =  _T('pass_erreur_acces_refuse');
        }
 
+       if (_request('nobot'))
+               $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici');
+
        return $erreurs;
 }