Changeset 54514 in spip-zone


Ignore:
Timestamp:
Nov 16, 2011, 11:51:45 AM (8 years ago)
Author:
cam.lafit@…
Message:

Considerer les auteurs spip devenant client

  • cas des visiteurs participant à des forums

Patch (mode attila) permettant d'inscrire un client sans créer un auteur
Il semble necessaire de rationaliser à terme ces 2 fichiers qui font doublons sur pas mal de points

Location:
_plugins_/clients/formulaires
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/clients/formulaires/editer_client.php

    r54292 r54514  
    341341                'objet = '.sql_quote('auteur').' and id_objet = '.$id_auteur
    342342        );
    343         $editer_contact = charger_fonction('editer_contact', 'action/');
    344         $editer_contact($id_contact);
    345        
     343
     344    //Si le contact n'existe pas encore, on doit le créer (cas d'un auteur prexistant à son statut de client)
     345    if (is_null($id_contact)) {
     346        $inscrire_client = charger_fonction('traiter','formulaires/inscription_client');
     347        $inscrire_client();
     348
     349            $id_contact = sql_getfetsel(
     350                    'id_contact',
     351                    'spip_contacts_liens',
     352                    'objet = '.sql_quote('auteur').' and id_objet = '.$id_auteur
     353            );
     354    }
     355
    346356        // Le pseudo SPIP est construit
    347357        set_request('nom', trim(_request('prenom').' '._request('nom')));
  • _plugins_/clients/formulaires/inscription_client.php

    r54292 r54514  
    259259       
    260260        // On active le traitement du formulaire d'inscription classique, donc on crée un nouvel utilisateur
    261         $mode = tester_config(0);
    262         $inscription_dist = charger_fonction('traiter', 'formulaires/inscription');
    263         $retours = $inscription_dist($mode,'');
    264        
     261    if (!($id_auteur = verifier_session())) {
     262            $mode = tester_config(0);
     263            $inscription_dist = charger_fonction('traiter', 'formulaires/inscription');
     264            $retours = $inscription_dist($mode,'');
     265   
     266        $id_auteur = sql_getfetsel('id_auteur', 'spip_auteurs', 'email = '.sql_quote(_request('mail_inscription')));
     267    }   
     268
    265269        // On récupère l'auteur qu'on vient de créer avec l'email du form
    266         if ($id_auteur = sql_getfetsel('id_auteur', 'spip_auteurs', 'email = '.sql_quote(_request('mail_inscription')))){
     270        if ($id_auteur){
    267271                // On ajoute des infos au contexte
    268272                set_request('objet', 'auteur');
Note: See TracChangeset for help on using the changeset viewer.