cookie and login
authorPierre Habouzit (MadCoder <pierre.habouzit@m4x.org>
Mon, 7 Feb 2005 01:08:29 +0000 (01:08 +0000)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Thu, 26 Jun 2008 21:28:05 +0000 (23:28 +0200)
no more forget/remember on preferences.php

now, all is directed from :
 * the checkbox
 * the deconnexion link

make a warning with overlib to please JMY

git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-452

ChangeLog
hooks/tmp.inc.php
htdocs/deconnexion.php
htdocs/preferences.php
include/xorg/menu.inc.php
templates/password_prompt.tpl
templates/password_prompt_logged.tpl
templates/preferences.tpl

index 7ec8528..d3d903f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,9 @@ VERSION 0.9.5                                                                                                            24 Jan 2004
 
 New :
 
+       * Core :
+               - Improve login/exit wrt cookie.                                                                        -Mad
+
        * Fiche :
                - A public fiche is now available for visiters.                                         -Car
                
index db9ccbf..56da19b 100644 (file)
@@ -3,7 +3,6 @@
 function tmp_menu()
 {
     global $globals;
-    $globals->menu->addPrivateEntry(XOM_NO,       10, 'Page d\'accueil',       'login.php');
 
     $globals->menu->addPrivateEntry(XOM_CUSTOM,   10, 'Mon profil',            'profil.php');
     $globals->menu->addPrivateEntry(XOM_CUSTOM,   20, 'Mes contacts',          'carnet/mescontacts.php');
index 49f29f9..af31abc 100644 (file)
@@ -23,6 +23,12 @@ require_once('xorg.inc.php');
 
 if (isset($_SESSION['suid'])) { require_once('./exit.php'); }
 
+if (Get::has('forget')) {
+    setcookie('ORGaccess', '', time() - 3600, '/', '', 0);
+    Cookie::kill('ORGaccess');
+    $_SESSION['log']->log("cookie_off");
+}
+
 if (isset($_SESSION['log'])) {
     $ref = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
     $_SESSION['log']->log('deconnexion',$ref);
index d1659e4..8d38ab9 100644 (file)
 require_once("xorg.inc.php");
 new_skinned_page('preferences.tpl', AUTH_COOKIE);
 
-if (Env::has('remember')) {
-    setcookie('ORGaccess', md5(Session::get('password')),  (time()+25920000), '/', '' ,0);
-    $_SESSION['log']->log('cookie_on');
-    header('Location: preferences.php');
-}
-
-if (Env::has('forget')) {
-    setcookie('ORGaccess', '', time() - 3600, '/', '', 0);
-    $_SESSION['log']->log("cookie_off");
-    if (!identified()) {
-        session_destroy();
-        $_SESSION = array();
-        header('Location: index.php');
-    }
-    header('Location: preferences.php');
-}
-
 if (Env::has('mail_fmt')) {
     $fmt=Env::get('mail_fmt');
     if ($fmt != 'texte') $fmt = 'html';
index bbfdd37..b07b2cd 100644 (file)
@@ -94,6 +94,8 @@ class XOrgMenu
         $res = logged() ? $this->_int : $this->_ext;
         if (identified()) {
             $res[XOM_NO][] = Array(0, 'text' => 'Déconnexion', 'url' => 'deconnexion.php');
+        } elseif (Cookie::has('ORGaccess')) {
+            $res[XOM_NO][] = Array(0, 'text' => 'Oublier la connexion', 'url' => 'deconnexion.php?forget=1');
         }
         if (!has_perms()) {
             unset($res[XOM_ADMIN]);
index 5209021..d6eafae 100644 (file)
@@ -89,8 +89,9 @@ Si tu n'es pas {insert name="getName"}, change le login ci-dessous, ou rends-toi
     </tr>
     <tr>
       <td></td>
-      <td>
-        <input type="checkbox" name="remember" /> Se souvenir de moi
+      <td {popup caption='Connexion permanente' width='300' text="Coche cette case pour que le site se souvienne de ce navigateur.<br />
+        Il n'est pas conseillé de cocher la case si cette machine n'est pas <b>strictement</b> personnelle"}>
+        <input type="checkbox" name="remember" /> Etablir une connexion permanente
       </td>
     </tr>
     <tr>
index a4c59a3..7b161cd 100644 (file)
@@ -49,8 +49,9 @@
     </tr>
     <tr>
       <td></td>
-      <td>
-        <input type="checkbox" name="remember" checked="checked" /> Se souvenir de moi
+      <td {popup caption='Connexion permanente' width='300' text="Coche cette case pour que le site se souvienne de ce navigateur.<br />
+        Il n'est pas conseillé de cocher la case si cette machine n'est pas <b>strictement</b> personnelle"}>
+        <input type="checkbox" name="remember" checked="checked" /> Etablir une connexion permanente
       </td>
     </tr>
     <tr>
index f555359..f5bbc33 100644 (file)
       </div>
     </td>
   </tr>
-  <tr class="impair">
-    <td>
-      {if $smarty.cookies.ORGaccess}
-      <h3><a href="?forget=1">M'oublier</a></h3>
-      <div class='explication'>
-        Clique sur le lien ci-dessus pour retirer l'accès sans mot de passe au site. Après avoir
-        cliqué, tu devras entrer ton mot de passe pour accéder aux différentes pages.
-      </div>
-      {else}
-      <h3><a href="?remember=1">Se souvenir de moi</a></h3>
-      <div class='explication'>
-        Cette option te permet de ne plus avoir à entrer ton mot de passe pour la majorité des pages du site.
-        Il s'agit d'une option destinée aux utilisateurs fréquents du site, et pour un ordinateur non partagé.
-      </div>
-      {/if}
-    </td>
-  </tr>
 </table>
 
 {* vim:set et sw=2 sts=2 sws=2: *}