Changeset 24677 in spip-zone


Ignore:
Timestamp:
Nov 26, 2008, 10:14:15 PM (11 years ago)
Author:
kent1@…
Message:

la création normale d'auteurs spip devrait fonctionner en prenant en compte les nouveaux champs ...

la validation des champs ne marche pas encore mais ca va venir...

Location:
_plugins_/_test_/inscription2/inscription2_193
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_test_/inscription2/inscription2_193/inc/legender_auteur_supp.php

    r24511 r24677  
    3232// La partie affichage du formulaire...
    3333function legender_auteur_supp_saisir($auteur){
    34         $id_auteur = $auteur['id_auteur'];
    35        
     34        spip_log('saisir les infos de l auteur='.$auteur);
     35        $id_auteur = $auteur;
    3636        $corps_supp = '<li class="editer_inscription2 fieldset">';
    3737        $corps_supp .= '<fieldset><h3 class="legend">Inscription 2</h3>';
     
    3939       
    4040        // Elaborer le formulaire
    41         $var_user['b.id_auteur'] = '0';
     41        $var_user['b.id_auteur'] = $auteur;
    4242        $var_user['a.login'] = '0';
    4343        foreach(lire_config('inscription2',array()) as $cle => $val){
     
    4747                        if($cle == 'nom' or $cle == 'email' or $cle == 'login')
    4848                                $var_user['a.'.$cle] = '0';
    49                         elseif(ereg("^statut_rel.*$", $cle))
     49                        elseif(ereg("^statut_rel.*$", $cle)){
    5050                                $var_user['b.statut_relances'] = '1';
     51                                $champs[$cle] = '';
     52                        }
    5153                        elseif($cle == 'pays'){
    5254                                $var_user['c.pays'] = '1';
    53                                 $var_user['c.id_pays as id_pays'] = '1';}
     55                                $var_user['c.id_pays as id_pays'] = '1';
     56                                $champs[$cle] = '';
     57                        }
    5458                        elseif($cle == 'pays_pro'){
    5559                                $var_user['d.pays'] = '1';
    5660                                $var_user['d.pays as pays_pro'] = '1';
    57                                 $var_user['d.id_pays as id_pays_pro'] = '1';}
    58                         else
     61                                $var_user['d.id_pays as id_pays_pro'] = '1';
     62                                $champs[$cle] = $val;
     63                        }
     64                        else{
    5965                                $var_user['b.'.$cle] = '1';
     66                                $champs[$cle] = '';
     67                        }
    6068                }elseif($cle=='newsletter' and $val != ''){
    6169                        $aux3 = array();
     
    7785
    7886        $query = sql_fetch($query);
    79         if($query['id_auteur'] == NULL){
    80                 $id_elargi = sql_insertq("spip_auteurs_elargis",array('id_auteur'=> $id_auteur));
    81         }
    82        
     87        if($query == NULL){
     88                $query = $champs;
     89        }
     90
    8391        foreach ($query as $cle => $val){
    8492                if(($cle == 'id_pays') || ($cle == 'id_pays_pro') ||  ($cle == 'login') || ($cle == 'nom') || ($cle == 'email')){
  • _plugins_/_test_/inscription2/inscription2_193/inscription2_pipelines.php

    r24511 r24677  
    6363                include_spip('public/assembler');
    6464                include_spip('inc/legender_auteur_supp');
    65                 $flux['args']['contexte']['inscription2'] = sql_fetsel('*','spip_auteurs_elargis','id_auteur='.sql_quote($flux['args']['contexte']['id_auteur']));
     65                spip_log('editer_contenu_objet sur auteur='.$flux['args']['contexte']['id_auteur']);
    6666                $inscription2 = legender_auteur_supp_saisir($flux['args']['contexte']['id_auteur']);
    6767                $flux['data'] = preg_replace('%(<li class="editer_pgp(.*?)</li>)%is', '$1'."\n".$inscription2, $flux['data']);
     
    7474        if ($flux['args']['table']=='spip_auteurs') {
    7575                $id_auteur = $flux['args']['id_objet'];
     76                spip_log('post_edition sur id_auteur='.$id_auteur);
    7677                spip_log("editer_auteur_supp_dits","inscription2");
    77                         global $visiteur_session;
    7878                        spip_log("editer_auteur_supp $r");
    7979                        $echec = array();
    80                
    8180                                foreach(lire_config('inscription2',array()) as $cle => $val){
    8281                                        if($val!='' and !ereg("^(accesrestreint|categories|zone|news).*$", $cle)){
     
    130129                                        }
    131130                                }
    132                                 sql_update("spip_auteurs a left join spip_auteurs_elargis b on a.id_auteur=b.id_auteur",$var_user, "a.id_auteur=$id_auteur");
     131                                if (!sql_getfetsel('id_auteur','spip_auteurs_elargis','id_auteur='.$id_auteur)){
     132                                        //insertion de l'id_auteur dans spip_auteurs_elargis sinon on peut pas proceder a l'update
     133                                        $id_elargi = sql_insertq("spip_auteurs_elargis",array('id_auteur'=> $id_auteur));
     134                                }
     135                                sql_update("spip_auteurs a left join spip_auteurs_elargis b on a.id_auteur=b.id_auteur",$var_user, "b.id_auteur=$id_auteur");
    133136                       
    134137                        // Notifications, gestion des revisions, reindexation...
Note: See TracChangeset for help on using the changeset viewer.