diff --git a/inc-calcul-squel.php3 b/inc-calcul-squel.php3 index 25c65609658ce8012003f4d0b72f87957fa27e27..651a68fec2ea729a1417676488f96553f7232c6e 100644 --- a/inc-calcul-squel.php3 +++ b/inc-calcul-squel.php3 @@ -1598,9 +1598,7 @@ function calculer_champ($id_champ, $id_boucle, $nom_var) case 'LOGIN_PRIVE': $milieu = ' $'.$nom_var.' = "<"."?php include_local (\'inc-login.php3\'); - if (\$GLOBALS[\'var_url\']) \$cible = new Link(\$GLOBALS[\'var_url\']); - else \$cible = new Link(\'ecrire/\'); - login (\$cible, \'prive\'); ?".">"; + login (\'\', \'prive\'); ?".">"; '; break; diff --git a/inc-forum.php3 b/inc-forum.php3 index 9751b6e6b3a2bb220cb50f2f890bd3b959330ea9..1d4e109d01d4e0a550d556c823d02a38a168e6b3 100644 --- a/inc-forum.php3 +++ b/inc-forum.php3 @@ -101,7 +101,6 @@ function forum_abonnement($retour) { return true; // autoriser le formulaire else { include_local("inc-login.php3"); - $cible = new Link($retour); $message_login = propre("Pour participer à ce forum, vous devez vous enregistrer au préalable. Merci @@ -110,8 +109,9 @@ function forum_abonnement($retour) { vous n'en avez pas encore, vous pouvez"). ' <script language="JavaScript"><!-- document.write("<a href=\\"javascript:window.open(\\\'spip_pass.php3\\\', \\\'spip_pass\\\', \\\'scrollbars=yes,resizable=yes,width=740,height=580\\\'); void(0);\\""); -//--></script><noscript><a href=\'spip_pass.php3\' target=\'_blank\'></noscript>demander de nouveaux identifiants</a>.'; - login($cible, false, $message_login); +//--></script><noscript><a href=\'spip_pass.php3\' target=\'_blank\'></noscript>demander un nouvel identifiant</a>.<br>'; + login('', false, $message_login); + return false; } } @@ -381,7 +381,9 @@ function retour_forum($id_rubrique, $id_parent, $id_article, $id_breve, $id_synd function ajout_forum() { global $texte, $titre, $nom_site_forum, $url_site, $auteur, $email_auteur, $retour_forum, $id_message, $confirmer; global $forum_id_rubrique, $forum_id_parent, $forum_id_article, $forum_id_breve, $forum_id_auteur, $forum_id_syndic, $alea, $hash; - global $hash_email, $email_forum_abo, $pass_forum_abo, $ajouter_mot, $new; +// global $hash_email, $email_forum_abo, $pass_forum_abo; + global $auteur_session; + global $ajouter_mot, $new; global $HTTP_HOST, $REQUEST_URI, $HTTP_COOKIE_VARS, $REMOTE_ADDR; $afficher_texte = $GLOBALS['afficher_texte']; @@ -473,8 +475,6 @@ function ajout_forum() { } - - $query_forum = "UPDATE spip_forum SET id_parent = $forum_id_parent, id_rubrique =$forum_id_rubrique, id_article = $forum_id_article, id_breve = $forum_id_breve, id_syndic = \"$forum_id_syndic\", date_heure = NOW(), titre = \"$titre\", texte = \"$texte\", nom_site = \"$nom_site_forum\", url_site = \"$url_site\", auteur = \"$auteur\", @@ -485,7 +485,7 @@ function ajout_forum() { if ($forums_publics == 'abo') { - +/* $cookie_email = $HTTP_COOKIE_VARS['spip_forum_email']; if ($hash_email && $forum_id_auteur) { if (verifier_action_auteur("email $cookie_email", $hash_email, $forum_id_auteur)) { @@ -516,13 +516,11 @@ function ajout_forum() { die ("<h4>Vous devez indiquer votre adresse et votre mot de passe.</h4> Cliquez <a href='$retour_forum'>ici</a> pour continuer.<p>"); } - } - - if ($ok) { - $id_auteur = $row[0]; - $statut = $row[8]; + }*/ + if ($auteur_session) { + $statut = $auteur_session['statut']; - if ($statut == '5poubelle') { + if (!$statut OR $statut == '5poubelle') { die ("<h4>Vous n'avez plus accès à ces forums.</h4>Cliquez <a href='$retour_forum'>ici</a> pour continuer.<p>"); } } @@ -532,12 +530,9 @@ function ajout_forum() { } } - - if (strlen($confirmer) > 0 OR ($afficher_texte=='non' AND $ajouter_mot)) { spip_query("UPDATE spip_forum SET statut=\"$etat\" WHERE id_forum='$id_message'"); - $texte = stripslashes($texte); $titre = stripslashes($titre); $auteur = stripslashes($auteur); diff --git a/inc-login.php3 b/inc-login.php3 index ac0633f9d45ee60bb4bb199a7aa3d340b658872c..90cc525147e267391e7304f87d29c7e862c2bab8 100644 --- a/inc-login.php3 +++ b/inc-login.php3 @@ -37,45 +37,50 @@ function auth_http($cible, $essai_auth_http) { } function ouvre_login($titre) { - //$retour .= debut_cadre_enfonce("redacteurs-24.gif"); $retour .= "<div class='spip_encadrer'>"; - //if ($titre) $retour .= gros_titre($titre); if ($titre) $retour .= "<h3 class='spip'>$titre</h3>"; - $retour .= '<font size="2" face="arial,helvetica,sans-serif">'; + $retour .= '<font size="2" face="Verdana,arial,helvetica,sans-serif">'; return $retour; } function ferme_login() { $retour = "</font>"; - //$retour .= fin_cadre_enfonce(); $retour .= "<div>"; return $retour; } -function login($cible, $prive = 'prive', $message_login='') { +function login($cible = '', $prive = 'prive', $message_login='') { $login = $GLOBALS['var_login']; $erreur = $GLOBALS['var_erreur']; $echec_cookie = $GLOBALS['var_echec_cookie']; $essai_auth_http = $GLOBALS['var_essai_auth_http']; $logout = $GLOBALS['var_logout']; + + global $auteur_session; + global $spip_session, $PHP_AUTH_USER; global $spip_admin; global $php_module; global $clean_link; - $clean_link->delVar('var_erreur'); - $clean_link->delVar('var_login'); - global $auteur_session; - global $spip_session, $PHP_AUTH_USER; + if (!$cible) { + if ($GLOBALS['var_url']) $cible = new Link($GLOBALS['var_url']); + else if ($prive) $cible = new Link('ecrire'); + else $cible = $clean_link; + } + $cible->delVar('var_erreur'); + $cible->delVar('var_url'); + $clean_link->delVar('var_erreur'); + $clean_link->delVar('var_login'); include_ecrire("inc_session.php3"); verifier_visiteur(); - if ($auteur_session AND ! $logout) { + if ($auteur_session AND !$logout) { $url = $cible->getUrl(); @Header("Location: $url"); - echo "<a href='$url'>Vous êtes en registré... par ici...</a>\n"; + echo "<a href='$url'>Vous êtes enregistré... par ici...</a>\n"; return; } @@ -134,7 +139,7 @@ document.write("<a href=\\"javascript:window.open(\\\'spip_pass.php3\\\', \\\'sp vous devez entrer les codes qui vous ont été fournis lors de votre inscription."; - echo "<br><font size='2'>$message_login</font><br>\n"; + echo "<br>$message_login<br>\n"; } @@ -180,7 +185,7 @@ document.write("<a href=\\"javascript:window.open(\\\'spip_pass.php3\\\', \\\'sp } else { // demander seulement le login - $url = $cible->getUrl(); + $url = urlencode($cible->getUrl()); $action = $clean_link->getUrl(); echo "<form name='form_login' action='$action' method='post' class='spip_encadrer'>\n"; @@ -188,7 +193,7 @@ document.write("<a href=\\"javascript:window.open(\\\'spip_pass.php3\\\', \\\'sp echo "<label><b>Login (identifiant de connexion au site) :</b><br></label>"; echo "<input type='text' name='var_login' class='forml' value=\"\" size='40'>\n"; - echo "<input type='hidden' name='url' value='$url'>\n"; + echo "<input type='hidden' name='var_url' value='$url'>\n"; echo "<div align='right'><input type='submit' class='spip_bouton' name='submit' value='Valider'></div>\n"; echo "</form>"; } @@ -203,16 +208,14 @@ document.write("<a href=\\"javascript:window.open(\\\'spip_pass.php3\\\', \\\'sp echo "de connexion (moins sécurisée) est à votre disposition : \n"; echo "<input type='hidden' name='essai_auth_http' value='oui'> "; $url = $cible->getUrl(); - echo "<input type='hidden' name='url' value='$url'>\n"; + echo "<input type='hidden' name='var_url' value='$url'>\n"; echo "<div align='right'><input type='submit' name='submit' class='spip_bouton' value='Identification sans cookie'></div>\n"; echo "</fieldset></form>\n"; } - if ($prive) echo "[<a href='$url_site'>retour au site public</a>]"; echo ferme_login(); - } ?> diff --git a/inc-public-global.php3 b/inc-public-global.php3 index 6d3b0d9d4bf5b942574c9ae98424014d1abb081c..ced0603450c0d65bb4ae268f448fd77eb38a09b3 100644 --- a/inc-public-global.php3 +++ b/inc-public-global.php3 @@ -157,7 +157,14 @@ if ($var_recherche AND $flag_ob AND $flag_preg_replace AND !$flag_preserver AND $effacer_cache = !$delais; // $delais peut etre modifie par une inclusion de squelette... if (file_exists($chemin_cache)) { - if ($lastmodified) @Header ("Last-Modified: ".gmdate("D, d M Y H:i:s T", $lastmodified)); + if (!$effacer_cache) { + if ($lastmodified) @Header ("Last-Modified: ".gmdate("D, d M Y H:i:s T", $lastmodified)); + } + else { + @Header("Expires: 0"); + @Header("Cache-Control: no-cache,no-store"); + @Header("Pragma: no-cache"); + } include ($chemin_cache); } diff --git a/spip_cookie.php3 b/spip_cookie.php3 index 2fb8f1d976b6cb8f4a0ce21b493a59c376df728d..f41f9f530a00f5154cdf4b74768f4e21e0a16dc1 100644 --- a/spip_cookie.php3 +++ b/spip_cookie.php3 @@ -5,8 +5,8 @@ include_ecrire ("inc_connect.php3"); include_ecrire ("inc_meta.php3"); include_ecrire ("inc_session.php3"); -if ($url) - $cible = new Link(urldecode($url)); +if ($url = $HTTP_POST_VARS['url']) + $cible = new Link($url); else $cible = new Link('ecrire/'); @@ -20,7 +20,6 @@ if ($change_session == 'oui') { @header('Expires: 0'); @header("Cache-Control: no-store, no-cache, must-revalidate"); @header('Pragma: no-cache'); - @header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); @header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); @readfile('ecrire/img_pack/rien.gif'); exit; @@ -83,6 +82,7 @@ if ($essai_login == "oui") { } $query = "SELECT * FROM spip_auteurs WHERE login='$login' AND pass='$md5pass' AND statut<>'5poubelle'"; + echo "$query<p>"; $result = spip_query($query); @@ -111,11 +111,11 @@ if ($essai_login == "oui") { else { if (ereg("ecrire/", $cible->getUrl())) { $cible = new Link("./spip_login.php3"); - $cible->addVar('var_login', $login); - if ($session_password || $session_password_md5) - $cible->addVar('var_erreur', 'pass'); - $cible->addVar('url', urldecode($url)); } + $cible->addVar('var_login', $login); + if ($session_password || $session_password_md5) + $cible->addVar('var_erreur', 'pass'); + $cible->addVar('var_url', urldecode($url)); } }