Changeset 73180 in spip-zone


Ignore:
Timestamp:
Jun 2, 2013, 8:12:59 PM (7 years ago)
Author:
kent1@…
Message:

Il n'est pas normal qu'un visiteur considéré comme contact parce qu'il a un jour envoyé un mail, ne puisse s'inscrire comme utilisateur à un moment donné avec le même mail de connexion.

On passe par verifier du formulaire d'inscription. Si on a un message d'erreur, on vérifie que ce n'est pas dû au fait que l'auteur a le statut "contact" à cause d'un message de contact envoyé.

Si c'est le cas :

  • on change son statut de contact à nouveau
  • on met le statut d'inscription dans prefs
  • on met comme login son adresse email
  • on lui crée un pass aléatoirement
  • on lui indique en erreur qu'il était déjà inscrit et qu'il doit renouveler son pass

On indique les destinataires dans le message enregistré.

Version 0.11.0

Location:
_plugins_/contact/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/contact/trunk/contact_pipelines.php

    r60033 r73180  
    1919}
    2020
     21/**
     22 * Insertion dans le pipeline formulaire_verifier (SPIP)
     23 *
     24 * Dans le formulaire d'inscription, si on a un message d'erreur,
     25 * on vérifie que ce n'est pas dû au fait que l'auteur a le statut "contact" à cause d'un message
     26 * de contact envoyé.
     27 *
     28 * Si c'est le cas :
     29 * - on change son statut de contact à nouveau
     30 * - on met le statut d'inscription dans prefs
     31 * - on met comme login son adresse email
     32 * - on lui crée un pass aléatoirement
     33 * - on lui indique en erreur qu'il était déjà inscrit et qu'il doit renouveler son pass
     34 *
     35 * @param array $flux
     36 *              Le contexte du pipeline
     37 * @return array $flux
     38 *              Le contexte du pipeline modifié s'il y a lieu
     39 */
     40function contact_formulaire_verifier($flux){
     41        if ($flux['args']['form'] == 'inscription' && isset($flux['data']['message_erreur'])){
     42                if($email = _request('mail_inscription')){
     43                        $auteur = sql_fetsel('*','spip_auteurs','email='.sql_quote($email));
     44                        if($auteur['statut'] == 'contact'){
     45                                $statut_inscription = $flux['args']['args'][0];
     46                                include_spip('action/inscrire_auteur');
     47                                creer_pass_pour_auteur($auteur['id_auteur']);
     48                                sql_updateq('spip_auteurs',array('prefs' => $statut_inscription,'statut' => 'nouveau','login'=> $email),'id_auteur = '.intval($auteur['id_auteur']));
     49                                $flux['data']['message_erreur'] = _T('contact:message_redemander_pass',array('email'=>$email,'url_pass'=>generer_url_public('spip_pass')));
     50                        }               
     51                }
     52        }
     53        return $flux;
     54}
    2155?>
  • _plugins_/contact/trunk/formulaires/contact.php

    r70986 r73180  
    349349                                'date_heure' => date('Y-m-d H:i:s'),
    350350                                'texte' => $texte,
    351                                 'rv' => 'non'
     351                                'destinataires' => join(', ', $destinataire),
     352                                'rv' => ''
    352353                        )
    353354                );
  • _plugins_/contact/trunk/lang/contact_fr.php

    r70986 r73180  
    9292        'madame' => 'Madame',
    9393        'mademoiselle' => 'Mademoiselle',
     94        'message_redemander_pass' => 'Votre adresse email "@email@" était déjà enregistrée suite à un message de contact. Pour valider votre compte, demandez un <a href="@url_pass@">changement de mot de passe</a> et identifiez vous une première fois.',
    9495        'modele_label_auteur' => 'Pré-sélectionner un auteur (facultatif) ?',
    9596        'modele_nom_formulaire' => 'le formulaire de contact avancé',
  • _plugins_/contact/trunk/paquet.xml

    r65863 r73180  
    22        prefix="contact"
    33        categorie="communication"
    4         version="0.10.3"
     4        version="0.11.0"
    55        etat="stable"
    66        compatibilite="[3.0.0-dev;3.1.0["
     
    2222
    2323        <pipeline nom="jqueryui_plugins" inclure="contact_pipelines.php" />
    24         <pipeline nom="declarer_tables_principales" inclure="base/contact_tables.php" />
    25         <pipeline nom="declarer_tables_interfaces" inclure="base/contact_tables.php" />
    2624        <pipeline nom="contact_infos_supplementaires" action="" />
    2725        <pipeline nom="ieconfig_metas" inclure="contact_ieconfig_metas.php" />
     26        <pipeline nom="formulaire_verifier" inclure="contact_pipelines.php" />
    2827
    2928        <utilise nom="facteur" />
Note: See TracChangeset for help on using the changeset viewer.