Changeset 26944 in spip-zone


Ignore:
Timestamp:
Feb 26, 2009, 4:03:17 PM (11 years ago)
Author:
kent1@…
Message:

possibilité de ne pas avoir les mêmes champs de disponibles entre la création d'un utilisateur et sa modification (utilisé réellement la conf du cfg)

Location:
_plugins_/_test_/inscription2/inscription2_193/formulaires
Files:
3 added
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_test_/inscription2/inscription2_193/formulaires/inscription2_ajax.html

    r25343 r26944  
    88                #ACTION_FORMULAIRE{#SELF}
    99               
    10                 <INCLURE{fond=formulaires/inscription2_infos_connection}{env}>
     10                [(#ENV*{id_auteur}|oui)
     11                <INCLURE{fond=formulaires/inscription2_modif_infos_connection}{env}>]
    1112       
     13        [(#ENV*{id_auteur}|non)
     14                <INCLURE{fond=formulaires/inscription2_infos_connection}{env}>]
     15               
    1216        [(#REM) pour inserer des champs au debut du formulaire
    1317                Utilise pour Abonnement et association auparavant]
     
    1519                [(#PIPELINE{i2_form_debut})]
    1620               
    17         <INCLURE{fond=formulaires/inscription2_infos_perso}{env}>
    18 
    19         <INCLURE{fond=formulaires/inscription2_infos_pro}{env}>
     21        [(#ENV*{id_auteur}|oui)
     22                <INCLURE{fond=formulaires/inscription2_modif_infos_pro}{env}>
     23                <INCLURE{fond=formulaires/inscription2_modif_infos_perso}{env}>
     24        ]
     25               
     26        [(#ENV*{id_auteur}|non)
     27                <INCLURE{fond=formulaires/inscription2_infos_perso}{env}>
     28                <INCLURE{fond=formulaires/inscription2_infos_pro}{env}>
     29        ]
    2030       
    2131                [(#PIPELINE{i2_form_fin})]
     
    3040                        </li>
    3141                        </ul>           
    32         </fieldset>
    33         ]
     42        </fieldset>]
    3443
    3544        [(#CONFIG{inscription2/newsletter}|=={on}|oui)
  • _plugins_/_test_/inscription2/inscription2_193/formulaires/inscription2_ajax.php

    r26933 r26944  
    3737                        'id_auteur ='.$id_auteur
    3838                );
     39                $auteur['id_auteur'] = $id_auteur;
    3940                $champs = $auteur;
    4041        } else {       
     
    7172                if ((lire_config('inscription2/'.$champs.'_obligatoire') == 'on') && empty($valeur)) {
    7273                        $erreurs[$champs] = _T('inscription2:champ_obligatoire');
     74                        if(is_numeric($id_auteur) && (lire_config('inscription2/password_fiche_mod') == 'on') && (strlen(_request('password')) == 0)){
     75                                // Si le password est vide et que l'on est dans le cas de la modification d'un auteur
     76        //                      On garde le pass original
     77                                spip_log("pass= $pass");
     78                                unset($erreurs['password']);
     79                                $pass == 'ok';
     80                        }
    7381                }
    7482        }
     
    7684        //messages d'erreur au cas par cas (PASSWORD)
    7785        //vérification des champs
    78         //récupéré depuis le code de SPIP
    79         if(lire_config('inscription2/password') == 'on') {
     86
     87        // Sinon on le verifie
     88        if(($pass != 'ok') && (lire_config('inscription2/password') == 'on')) {
     89               
    8090                if($p = _request('password')) {
    8191                        if(strlen($p)){
    8292                                if (strlen($p) < 6) {
    8393                                        $erreurs['password'] = _T('info_passe_trop_court');
    84                                         $erreurs['message_erreur'] .= _T('info_passe_trop_court');
     94                                        $erreurs['message_erreur'] .= _T('info_passe_trop_court')."<br />";
    8595                                } elseif ($p != _request('password1')) {
    8696                                        $erreurs['password'] = _T('info_passes_identiques');
    87                                         $erreurs['message_erreur'] .= _T('info_passes_identiques');
     97                                        $erreurs['message_erreur'] .= _T('info_passes_identiques')."<br />";
    8898                                }
    8999                        }else{
     
    168178        global $tables_principales;
    169179       
    170         if((lire_config('inscription2/password') == 'on') && (strlen(_request('password')))){
     180        if((is_numeric($id_auteur) && (lire_config('inscription2/password_fiche_mod') != 'on'))
     181                OR (is_numeric($id_auteur) && (lire_config('inscription2/password_fiche_mod') == 'on')) && (strlen(_request('password')) == 0)){
     182                $mode = 'modification_auteur_simple';
     183        }
     184        else if((is_numeric($id_auteur) && (lire_config('inscription2/password_fiche_mod') == 'on'))){
     185                $mode = 'modification_auteur_pass';
     186        }
     187        else if((lire_config('inscription2/password') == 'on') && (strlen(_request('password')))){
    171188                $mode = 'inscription_pass';
    172189        }
     
    192209                }
    193210        }
    194         if (!_request('login')) {
     211        if (!$valeurs['login']) {
    195212                $valeurs['login'] = test_login($valeurs['nom'], $valeurs['email']);
    196213        }
     
    208225       
    209226        //Vérification du password
    210         if($mode == 'inscription_pass') {
     227        if($mode == ('inscription_pass' || 'modification_auteur_pass')){
    211228                $new_pass = _request('password');
    212229                if (strlen($new_pass)) {
     
    231248        }
    232249       
    233         //inserer les données dans spip_auteurs -- si $id_auteur mise à jour autrement nouvelle entrée
     250        //inserer les données dans spip_auteurs -- si $id_auteur : mise à jour - autrement : nouvelle entrée
    234251        if (is_numeric($id_auteur)) {
    235252                $where = 'id_auteur = '.$id_auteur;
     
    254271        //toutes les clefs qu'inscription2 peut mettre à jour
    255272        //s'appuie sur les tables definies par le plugin
    256         $clefs = $tables_principales['spip_auteurs_elargis']['field'];
    257        
     273        $clefs = $tables_principales[$table]['field'];
    258274        //extrait uniquement les données qui ont été proposées à la modification
    259275        $val = array_intersect_key($valeurs,$clefs);
    260        
     276        unset($val['login']);
    261277        //recherche la presence d'un complément sur l'auteur
    262278        $id_elargi = sql_getfetsel('id_auteur','spip_auteurs_elargis','id_auteur='.$id_auteur);
     
    283299    if (!$new){
    284300        $message = _T('inscription2:profil_modifie_ok');
     301        if($mode = 'modification_auteur_simple'){
     302                $message .= '<br />'._T('inscription2:mot_passe_reste_identique');
     303        }
     304        $editable = true;
    285305    } else {
    286306                $envoyer_inscription = charger_fonction('envoyer_inscription2','inc');
    287307                $envoyer_inscription($id_auteur,$mode);
    288308                $message = _T('inscription2:formulaire_inscription_ok');
     309                $editable = false;
    289310    }
    290311       
     
    299320        );
    300321       
    301     return array('editable'=>false,'message' => $message);
     322    return array('editable'=>$editable,'message' => $message);
    302323}
    303324
Note: See TracChangeset for help on using the changeset viewer.