There was a little bug in the destroy workaround (parameters switched) that
authorphilippe_mingo <philippe_mingo@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Thu, 18 Oct 2001 10:11:06 +0000 (10:11 +0000)
committerphilippe_mingo <philippe_mingo@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Thu, 18 Oct 2001 10:11:06 +0000 (10:11 +0000)
caused to invalidate the first login on some browsers (at first I thought it
was a browser issue). This problem shows out specially after a signout.
This fix has been tested successfully with Konq, Mozilla, Galeon, Netscape 4 &
6, IE6 and Opera 5.

git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@1582 7612ce4b-ef26-0410-bec9-ea0150e637f0

src/login.php

index 4118d5c7e1b9e13ecd0429ef799e48afc204e00d..2b56300bbdc04460baca2c22db972a2af4bb3bc1 100644 (file)
    ereg ("(^.*/)[^/]+/[^/]+$", $PHP_SELF, $regs);
    $base_uri = $regs[1];
 
-   setcookie("username", '', 0, $base_uri);
-   setcookie("key", '', 0, $base_uri);
-   header ("Pragma: no-cache");
-
-   // In case the last session was not terminated properly, make sure
-   // we get a new one.
-       $cookie_params = session_get_cookie_params(); 
-       setcookie(session_name(),"",0,$cookie_params["domain"].$cookie_params["path"]); 
+   if ( session_id() <> '' ) {
+       session_destroy();
+       // In case the last session was not terminated properly, make sure
+       // we get a new one.
+       $cookie_params = session_get_cookie_params(); 
+       setcookie(session_name(),'',0,$cookie_params['path'].$cookie_params['domain']); 
+   }
+   setcookie('username', '', 0, $base_uri);
+   setcookie('key', '', 0, $base_uri);
+   header ('Pragma: no-cache');
 
    do_hook('login_cookie');
 
@@ -84,8 +86,8 @@
    if ($theme_css != "")
        echo "<LINK REL=\"stylesheet\" TYPE=\"text/css\" HREF=\"$theme_css\">\n";
         
-   echo "<TITLE>";
-   echo $org_name . " - " . _("Login");
+   echo '<TITLE>';
+   echo $org_name . ' - ' . _("Login");
    echo "</TITLE></HEAD>\n";
    echo "<BODY TEXT=000000 BGCOLOR=#FFFFFF LINK=0000CC VLINK=0000CC ALINK=0000CC>\n";
    echo "<FORM ACTION=\"redirect.php\" METHOD=\"POST\" NAME=f>\n";
    echo "      </TD>\n";
    echo "   </TR><TR>\n";
    echo "      <TD>\n";
-   echo "         <CENTER><INPUT TYPE=SUBMIT VALUE=\"";
+   echo '         <CENTER><INPUT TYPE=SUBMIT VALUE="';
    echo _("Login");
    echo "\"></CENTER>\n";
    echo "      </TD>\n";
    echo "<input type=hidden name=just_logged_in value=1>\n";
    do_hook('login_form');
    echo "</FORM>\n";
-   do_hook("login_bottom");
+   do_hook('login_bottom');
 ?>
 </BODY>
 </HTML>