diff --git a/ecrire/auth/spip.php b/ecrire/auth/spip.php index b5658b2d801eac5a21dd7810667b8c5d7318d898..5b146fec0e6f3f9f3e4bd7f18e1b76c9b3f1e7a6 100644 --- a/ecrire/auth/spip.php +++ b/ecrire/auth/spip.php @@ -39,12 +39,7 @@ function auth_spip_dist ($login, $pass, $serveur='') { $row = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login) . " AND pass=" . sql_quote($md5pass) . " AND statut<>'5poubelle'",'','','','',$serveur); // login/mot de passe incorrect - if (!$row) return array(); - - if ($row['statut'] == 'nouveau') { - include_spip('inc/auth'); - $row['statut'] = acces_statut($row['id_auteur'], $row['statut'], $row['bio']); - } + if (!$row) return array(); // fait tourner le codage du pass dans la base if ($md5next) { diff --git a/ecrire/inc/auth.php b/ecrire/inc/auth.php index 2d6e0992d4402558edfeafe6b7ca1e2396978dd0..35f01c0fa0cfe39297d724486b62c5e0bb4cd590 100644 --- a/ecrire/inc/auth.php +++ b/ecrire/inc/auth.php @@ -49,7 +49,10 @@ function acces_statut($id_auteur, $statut, $bio) if ($statut != 'nouveau') return $statut; include_spip('inc/filtres'); if (!($s = tester_config('', $bio))) return $statut; - sql_updateq('spip_auteurs', array('bio'=>'', 'statut'=> $s), "id_auteur=$id_auteur"); + include_spip('action/editer_auteur'); + instituer_auteur($id_auteur,array('statut'=> $s)); + include_spip('inc/modifier'); + revision_auteur($id_auteur, array('bio'=>'')); return $s; } @@ -457,12 +460,20 @@ function auth_terminer_identifier_login($auth_methode, $login, $serveur=''){ $p = array('prefs' => serialize($p)); sql_updateq('spip_auteurs', $p, "id_auteur=" . $auteur['id_auteur']); + if ($auteur['statut'] == 'nouveau') { + $auteur['statut'] = acces_statut($auteur['id_auteur'], $auteur['statut'], $auteur['bio']); + } + // Si on est admin, poser le cookie de correspondance + include_spip('inc/cookie'); if ($auteur['statut'] == '0minirezo') { - include_spip('inc/cookie'); spip_setcookie('spip_admin', '@'.$auteur['login'], time() + 7 * 24 * 3600); } + // sinon le supprimer ... + else { + spip_setcookie('spip_admin', '',1); + } // bloquer ici le visiteur qui tente d'abuser de ses droits verifier_visiteur();