[SPIP] ~maj v3.0.14-->v3.0.17
[ptitvelo/web/www.git] / www / prive / formulaires / login.php
index 067cf9b..fe914a5 100644 (file)
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2012                                                *
+ *  Copyright (c) 2001-2014                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
@@ -76,11 +76,11 @@ function formulaires_login_charger_dist($cible="",$login="",$prive=null)
                if (isset($res['redirect']) and $res['redirect']){
                        include_spip('inc/headers');
                        # preparer un lien pour quand redirige_formulaire ne fonctionne pas
+                       $m = redirige_formulaire($res['redirect']);
                        $valeurs['_deja_loge'] = inserer_attribut(
                                "<a>" . _T('login_par_ici') . "</a>$m",
                                'href', $res['redirect']
                        );
-                       $m = redirige_formulaire($res['redirect']);
                }
        }
        // en cas d'echec de cookie, inc_auth a renvoye vers le script de
@@ -106,7 +106,7 @@ function login_auth_http()
 {
        if (!$GLOBALS['ignore_auth_http']
                AND _request('var_erreur')=='cookie' 
-               AND $_COOKIE['spip_session'] != 'test_echec_cookie'
+               AND (!isset($_COOKIE['spip_session']) OR $_COOKIE['spip_session'] != 'test_echec_cookie')
                AND (($GLOBALS['flag_sapi_name'] AND preg_match(",apache,i", @php_sapi_name()))
                        OR preg_match(",^Apache.* PHP,", $_SERVER['SERVER_SOFTWARE']))
                // Attention dans le cas 'intranet' la proposition de se loger
@@ -202,7 +202,7 @@ function formulaires_login_traiter_dist($cible="",$login="",$prive=null){
        }
 
        // Si on est connecte, envoyer vers la destination
-       if ($cible AND ($cible!=self())) {
+       if ($cible AND ($cible!=self('&'))  AND ($cible!=self())) {
                if (!headers_sent() AND !$_GET['var_mode']) {
                        include_spip('inc/headers');
                        $res['redirect'] = $cible;