From 0366991a3a8f3494fcc47966f665b906dc0d0874 Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Thu, 15 Aug 2002 07:56:25 +0000 Subject: [PATCH] reglages (dont un piti trou de secu) au fait : les statut = 6forum, ils avaient quoi avant ? un login ? ou juste un mot de passe et un email ? --- inc-formulaires.php3 | 54 +++++++++++++++++++++++++------------------- spip_pass.php3 | 15 ++---------- 2 files changed, 33 insertions(+), 36 deletions(-) diff --git a/inc-formulaires.php3 b/inc-formulaires.php3 index 72b14f90c0..eb815b88ed 100644 --- a/inc-formulaires.php3 +++ b/inc-formulaires.php3 @@ -278,6 +278,18 @@ function formulaire_signature($id_article) { } +// y a t il des forums sur abonnement ? +function forums_sur_abo() { + if (lire_meta("forums_publics") == "abo") + return true; + else { + $res = spip_query ("SELECT * FROM spip_articles WHERE accepter_forum='abo'"); + if (mysql_num_rows($res)>0) + return true; + } +} + +// inscrire les visiteurs dans l'espace public (statut 6forum) ou prive (statut nouveau->1comite) function formulaire_inscription() { $request_uri = $GLOBALS["REQUEST_URI"]; global $mail_inscription; @@ -285,49 +297,45 @@ function formulaire_inscription() { include_ecrire("inc_meta.php3"); $inscriptions_ecrire = (lire_meta("autoriser_inscriptions") == "oui"); + if ($inscriptions_ecrire) { + $ecrire = "ecrire/"; + $statut = "nouveau"; + } + else if (forums_sur_abo() ) { + $ecrire = ""; + $statut = "6forum"; + } + else { + return; // tentative de hack...? + } if ($mail_inscription) { include_ecrire("inc_connect.php3"); $query = "SELECT * FROM spip_auteurs WHERE email='$mail_inscription'"; $result = spip_query($query); - $ok = true; echo "<div class='reponse_formulaire'>"; + // l'abonne existe deja. if ($row = mysql_fetch_array($result)) { $id_auteur = $row['id_auteur']; $statut = $row['statut']; echo "<b>"; - if ($statut == '5poubelle') { + if ($statut == '5poubelle') echo "Vous n'avez plus accès à ce site."; - $ok = false; - } - else if ($statut == 'nouveau'){ - spip_query("DELETE FROM spip_auteurs WHERE id_auteur=$id_auteur"); - echo "Vous vous êtes déjà inscrit avec cette adresse, mais vous ne vous êtes jamais connecté. Vous allez recevoir un nouveau code d'accès. ATTENTION : les codes d'accès qui vous sont parvenus auparavant ne sont plus actifs, vous devez utiliser uniquement ceux qui vous sont envoyés à l'instant."; - $ok = true; - } - else if ($statut == '0minirezo' OR $statut == '1comite') { - echo "Cette adresse e-mail est déjà enregistrée en tant que rédacteur ou - administrateur du site, vous pouvez donc utiliser votre mot de passe habituel."; - $ok = false; - } - else if ($statut == '6forum') { // envoyer les identifiants pour ecrire - spip_query("DELETE FROM spip_auteurs WHERE id_auteur=$id_auteur"); - $ok = true; - } - echo "</b>\n"; + else + echo "Cette adresse e-mail est déjà enregistrée, vous pouvez donc utiliser votre mot de passe habituel."; + echo "</b>"; } - - if ($ok) { + else { // envoyer identifiants par mail include_local("inc-forum.php3"); $pass = generer_pass_forum($mail_inscription); $login = test_login($mail_inscription); $mdpass = md5($pass); $htpass = generer_htpass($pass); $query = "INSERT INTO spip_auteurs (nom, email, login, pass, statut, htpass) ". - "VALUES ('".addslashes($nom_inscription)."', '".addslashes($mail_inscription)."', '$login', '$mdpass', 'nouveau', '$htpass')"; + "VALUES ('".addslashes($nom_inscription)."', '".addslashes($mail_inscription)."', '$login', '$mdpass', '$statut', '$htpass')"; $result = spip_query($query); ecrire_acces(); @@ -337,7 +345,7 @@ function formulaire_inscription() { $message = "(ceci est un message automatique)\n\n"; $message .= "Bonjour\n\n"; $message .= "Voici vos identifiants pour pouvoir participer aux forums\n"; - $message .= "du site \"$nom_site_spip\" ($adresse_site/ecrire) :\n\n"; + $message .= "du site \"$nom_site_spip\" ($adresse_site/$ecrire) :\n\n"; $message .= "- login : $login\n"; $message .= "- mot de passe : $pass\n\n"; diff --git a/spip_pass.php3 b/spip_pass.php3 index a45eac0a64..8e8df5a7d6 100644 --- a/spip_pass.php3 +++ b/spip_pass.php3 @@ -15,21 +15,10 @@ include_local("inc-formulaires.php3"); $inscriptions_ecrire = (lire_meta("autoriser_inscriptions") == "oui") ; -// y a t il des forums sur abonnement ? -function forums_sur_abo() { - if (lire_meta("forums_publics") == "abo") - return true; - else { - $res = spip_query ("SELECT * FROM spip_articles WHERE accepter_forum='abo'"); - if (mysql_num_rows($res)>0) - return true; - } -} - // recuperer le cookie de relance if ($p = addslashes($p)) { - $res = spip_query ("SELECT * FROM spip_auteurs WHERE cookie_oubli='$p' AND statut<>'5poubelle' AND pass<>'' AND login<>''"); - if (!$res OR $row = mysql_fetch_array($res)) { + $res = spip_query ("SELECT * FROM spip_auteurs WHERE cookie_oubli='$p' AND statut<>'5poubelle' AND pass<>''"); + if ($row = mysql_fetch_array($res)) { if ($pass) { $mdpass = md5($pass); $htpass = generer_htpass($pass); -- GitLab