Changeset 32130 in spip-zone


Ignore:
Timestamp:
Oct 14, 2009, 11:29:34 PM (11 years ago)
Author:
kent1@…
Message:

Ne pas planter le formulaire sur des champs inexistants...

Une vérification correcte de la date de naissance et du mot de passe

Une class supplémentaire "formulaire_inscription2_profil" en cas de modification de profil

Location:
_plugins_/inscription2/inscription2_2_0
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/inscription2/inscription2_2_0/formulaires/inscription2.html

    r32115 r32130  
    1 <div class="formulaire_spip formulaire_inscription2" id="formulaire_inscription2[_(#ENV{id_auteur})]">
     1<div class="formulaire_spip formulaire_inscription2[(#ENV{id_auteur}|oui)formulaire_inscription2_profil]" id="formulaire_inscription2[_(#ENV{id_auteur})]">
    22
    33[(#ENV**{erreurs}|table_valeur{email_connu}|oui)
  • _plugins_/inscription2/inscription2_2_0/formulaires/inscription2.php

    r32115 r32130  
    3838        $champs = $chercher_champs($id_auteur);
    3939
    40         //si on a bien un auteur alors on preremplit le formulaire avec ses informations
    41         //les nom des champs sont les memes que ceux de la base de données
     40        /**
     41         * si on a un auteur alors on preremplit le formulaire avec ses informations
     42         * les nom des champs sont les memes que ceux de la base de données
     43         */
    4244        if (is_numeric($id_auteur)) {
    4345                if (!autoriser('modifier','auteur',$id_auteur)) {
    4446                        return;
    4547                }
     48                /**
     49                 * On sélectionne tout pour éviter les champs qui ne sont pas dans la
     50                 * base de donnée.
     51                 * par exemple : logo_auteur et reglement
     52                 */
    4653                $auteur = sql_fetsel(
    47                         $champs,
     54                        '*',
    4855                        'spip_auteurs LEFT JOIN spip_auteurs_elargis USING(id_auteur)',
    4956                        'spip_auteurs_elargis.id_auteur ='.$id_auteur
     
    111118                        $erreurs[$valeur] = _T('inscription2:champ_obligatoire');
    112119                        $erreurs_obligatoires = true;
     120                        if($valeur == 'naissance'){
     121                                $annee = _request('annee');
     122                                $mois = _request('mois');
     123                                $jour = _request('jour');
     124                                if($annee && $mois && $jour){
     125                                        unset($erreurs['naissance']);
     126                                }
     127                        }
    113128                        if(is_numeric($id_auteur) && (lire_config('inscription2/pass_fiche_mod') == 'on') && (strlen(_request('pass')) == 0)){
    114129                                // Si le password est vide et que l'on est dans le cas de la modification d'un auteur
     
    134149
    135150        //messages d'erreur au cas par cas (PASSWORD)
    136         //verification des champs
    137         // Sinon on le verifie
    138         if(($pass != 'ok') && (lire_config('inscription2/pass') == 'on')) {
    139                 if (strlen(_request('password')) != 0){$p = _request('password');}else{$p = _request('pass');}
    140                 if($p) {
     151        /**
     152         * Il se peut que l'on active pas le password à l'inscription
     153         * mais uniquement à la modification ...
     154         * On le test ici en créant la variable $pass_actif
     155         */ 
     156        $pass_actif = false;
     157        if(is_numeric($id_auteur) && (lire_config('inscription2/pass_fiche_mod') == 'on')){
     158                $pass_actif = true;
     159        }else if(!$id_auteur && (lire_config('inscription2/pass') == 'on')){
     160                $pass_actif = true;
     161        }
     162        if(($pass != 'ok') && $pass_actif) {
     163                if (strlen(_request('password')) != 0){
     164                        $p = _request('password');
     165                }
     166                else{
     167                        $p = _request('pass');
     168                }
     169                if($p){
    141170                        if(strlen($p)){
    142171                                if (strlen($p) < 6) {
  • _plugins_/inscription2/inscription2_2_0/inc/inscription2_champs_formulaire.php

    r32115 r32130  
    44 * Function déterminant les champs à utiliser dans le formulaire en fonction de la configuration de CFG
    55 *
    6  * @return array Un array contenant l'ensemble des champs 
     6 * @return array Un array contenant l'ensemble des champs
    77 * @param int $id_auteur[optional] Dans le cas ou cette option est présente, on ne retourne que les champs autorisé à être modifiés dans la configuration
    88 */
    99
    10 function inc_inscription2_champs_formulaire_dist($id_auteur=NULL) {
     10function inc_inscription2_champs_formulaire_dist($id_auteur=null) {
    1111        if(is_numeric($id_auteur)){
    1212                $suffixe = '_fiche_mod';
     
    3434         * On force l'ajout du règlement si configuré (il ne passe pas avec les tests ci dessus)
    3535         */
    36         if(lire_config('inscription2/reglement')){
     36        if(lire_config('inscription2/reglement') && ($action != 'charger')){
    3737                $valeurs[] = 'reglement';
    3838        }
Note: See TracChangeset for help on using the changeset viewer.