Skip to content
Extraits de code Groupes Projets
Valider ea99f43b rédigé par Fil's avatar Fil
Parcourir les fichiers

suite restauration espace public

parent 03cc7e48
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -140,7 +140,7 @@ function retour_forum($id_rubrique, $id_parent, $id_article, $id_breve, $id_synd ...@@ -140,7 +140,7 @@ function retour_forum($id_rubrique, $id_parent, $id_article, $id_breve, $id_synd
$ret .= "\n<a name='formulaire_forum'></a>\n"; $ret .= "\n<a name='formulaire_forum'></a>\n";
$ret .= "\n<FORM ACTION='$lien' METHOD='post'>"; $ret .= "\n<FORM ACTION='$lien' METHOD='post'>";
$ret .= "\n<B>VOTRE MESSAGE...</B><p>"; //$ret .= "\n<B>VOTRE MESSAGE...</B><p>";
if ($forums_publics == "pri") { if ($forums_publics == "pri") {
$ret.= "Ce forum est mod&eacute;r&eacute; &agrave; priori&nbsp;: votre contribution n'appara&icirc;tra qu'apr&egrave;s avoir &eacute;t&eacute; valid&eacute;e par un administrateur du site.<P>"; $ret.= "Ce forum est mod&eacute;r&eacute; &agrave; priori&nbsp;: votre contribution n'appara&icirc;tra qu'apr&egrave;s avoir &eacute;t&eacute; valid&eacute;e par un administrateur du site.<P>";
...@@ -196,7 +196,7 @@ function retour_forum($id_rubrique, $id_parent, $id_article, $id_breve, $id_synd ...@@ -196,7 +196,7 @@ function retour_forum($id_rubrique, $id_parent, $id_article, $id_breve, $id_synd
if (!$nouveau_document){ if (!$nouveau_document AND $afficher_texte != 'non'){
$ret .= "<div class='spip_encadrer'>"; $ret .= "<div class='spip_encadrer'>";
if ($afficher_texte != "non"){ if ($afficher_texte != "non"){
$ret .= "<font size=4 color='#aaaaaa'><b>".propre($titre)."</b></font>"; $ret .= "<font size=4 color='#aaaaaa'><b>".propre($titre)."</b></font>";
...@@ -230,17 +230,9 @@ function retour_forum($id_rubrique, $id_parent, $id_article, $id_breve, $id_synd ...@@ -230,17 +230,9 @@ function retour_forum($id_rubrique, $id_parent, $id_article, $id_breve, $id_synd
$ret .= "</div>\n<p>"; $ret .= "</div>\n<p>";
} }
/* $ret .= "\n";
if ($forums_publics == "pri") {
$ret.= "Ce forum est mod&eacute;r&eacute; &agrave; priori&nbsp;: votre contribution n'appara&icirc;tra qu'apr&egrave;s avoir &eacute;t&eacute; valid&eacute;e par un administrateur du site.<P>";
}
if ($forums_publics == "abo") {
$ret.= '<? include("inc-forum.php3"); forum_abonnement(); ?'.'>';
}
*/
$ret .= "\n";
$seed = (double) (microtime() + 1) * time() * 1000000; $seed = (double) (microtime() + 1) * time() * 1000000;
@mt_srand($seed); @mt_srand($seed);
...@@ -385,7 +377,9 @@ function retour_forum($id_rubrique, $id_parent, $id_article, $id_breve, $id_synd ...@@ -385,7 +377,9 @@ function retour_forum($id_rubrique, $id_parent, $id_article, $id_breve, $id_synd
$ret .= "\n<INPUT TYPE='text' CLASS='forml' NAME='email_auteur' VALUE=\"$email_auteur\" SIZE='40'></div>"; $ret .= "\n<INPUT TYPE='text' CLASS='forml' NAME='email_auteur' VALUE=\"$email_auteur\" SIZE='40'></div>";
} }
$ret .= "\n<p><DIV ALIGN='right'><INPUT TYPE='submit' NAME='Valider' CLASS='spip_bouton' VALUE='Voir ce message avant de le poster'></DIV>"; if ($afficher_texte !="non") $ret .= "\n<p><DIV ALIGN='right'><INPUT TYPE='submit' NAME='Valider' CLASS='spip_bouton' VALUE='Voir ce message avant de le poster'></DIV>";
else $ret .= "\n<p><DIV ALIGN='right'><INPUT TYPE='submit' NAME='Valider' CLASS='spip_bouton' VALUE='Valider ce choix'></DIV>";
$ret .= "</FORM>"; $ret .= "</FORM>";
return $ret; return $ret;
...@@ -398,7 +392,8 @@ function ajout_forum() { ...@@ -398,7 +392,8 @@ function ajout_forum() {
global $forum_id_rubrique, $forum_id_parent, $forum_id_article, $forum_id_breve, $forum_id_auteur, $forum_id_syndic, $alea, $hash; 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; global $hash_email, $email_forum_abo, $pass_forum_abo, $ajouter_mot;
global $HTTP_HOST, $REQUEST_URI, $HTTP_COOKIE_VARS, $REMOTE_ADDR; global $HTTP_HOST, $REQUEST_URI, $HTTP_COOKIE_VARS, $REMOTE_ADDR;
$afficher_texte = $GLOBALS['afficher_texte'];
if (!$GLOBALS['db_ok']) { if (!$GLOBALS['db_ok']) {
die ("<h4>Probl&egrave;me de base de donn&eacute;es, votre message n'a pas &eacute;t&eacute; enregistr&eacute;.</h4>"); die ("<h4>Probl&egrave;me de base de donn&eacute;es, votre message n'a pas &eacute;t&eacute; enregistr&eacute;.</h4>");
} }
...@@ -538,7 +533,7 @@ function ajout_forum() { ...@@ -538,7 +533,7 @@ function ajout_forum() {
if (strlen($confirmer) > 0) { if (strlen($confirmer) > 0 OR ($afficher_texte=='non' AND $ajouter_mot)) {
spip_query("UPDATE spip_forum SET statut=\"$etat\" WHERE id_forum='$id_message'"); spip_query("UPDATE spip_forum SET statut=\"$etat\" WHERE id_forum='$id_message'");
......
...@@ -58,6 +58,7 @@ $fichier_requete = $REQUEST_URI; ...@@ -58,6 +58,7 @@ $fichier_requete = $REQUEST_URI;
$fichier_requete = strtr($fichier_requete, '?', '&'); $fichier_requete = strtr($fichier_requete, '?', '&');
$fichier_requete = eregi_replace('&(submit|valider|(var_[^=&]*)|recalcul)=[^&]*', '', $fichier_requete); $fichier_requete = eregi_replace('&(submit|valider|(var_[^=&]*)|recalcul)=[^&]*', '', $fichier_requete);
$fichier_cache = generer_nom_fichier_cache($fichier_requete); $fichier_cache = generer_nom_fichier_cache($fichier_requete);
$chemin_cache = "CACHE/".$fichier_cache; $chemin_cache = "CACHE/".$fichier_cache;
...@@ -77,9 +78,9 @@ else { ...@@ -77,9 +78,9 @@ else {
// Authentification, le cas echeant // Authentification, le cas echeant
// //
$auteur_session = ''; $auteur_session = '';
if ($cookie = $HTTP_COOKIE_VARS['spip_session']) { if ($HTTP_COOKIE_VARS['spip_session'] OR $PHP_AUTH_USER) {
include_ecrire ("inc_session.php3"); include_ecrire ("inc_session.php3");
verifier_session($cookie); verifier_visiteur();
} }
...@@ -331,7 +332,9 @@ if ($spip_session) { ...@@ -331,7 +332,9 @@ if ($spip_session) {
if ($id_article AND lire_meta("activer_statistiques") != "non" AND !$flag_preserver) { if ($id_article AND lire_meta("activer_statistiques") != "non" AND !$flag_preserver) {
include_ecrire("inc_connect.php3"); include_ecrire("inc_connect.php3");
include_local ("inc-stats.php3"); include_local ("inc-stats.php3");
if ($db_ok) ecrire_stats(); if ($db_ok) $stats = ecrire_stats();
if ($admin_ok) echo $stats;
} }
......
...@@ -10,6 +10,7 @@ function ecrire_stats() { ...@@ -10,6 +10,7 @@ function ecrire_stats() {
global $id_article; global $id_article;
global $admin_ok; global $admin_ok;
$my_ref = $HTTP_REFERER; $my_ref = $HTTP_REFERER;
$my_ref = "\n".substr(md5($my_ref), 0, 15); $my_ref = "\n".substr(md5($my_ref), 0, 15);
...@@ -19,7 +20,7 @@ function ecrire_stats() { ...@@ -19,7 +20,7 @@ function ecrire_stats() {
if ($row = mysql_fetch_array($result)) { if ($row = mysql_fetch_array($result)) {
$visites = $row['visites']; $visites = $row['visites'];
$referers = $row['referers']; $referers = $row['referers'];
$visites++; $visites++;
if (!ereg($my_ref, $referers)) { if (!ereg($my_ref, $referers)) {
...@@ -31,7 +32,9 @@ function ecrire_stats() { ...@@ -31,7 +32,9 @@ function ecrire_stats() {
} }
$num_ref = strlen($referers) / 16; $num_ref = strlen($referers) / 16;
if ($admin_ok) echo "<small>[$visites visites - $num_ref referers]</small>"; if ($admin_ok) {
return "<small>[$visites visites - $num_ref referers]</small>";
}
} }
} }
......
...@@ -5,6 +5,22 @@ include_ecrire ("inc_connect.php3"); ...@@ -5,6 +5,22 @@ include_ecrire ("inc_connect.php3");
include_ecrire ("inc_meta.php3"); include_ecrire ("inc_meta.php3");
include_ecrire ("inc_session.php3"); include_ecrire ("inc_session.php3");
// si demande auth_http
if ($essai_auth_http == 'oui') {
include_ecrire('inc_session.php3');
if (! verifier_php_auth()) {
ask_php_auth("<b>Connexion refus&eacute;e.</b><p>(Login ou mot de passe incorrect.)<p>[<a href='./'>Retour au site public</a>] [<a href='./spip_cookie.php3?essai_auth_http=oui&redirect=./ecrire/'>Nouvelle tentative</a>] [<a href='./ecrire/'>espace priv&eacute</a>]");
} else {
@header("Location: $redirect");
}
exit;
}
// si demande logout auth_http
else if ($essai_auth_http == 'logout') {
include_ecrire('inc_session.php3');
ask_php_auth("<b>D&eacute;connexion effectu&eacute;e.</b><p>(V&eacute;rifiez toutefois que votre navigateur n'a pas m&eacute;moris&eacute; votre mot de passe...)<p>[<a href='./'>Retour au site public</a>] [<a href='./spip_cookie.php3?essai_auth_http=oui&redirect=./ecrire/'>test navigateur/reconnexion</a>] [<a href='./ecrire/'>espace priv&eacute</a>]");
exit;
}
// rejoue le cookie pour renouveler spip_session // rejoue le cookie pour renouveler spip_session
if ($change_session == "oui") { if ($change_session == "oui") {
...@@ -28,26 +44,52 @@ if ($cookie_session == "non") { ...@@ -28,26 +44,52 @@ if ($cookie_session == "non") {
setcookie('spip_session', $spip_session, time() - 3600 * 24); setcookie('spip_session', $spip_session, time() - 3600 * 24);
} }
else if ($essai_login == "oui") { else if ($essai_login == "oui") {
// verifie l'auteur // recuperer le login passe en champ hidden
if ($session_password_md5) if ($session_login_hidden AND ! $session_login) $session_login=$session_login_hidden;
$md5pass = $session_password_md5;
else
$md5pass = md5($session_password);
// verifier l'auteur
$login = addslashes($session_login); $login = addslashes($session_login);
$query = "SELECT * FROM spip_auteurs WHERE login='$login' AND pass='$md5pass'"; if ($session_password_md5) {
$md5pass = $session_password_md5;
$md5next = $next_session_password_md5;
} else {
$query = "SELECT * FROM spip_auteurs WHERE login='$login'";
$result = spip_query($query);
if ($row = mysql_fetch_array($result)) {
$md5pass = md5($row['alea_actuel'] . $session_password);
$md5next = md5($row['alea_futur'] . $session_password);
}
}
$query = "SELECT * FROM spip_auteurs WHERE login='$login' AND pass='$md5pass' AND statut<>'5poubelle'";
$result = spip_query($query); $result = spip_query($query);
if ($row_auteur = mysql_fetch_array($result)) { if ($row_auteur = mysql_fetch_array($result)) {
if ($row_auteur['statut'] == 'nouveau') { // nouvel inscrit
spip_query ("UPDATE spip_auteurs SET statut='1comite' WHERE login='$login'");
$row_auteur['statut'] = '1comite';
}
if ($row_auteur['statut'] == '0minirezo') { // force le cookie pour les admins if ($row_auteur['statut'] == '0minirezo') { // force le cookie pour les admins
$cookie_admin = "@".$row_auteur['login']; $cookie_admin = "@".$row_auteur['login'];
} }
if ($zap_sessions) zap_sessions($row_auteur['login'], true); if ($zap_sessions) zap_sessions($row_auteur['login'], true);
$cookie_session = creer_cookie_session($row_auteur); $cookie_session = creer_cookie_session($row_auteur);
setcookie('spip_session', $cookie_session, time() + 3600 * 24 * 7); setcookie('spip_session', $cookie_session, time() + 3600 * 24 * 7);
// ici on fait tourner le codage du pass dans la base
// retournera une erreur si la base n'est pas mise a jour...
$nouvel_alea_futur = creer_uniqid();
$query = "UPDATE spip_auteurs
SET alea_actuel = alea_futur,
pass = '$md5next',
alea_futur = '$nouvel_alea_futur'
WHERE login='$login'";
@spip_query($query);
} }
else if ($redirect_echec) { else if ($redirect_echec) {
@header("Location: $redirect_echec"); @header("Location: $redirect_echec?login=$login&erreur=pass");
exit; exit;
} }
} }
...@@ -65,4 +107,4 @@ if (!$redirect) $redirect = './index.php3'; ...@@ -65,4 +107,4 @@ if (!$redirect) $redirect = './index.php3';
@header("Location: $redirect"); @header("Location: $redirect");
?> ?>
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter