diff --git a/ecrire/inc_filtres.php3 b/ecrire/inc_filtres.php3 index fa7c4c7ea0c0a96fe0c116a8358822de1d16ddaa..75777e7b187c0659b323e1d5f3c9cb844badea00 100644 --- a/ecrire/inc_filtres.php3 +++ b/ecrire/inc_filtres.php3 @@ -210,7 +210,7 @@ function affdate_base($numdate, $vue) { if ($mois > 0){ $saison = "hiver"; if (($mois == 3 AND $jour >= 21) OR $mois > 3) $saison = "printemps"; - if (($mois == 6 AND $jour >= 21) OR $mois > 6) $saison = chr(233)."t".chr(233); + if (($mois == 6 AND $jour >= 21) OR $mois > 6) $saison = "\xe9t\xe9"; if (($mois == 9 AND $jour >= 21) OR $mois > 9) $saison = "automne"; if (($mois == 12 AND $jour >= 21) OR $mois > 12) $saison = "hiver"; } @@ -218,8 +218,8 @@ function affdate_base($numdate, $vue) { if ($lang == "fr") { if ($jour == '1') $jour = '1er'; $tab_mois = array('', - 'janvier', 'f'.chr(233).'vrier', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'ao'.chr(251).'t', 'septembre', 'octobre', 'novembre', 'd'.chr(233).'cembre'); + 'janvier', "f\xe9vrier", 'mars', 'avril', 'mai', 'juin', + 'juillet', "ao\xfbt", 'septembre', 'octobre', 'novembre', "d\xe9cembre"); $avjc = ' av. J.C.'; } elseif ($lang == "en"){ diff --git a/ecrire/inc_mail.php3 b/ecrire/inc_mail.php3 index 66458dd71cf3502649c6d5635299f8eae5e82f2e..a7965da012fc1a27aa85f6fb03dfc4daef4ad772 100644 --- a/ecrire/inc_mail.php3 +++ b/ecrire/inc_mail.php3 @@ -118,8 +118,8 @@ function envoyer_mail_publication($id_article) { $titre = nettoyer_titre_email($row['titre']); $sujet = "[$nom_site_spip] PUBLIE : $titre"; - $courr = "Article publi".chr(233)."\n--------------\n\n"; - $courr .= "L'article \"$titre\" a ".chr(233)."t".chr(233)." valid".chr(233)." par $connect_nom.\n\n\n"; + $courr = "Article publi\xe9\n--------------\n\n"; + $courr .= "L'article \"$titre\" a \xe9t\xe9 valid\xe9 par $connect_nom.\n\n\n"; $courr .= extrait_article($row); envoyer_mail($adresse_suivi, $sujet, $courr); } @@ -140,10 +140,10 @@ function envoyer_mail_proposition($id_article) { $titre = nettoyer_titre_email($row['titre']); $sujet = "[$nom_site_spip] Propose : $titre"; - $courr = "Article propos".chr(233)."\n---------------\n\n"; - $courr .= "L'article \"$titre\" est propos".chr(233)." ".chr(224)." la publication.\n"; - $courr .= "Vous ".chr(234)."tes invit".chr(233)." ".chr(224)." venir le consulter et ".chr(224)." donner votre opinion\n"; - $courr .= "dans le forum qui lui est attach".chr(233).". Il est disponible ".chr(224)." l'adresse :\n"; + $courr = "Article propos\xe9\n---------------\n\n"; + $courr .= "L'article \"$titre\" est propos\xe9 \xe0 la publication.\n"; + $courr .= "Vous \xeates invit\xe9 \xe0 venir le consulter et \xe0 donner votre opinion\n"; + $courr .= "dans le forum qui lui est attach\xe9. Il est disponible \xe0 l'adresse :\n"; $courr .= $adresse_site."/ecrire/articles.php3?id_article=$id_article\n\n\n"; $courr .= extrait_article($row); envoyer_mail($adresse_suivi, $sujet, $courr); @@ -160,7 +160,7 @@ function envoyer_mail_nouveautes() { $courr .= "Bonjour,\n\n"; $courr .= "Voici la lettre d'information du site \"$nom_site_spip\" ($adresse_site),\n"; - $courr .= "qui recense les articles et les breves publi".chr(233)."s depuis $jours_neuf jours.\n\n"; + $courr .= "qui recense les articles et les breves publi\xe9s depuis $jours_neuf jours.\n\n"; if ($post_dates == 'non') $query_post_dates = 'AND date < NOW()'; diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3 index 0bca88e82a2fbc5f9385488176f77bdfd7767110..d6e0386778db5b830389603f6f46012104a8f942 100644 --- a/ecrire/inc_presentation.php3 +++ b/ecrire/inc_presentation.php3 @@ -1750,12 +1750,15 @@ if (ereg("statistiques_visites.php3$", $GLOBALS['REQUEST_URI']) OR ereg("statist ?> </div></blockquote> <?php -if ($GLOBALS['spip_session']) { +/* // rejouer le cookie de session +if ($session = $GLOBALS['spip_session']) { echo "<img name='img_session' src='img_pack/rien.gif' width='0' height='0'>\n"; echo "<script type='text/javascript'><!-- \n"; - echo "document.img_session.src='../spip_cookie.php3?change_session=oui';\n"; + echo "document.img_session.src='../spip_cookie.php3?change_session=$session';\n"; echo "// --></script>\n"; -} ?> +} +*/ +?> </body></html> <?php flush(); @@ -1763,11 +1766,7 @@ if ($GLOBALS['spip_session']) { function fin_page() { - -?> -</td></tr> -</table></center> -<?php + echo "</td></tr></table></center>\n"; fin_html(); } diff --git a/inc-formulaires.php3 b/inc-formulaires.php3 index 7f2e852b8d78ff7254ee729eae735737b7bff8f2..317720cafd6b33d53b8c43a41c52b80c78b5c7b2 100644 --- a/inc-formulaires.php3 +++ b/inc-formulaires.php3 @@ -190,14 +190,14 @@ function formulaire_signature($id_article) { $link->addVar('val_confirm', $passw); $url = $link->getUrl("sp$id_article"); - $messagex = "Bonjour,\n\nVous avez demand".chr(233)." ".chr(224)." signer la p".chr(233)."tition :\n"; + $messagex = "Bonjour,\n\nVous avez demand\xe9 \xe0 signer la p\xe9tition :\n"; $messagex .= " (Hi, you have asked to sign the following petition:)\n"; $messagex .= " $titre.\n\nVous avez fourni les informations suivantes :\n"; $messagex .= " (You have given this information:)\n Nom: $nom_email\n"; $messagex .= " Site: $nom_site - $url_site\n\nIMPORTANT...\n"; - $messagex .= "Pour valider votre signature, il suffit de vous connecter ".chr(224)."\n"; + $messagex .= "Pour valider votre signature, il suffit de vous connecter \xe0\n"; $messagex .= "l'adresse ci-dessous ; dans le cas contraire, votre demande\n"; - $messagex .= "sera rejet".chr(233)."e :\n"; + $messagex .= "sera rejet\xe9e :\n"; $messagex .= " (To confirm your signature, please follow this link, or\n"; $messagex .= " your request will be discarded)\n\n"; $messagex .= " $url\n\nMerci de votre participation\n (Thank you!)\n\n"; diff --git a/inc-login.php3 b/inc-login.php3 new file mode 100644 index 0000000000000000000000000000000000000000..b4f2391353f76cd1e56bd3a2e59c2b4042f64264 --- /dev/null +++ b/inc-login.php3 @@ -0,0 +1,172 @@ +<?php + + +// +// Ce fichier ne sera execute qu'une fois +if (defined("_INC_LOGIN")) return; +define("_INC_LOGIN", "1"); + +include_ecrire ("inc_connect.php3"); +include_ecrire ("inc_meta.php3"); +include_ecrire ("inc_presentation.php3"); +include_ecrire ("inc_session.php3"); +include_ecrire ("inc_filtres.php3"); +include_ecrire ("inc_texte.php3"); + +function login() { + global $login ; + global $spip_admin ; + global $erreur, $echec_cookie ; + global $php_module ; + + // initialisations + $nom_site = lire_meta('nom_site'); + if (!$nom_site) $nom_site = 'Mon site SPIP'; + $url_site = lire_meta('adresse_site'); + if (!$url_site) $url_site = './index.php3'; + if ($erreur=='pass') $erreur = "Erreur de mot de passe."; + + // Le login est memorise dans le cookie d'admin eventuel + if (!$login) + if (ereg("^@(.*)$", $spip_admin, $regs)) + $login = $regs[1]; + + // quels sont les aleas a passer ? + if ($login) { + $login = addslashes($login); + $query = "SELECT * FROM spip_auteurs WHERE login='$login'"; + $result = spip_query($query); + if ($row = mysql_fetch_array($result)) { + $id_auteur = $row['id_auteur']; + $alea_actuel = $row['alea_actuel']; + $alea_futur = $row['alea_futur']; + } else { + $erreur = "L'identifiant « $login » est inconnu."; + $login = ''; + @setcookie("spip_admin", "", time() - 3600); + } + } + + // javascript pour le focus + if ($login) + $focus = 'document.forms[0].elements[1].focus();'; + else + $focus = 'document.forms[0].elements[0].focus();'; + + + if ($echec_cookie == "oui") { + install_debut_html("$nom_site : problème de cookie", $focus); + echo "<p><b>Pour vous identifier de façon sûre sur ce site, vous devez accepter les cookies.</b> "; + echo "Veuillez régler votre navigateur pour qu'il les accepte (au moins pour ce site).\n"; + } + else { + install_debut_html("$nom_site : accès à l'espace privé", $focus); + echo "<p>Pour accéder à l'espace privé de ce site, "; + echo "vous devez entrer les codes d'identification qui vous ont été "; + echo "fournis lors de votre inscription."; + } + + + // fond d'ecran de login + $images = array ('login.gif', 'login.jpg', 'login.png', 'login-dist.png'); + while (list(,$img) = each ($images)) { + if (file_exists($img)) { + echo '<style type="text/css"><!-- + body {background-image: url("'.$img.'"); background-repeat: no-repeat; background-position: top left;} + --></style>'; + break; + } + } + + echo "<p> <p>"; + + $redirect = ereg_replace ("/login\.php3", "/ecrire/index.php3", $GLOBALS['REQUEST_URI']); + + if ($login) { + // affiche formulaire de login en incluant le javascript MD5 + echo "<script type=\"text/javascript\" src=\"ecrire/md5.js\"></script>"; + echo "<form action='spip_cookie.php3' method='post'"; + echo " onSubmit='if (this.session_password.value) { + this.session_password_md5.value = calcMD5(\"$alea_actuel\" + this.session_password.value); + this.next_session_password_md5.value = calcMD5(\"$alea_futur\" + this.session_password.value); + this.session_password.value = \"\"; + }'"; + echo ">\n"; + // statut + if ($row['statut'] == '0minirezo') { + $icone = "redacteurs-admin-24.gif"; + } else if ($row['statut'] == '1comite') { + $icone = "redacteurs-24.gif"; + } + debut_cadre_enfonce($icone); + if ($erreur) echo "<font color=red><b>$erreur</b></font><p>"; + + if (file_exists("IMG/auton$id_auteur.gif")) $logo = "IMG/auton$id_auteur.gif"; + else if (file_exists("IMG/auton$id_auteur.jpg")) $logo = "IMG/auton$id_auteur.jpg"; + else if (file_exists("IMG/auton$id_auteur.png")) $logo = "IMG/auton$id_auteur.png"; + + + echo "<table cellpadding=0 cellspacing=0 border=0 width=100%>"; + echo "<tr width=100%>"; + echo "<td width=100%>"; + // si jaja actif, on affiche le login en 'dur', et on le passe en champ hidden + echo "<script type=\"text/javascript\"><!-- + document.write('Login : <b>$login</b> <br><font size=\\'2\\'>[<a href=\\'spip_cookie.php3?cookie_admin=non&redirect=login.php3\\'>se connecter sous un autre identifiant</a>]</font>'); + //--></script>\n"; + echo "<input type='hidden' name='session_login_hidden' value='$login'>"; + + // si jaja inactif, le login est modifiable (puisque le challenge n'est pas utilise) + echo "<noscript><input type='text' name='session_login' class='formo' value=\"$login\" size='40'></noscript>"; + + echo "<p>\n<label><b>Mot de passe :</b><br></label>"; + echo "<input type='password' name='session_password' class='formo' value=\"\" size='40'><p>\n"; + echo "<input type='hidden' name='essai_login' value='oui'>\n"; + echo "<input type='hidden' name='redirect' value='$redirect'>\n"; + echo "<input type='hidden' name='session_password_md5' value=''>\n"; + echo "<input type='hidden' name='next_session_password_md5' value=''>\n"; + echo "</td>"; + if ($logo) { + echo "<td width=10><img src='ecrire/img_pack/rien.gif' width=10></td>"; + echo "<td valign='top'>"; + echo "<img src='$logo'>"; + echo "</td>"; + } + echo "</tr></table>"; + echo "<div align='right'><input type='submit' class='fondl' name='submit' value='Valider'></div>\n"; + fin_cadre_enfonce(); + echo "</form>"; + + } + + else { + // demander seulement le login + echo "<form action='login.php3' method='get'>\n"; + debut_cadre_enfonce("redacteurs-24.gif"); + if ($erreur) echo "<font color=red><b>$erreur</b></font><p>"; + echo "<label><b>Login (identifiant de connexion au site)</b><br></label>"; + echo "<input type='text' name='login' class='formo' value=\"\" size='40'><p>\n"; + echo "<div align='right'><input type='submit' class='fondl' name='submit' value='Valider'></div>\n"; + fin_cadre_enfonce(); + echo "</form>"; + } + + if ($echec_cookie == "oui" AND $php_module) { + echo "<form action='spip_cookie.php3' method='get'>"; + echo "<fieldset>\n"; + echo "<p><b>Si vous préférez refuser les cookies</b>, une autre méthode "; + echo "non sécurisée est à votre disposition : \n"; + echo "<input type='hidden' name='redirect' value='$redirect'>"; + echo "<input type='hidden' name='essai_auth_http' value='oui'> "; + echo "<div align='right'><input type='submit' name='submit' class='fondl' value='Identification sans cookie'></div>\n"; + echo "</fieldset></form>\n"; + } + + + echo "<p><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>"; + echo "[<a href='$url_site'>retour au site public</a>]</font>"; + + install_fin_html(); + +} + +?> diff --git a/login.php3 b/login.php3 index 85f2e81e2396362b060fb8ee9a02bf822fd05bdb..4ef43af1261e223d4c7dce482c4932212054ab25 100644 --- a/login.php3 +++ b/login.php3 @@ -1,162 +1,8 @@ <?php include ("ecrire/inc_version.php3"); -include_ecrire ("inc_connect.php3"); -include_ecrire ("inc_meta.php3"); -include_ecrire ("inc_presentation.php3"); -include_ecrire ("inc_session.php3"); -include_ecrire ("inc_filtres.php3"); -include_ecrire ("inc_texte.php3"); +include_local ("inc-login.php3"); -// initialisations -$nom_site = lire_meta('nom_site'); -if (!$nom_site) $nom_site = 'Mon site SPIP'; -$url_site = lire_meta('adresse_site'); -if (!$url_site) $url_site = './index.php3'; -if ($erreur=='pass') $erreur = "Erreur de mot de passe."; - -// Le login est memorise dans le cookie d'admin eventuel -if (!$login) - if (ereg("^@(.*)$", $HTTP_COOKIE_VARS['spip_admin'], $regs)) - $login = $regs[1]; - -// quels sont les aleas a passer ? -if ($login) { - $login = addslashes($login); - $query = "SELECT * FROM spip_auteurs WHERE login='$login'"; - $result = spip_query($query); - if ($row = mysql_fetch_array($result)) { - $id_auteur = $row['id_auteur']; - $alea_actuel = $row['alea_actuel']; - $alea_futur = $row['alea_futur']; - } else { - $erreur = "L'identifiant ".chr(171)." $login ".chr(187)." est inconnu."; - $login = ''; - @setcookie("spip_admin", "", time() - 3600); - } -} - -// javascript pour le focus -if ($login) - $focus = 'document.forms[0].elements[1].focus();'; -else - $focus = 'document.forms[0].elements[0].focus();'; - - -if ($echec_cookie == "oui") { - install_debut_html("$nom_site : problème de cookie", $focus); - echo "<p><b>Pour vous identifier de façon sûre sur ce site, vous devez accepter les cookies.</b> "; - echo "Veuillez régler votre navigateur pour qu'il les accepte (au moins pour ce site).\n"; -} -else { - install_debut_html("$nom_site : accès à l'espace privé", $focus); - echo "<p>Pour accéder à l'espace privé de ce site, "; - echo "vous devez entrer les codes d'identification qui vous ont été "; - echo "fournis lors de votre inscription."; -} - - -// fond d'ecran de login -$images = array ('login.gif', 'login.jpg', 'login.png', 'login-dist.png'); -while (list(,$img) = each ($images)) { - if (file_exists($img)) { - echo '<style type="text/css"><!-- - body {background-image: url("'.$img.'"); background-repeat: no-repeat; background-position: top left;} - --></style>'; - break; - } -} - -echo "<p> <p>"; - -$redirect = ereg_replace ("/login\.php3", "/ecrire/index.php3", $GLOBALS['REQUEST_URI']); - -if ($login) { - // affiche formulaire de login en incluant le javascript MD5 - echo "<script type=\"text/javascript\" src=\"ecrire/md5.js\"></script>"; - echo "<form action='spip_cookie.php3' method='post'"; - echo " onSubmit='if (this.session_password.value) { - this.session_password_md5.value = calcMD5(\"$alea_actuel\" + this.session_password.value); - this.next_session_password_md5.value = calcMD5(\"$alea_futur\" + this.session_password.value); - this.session_password.value = \"\"; - }'"; - echo ">\n"; - // statut - if ($row['statut'] == '0minirezo') { - $icone = "redacteurs-admin-24.gif"; - } else if ($row['statut'] == '1comite') { - $icone = "redacteurs-24.gif"; - } - debut_cadre_enfonce($icone); - if ($erreur) echo "<font color=red><b>$erreur</b></font><p>"; - - if (file_exists("IMG/auton$id_auteur.gif")) $logo = "IMG/auton$id_auteur.gif"; - else if (file_exists("IMG/auton$id_auteur.jpg")) $logo = "IMG/auton$id_auteur.jpg"; - else if (file_exists("IMG/auton$id_auteur.png")) $logo = "IMG/auton$id_auteur.png"; - - - echo "<table cellpadding=0 cellspacing=0 border=0 width=100%>"; - echo "<tr width=100%>"; - echo "<td width=100%>"; - // si jaja actif, on affiche le login en 'dur', et on le passe en champ hidden - echo "<script type=\"text/javascript\"><!-- - document.write('Login : <b>$login</b> <br><font size=\\'2\\'>[<a href=\\'spip_cookie.php3?cookie_admin=non&redirect=login.php3\\'>se connecter sous un autre identifiant</a>]</font>'); - //--></script>\n"; - echo "<input type='hidden' name='session_login_hidden' value='$login'>"; - - // si jaja inactif, le login est modifiable (puisque le challenge n'est pas utilise) - echo "<noscript><input type='text' name='session_login' class='formo' value=\"$login\" size='40'></noscript>"; - - echo "<p>\n<label><b>Mot de passe :</b><br></label>"; - echo "<input type='password' name='session_password' class='formo' value=\"\" size='40'><p>\n"; - echo "<input type='hidden' name='essai_login' value='oui'>\n"; - echo "<input type='hidden' name='redirect' value='$redirect'>\n"; - echo "<input type='hidden' name='session_password_md5' value=''>\n"; - echo "<input type='hidden' name='next_session_password_md5' value=''>\n"; - echo "</td>"; - if ($logo) { - echo "<td width=10><img src='ecrire/img_pack/rien.gif' width=10></td>"; - echo "<td valign='top'>"; - echo "<img src='$logo'>"; - echo "</td>"; - } - echo "</tr></table>"; - echo "<div align='right'><input type='submit' class='fondl' name='submit' value='Valider'></div>\n"; - //echo "</div>\n"; - fin_cadre_enfonce(); - echo "</form>"; - -} - -else { - // demander seulement le login - echo "<form action='login.php3' method='get'>\n"; - debut_cadre_enfonce("redacteurs-24.gif"); - //echo "<div style='border: 1px dashed #999999; padding: 10px;'>\n"; - if ($erreur) echo "<font color=red><b>$erreur</b></font><p>"; - echo "<label><b>Login (identifiant de connexion au site)</b><br></label>"; - echo "<input type='text' name='login' class='formo' value=\"\" size='40'><p>\n"; - echo "<div align='right'><input type='submit' class='fondl' name='submit' value='Valider'></div>\n"; - //echo "</div>\n"; - fin_cadre_enfonce(); - echo "</form>"; -} - -if ($echec_cookie == "oui" AND $php_module) { - echo "<form action='spip_cookie.php3' method='get'>"; - echo "<fieldset>\n"; - echo "<p><b>Si vous préférez refuser les cookies</b>, une autre méthode "; - echo "non sécurisée est à votre disposition : \n"; - echo "<input type='hidden' name='redirect' value='$redirect'>"; - echo "<input type='hidden' name='essai_auth_http' value='oui'> "; - echo "<div align='right'><input type='submit' name='submit' class='fondl' value='Identification sans cookie'></div>\n"; - echo "</fieldset></form>\n"; -} - - -echo "<p><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>"; -echo "[<a href='$url_site'>retour au site public</a>]</font>"; - -install_fin_html(); +login(); ?> \ No newline at end of file diff --git a/spip_cookie.php3 b/spip_cookie.php3 index 998474b3dd5e8a424e0591f1b986c7b69bbd4210..0c6ef4d9f5901359319e4df6fa5d628abb9120f8 100644 --- a/spip_cookie.php3 +++ b/spip_cookie.php3 @@ -25,13 +25,14 @@ else if ($essai_auth_http == 'logout') { exit; } +/* // rejoue le cookie pour renouveler spip_session -if ($change_session == "oui") { +if ($change_session == 'oui') { if (verifier_session($spip_session)) { $cookie = creer_cookie_session($auteur_session); supprimer_session($spip_session); - if ($zap_session) - zap_sessions($auteur_session['id_auteur'], true); +// if ($zap_session) +// zap_sessions($auteur_session['id_auteur'], true); // setcookie ('spip_session', $spip_session, time() - 24 * 7 * 3600); setcookie('spip_session', $cookie); @header('Content-Type: image/gif'); @@ -42,6 +43,7 @@ if ($change_session == "oui") { exit; } } +*/ // zapper les mauvaises sessions if ($zap_session && verifier_session($spip_session)) @@ -81,6 +83,8 @@ else if ($essai_login == "oui") { if ($row_auteur['statut'] == '0minirezo') { // force le cookie pour les admins $cookie_admin = "@".$row_auteur['login']; + if ($spip_admin == $cookie_admin) + unset ($cookie_admin); } $cookie_session = creer_cookie_session($row_auteur); setcookie('spip_session', $cookie_session, time() + 3600 * 24 * 7);