Completed
Push — master ( 680dd3...cc89a5 )
by cam
10:06
created
prive/formulaires/login.php 2 patches
Indentation   +200 added lines, -200 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 include_spip('base/abstract_sql');
@@ -31,11 +31,11 @@  discard block
 block discarded – undo
31 31
  *     true si espace privé, false sinon.
32 32
  **/
33 33
 function is_url_prive($cible) {
34
-	include_spip('inc/filtres_mini');
35
-	$path = parse_url(tester_url_absolue($cible) ? $cible : url_absolue($cible));
36
-	$path = (isset($path['path']) ? $path['path'] : '');
34
+    include_spip('inc/filtres_mini');
35
+    $path = parse_url(tester_url_absolue($cible) ? $cible : url_absolue($cible));
36
+    $path = (isset($path['path']) ? $path['path'] : '');
37 37
 
38
-	return strncmp(substr($path, -strlen(_DIR_RESTREINT_ABS)), _DIR_RESTREINT_ABS, strlen(_DIR_RESTREINT_ABS)) == 0;
38
+    return strncmp(substr($path, -strlen(_DIR_RESTREINT_ABS)), _DIR_RESTREINT_ABS, strlen(_DIR_RESTREINT_ABS)) == 0;
39 39
 }
40 40
 
41 41
 /**
@@ -60,86 +60,86 @@  discard block
 block discarded – undo
60 60
  *     Environnement du formulaire
61 61
  **/
62 62
 function formulaires_login_charger_dist($cible = '', $login = '', $prive = null) {
63
-	$erreur = _request('var_erreur');
64
-
65
-	if (!$login) {
66
-		$login = strval(_request('var_login'));
67
-	}
68
-	// si on est deja identifie
69
-	if (!$login and isset($GLOBALS['visiteur_session']['login'])) {
70
-		$login = $GLOBALS['visiteur_session']['login'];
71
-	}
72
-	// ou si on a un cookie admin
73
-	if (!$login) {
74
-		if (isset($_COOKIE['spip_admin'])
75
-			and preg_match(',^@(.*)$,', $_COOKIE['spip_admin'], $regs)
76
-		) {
77
-			$login = $regs[1];
78
-		}
79
-	}
80
-
81
-	include_spip('inc/auth');
82
-	$row = auth_informer_login($login);
83
-
84
-	// Construire l'environnement du squelette
85
-	// Ne pas proposer de "rester connecte quelques jours"
86
-	// si la duree de l'alea est inferieure a 12 h (valeur par defaut)
87
-
88
-	$valeurs = array(
89
-		'var_login' => $login,
90
-		'editable' => !$row,
91
-		'cnx' => isset($row['cnx']) ? $row['cnx'] : '0',
92
-		'auth_http' => login_auth_http(),
93
-		'rester_connecte' => ((_RENOUVELLE_ALEA < 12 * 3600) ? '' : ' '),
94
-		'_logo' => isset($row['logo']) ? $row['logo'] : '',
95
-		'_alea_actuel' => isset($row['alea_actuel']) ? $row['alea_actuel'] : '',
96
-		'_alea_futur' => isset($row['alea_futur']) ? $row['alea_futur'] : '',
97
-		'_pipeline' => 'affiche_formulaire_login', // faire passer le formulaire dans un pipe dedie pour les methodes auth
98
-	);
99
-
100
-	if ($erreur or !isset($GLOBALS['visiteur_session']['id_auteur']) or !$GLOBALS['visiteur_session']['id_auteur']) {
101
-		$valeurs['editable'] = true;
102
-	}
103
-
104
-	if (is_null($prive) ? is_url_prive($cible) : $prive) {
105
-		include_spip('inc/autoriser');
106
-		$loge = autoriser('ecrire');
107
-	} else {
108
-		$loge = (isset($GLOBALS['visiteur_session']['auth']) and $GLOBALS['visiteur_session']['auth'] != '');
109
-	}
110
-
111
-	// Si on est connecte, appeler traiter()
112
-	// et lancer la redirection si besoin
113
-	if (!$valeurs['editable'] and $loge) {
114
-		$traiter = charger_fonction('traiter', 'formulaires/login');
115
-		$res = $traiter($cible, $login, $prive);
116
-		$valeurs = array_merge($valeurs, $res);
117
-
118
-		if (isset($res['redirect']) and $res['redirect']) {
119
-			include_spip('inc/headers');
120
-			# preparer un lien pour quand redirige_formulaire ne fonctionne pas
121
-			$m = redirige_formulaire($res['redirect'], '', 'ajaxform');
122
-			$valeurs['_deja_loge'] = inserer_attribut(
123
-				'<a>' . _T('login_par_ici') . "</a>$m",
124
-				'href',
125
-				$res['redirect']
126
-			);
127
-		}
128
-	}
129
-	// en cas d'echec de cookie, inc_auth a renvoye vers le script de
130
-	// pose de cookie ; s'il n'est pas la, c'est echec cookie
131
-	// s'il est la, c'est probablement un bookmark sur bonjour=oui,
132
-	// et pas un echec cookie.
133
-	if ($erreur == 'cookie') {
134
-		$valeurs['echec_cookie'] = ' ';
135
-	} elseif ($erreur) {
136
-		// une erreur d'un SSO indique dans la redirection vers ici
137
-		// mais il faut se proteger de toute tentative d'injection malveilante
138
-		include_spip('inc/texte');
139
-		$valeurs['message_erreur'] = safehtml($erreur);
140
-	}
141
-
142
-	return $valeurs;
63
+    $erreur = _request('var_erreur');
64
+
65
+    if (!$login) {
66
+        $login = strval(_request('var_login'));
67
+    }
68
+    // si on est deja identifie
69
+    if (!$login and isset($GLOBALS['visiteur_session']['login'])) {
70
+        $login = $GLOBALS['visiteur_session']['login'];
71
+    }
72
+    // ou si on a un cookie admin
73
+    if (!$login) {
74
+        if (isset($_COOKIE['spip_admin'])
75
+            and preg_match(',^@(.*)$,', $_COOKIE['spip_admin'], $regs)
76
+        ) {
77
+            $login = $regs[1];
78
+        }
79
+    }
80
+
81
+    include_spip('inc/auth');
82
+    $row = auth_informer_login($login);
83
+
84
+    // Construire l'environnement du squelette
85
+    // Ne pas proposer de "rester connecte quelques jours"
86
+    // si la duree de l'alea est inferieure a 12 h (valeur par defaut)
87
+
88
+    $valeurs = array(
89
+        'var_login' => $login,
90
+        'editable' => !$row,
91
+        'cnx' => isset($row['cnx']) ? $row['cnx'] : '0',
92
+        'auth_http' => login_auth_http(),
93
+        'rester_connecte' => ((_RENOUVELLE_ALEA < 12 * 3600) ? '' : ' '),
94
+        '_logo' => isset($row['logo']) ? $row['logo'] : '',
95
+        '_alea_actuel' => isset($row['alea_actuel']) ? $row['alea_actuel'] : '',
96
+        '_alea_futur' => isset($row['alea_futur']) ? $row['alea_futur'] : '',
97
+        '_pipeline' => 'affiche_formulaire_login', // faire passer le formulaire dans un pipe dedie pour les methodes auth
98
+    );
99
+
100
+    if ($erreur or !isset($GLOBALS['visiteur_session']['id_auteur']) or !$GLOBALS['visiteur_session']['id_auteur']) {
101
+        $valeurs['editable'] = true;
102
+    }
103
+
104
+    if (is_null($prive) ? is_url_prive($cible) : $prive) {
105
+        include_spip('inc/autoriser');
106
+        $loge = autoriser('ecrire');
107
+    } else {
108
+        $loge = (isset($GLOBALS['visiteur_session']['auth']) and $GLOBALS['visiteur_session']['auth'] != '');
109
+    }
110
+
111
+    // Si on est connecte, appeler traiter()
112
+    // et lancer la redirection si besoin
113
+    if (!$valeurs['editable'] and $loge) {
114
+        $traiter = charger_fonction('traiter', 'formulaires/login');
115
+        $res = $traiter($cible, $login, $prive);
116
+        $valeurs = array_merge($valeurs, $res);
117
+
118
+        if (isset($res['redirect']) and $res['redirect']) {
119
+            include_spip('inc/headers');
120
+            # preparer un lien pour quand redirige_formulaire ne fonctionne pas
121
+            $m = redirige_formulaire($res['redirect'], '', 'ajaxform');
122
+            $valeurs['_deja_loge'] = inserer_attribut(
123
+                '<a>' . _T('login_par_ici') . "</a>$m",
124
+                'href',
125
+                $res['redirect']
126
+            );
127
+        }
128
+    }
129
+    // en cas d'echec de cookie, inc_auth a renvoye vers le script de
130
+    // pose de cookie ; s'il n'est pas la, c'est echec cookie
131
+    // s'il est la, c'est probablement un bookmark sur bonjour=oui,
132
+    // et pas un echec cookie.
133
+    if ($erreur == 'cookie') {
134
+        $valeurs['echec_cookie'] = ' ';
135
+    } elseif ($erreur) {
136
+        // une erreur d'un SSO indique dans la redirection vers ici
137
+        // mais il faut se proteger de toute tentative d'injection malveilante
138
+        include_spip('inc/texte');
139
+        $valeurs['message_erreur'] = safehtml($erreur);
140
+    }
141
+
142
+    return $valeurs;
143 143
 }
144 144
 
145 145
 
@@ -154,19 +154,19 @@  discard block
 block discarded – undo
154 154
  *     - chaîne vide sinon.
155 155
  **/
156 156
 function login_auth_http() {
157
-	if (!$GLOBALS['ignore_auth_http']
158
-		and _request('var_erreur') == 'cookie'
159
-		and (!isset($_COOKIE['spip_session']) or $_COOKIE['spip_session'] != 'test_echec_cookie')
160
-		and (($GLOBALS['flag_sapi_name'] and preg_match(',apache,i', @php_sapi_name()))
161
-			or preg_match(',^Apache.* PHP,', $_SERVER['SERVER_SOFTWARE']))
162
-		// Attention dans le cas 'intranet' la proposition de se loger
163
-		// par auth_http peut conduire a l'echec.
164
-		and !(isset($_SERVER['PHP_AUTH_USER']) and isset($_SERVER['PHP_AUTH_PW']))
165
-	) {
166
-		return generer_url_action('cookie', '', false, true);
167
-	} else {
168
-		return '';
169
-	}
157
+    if (!$GLOBALS['ignore_auth_http']
158
+        and _request('var_erreur') == 'cookie'
159
+        and (!isset($_COOKIE['spip_session']) or $_COOKIE['spip_session'] != 'test_echec_cookie')
160
+        and (($GLOBALS['flag_sapi_name'] and preg_match(',apache,i', @php_sapi_name()))
161
+            or preg_match(',^Apache.* PHP,', $_SERVER['SERVER_SOFTWARE']))
162
+        // Attention dans le cas 'intranet' la proposition de se loger
163
+        // par auth_http peut conduire a l'echec.
164
+        and !(isset($_SERVER['PHP_AUTH_USER']) and isset($_SERVER['PHP_AUTH_PW']))
165
+    ) {
166
+        return generer_url_action('cookie', '', false, true);
167
+    } else {
168
+        return '';
169
+    }
170 170
 }
171 171
 
172 172
 /**
@@ -192,54 +192,54 @@  discard block
 block discarded – undo
192 192
  **/
193 193
 function formulaires_login_verifier_dist($cible = '', $login = '', $prive = null) {
194 194
 
195
-	$session_login = _request('var_login');
196
-	$session_password = _request('password');
197
-	$session_remember = _request('session_remember');
198
-
199
-	if (!$session_login) {
200
-		# pas de login saisi !
201
-		return array('var_login' => _T('info_obligatoire'));
202
-	}
203
-
204
-	// appeler auth_identifier_login qui va :
205
-	// - renvoyer un string si echec (message d'erreur)
206
-	// - un array decrivant l'auteur identifie si possible
207
-	// - rediriger vers un SSO qui renverra in fine sur action/auth qui finira l'authentification
208
-	include_spip('inc/auth');
209
-	$auteur = auth_identifier_login($session_login, $session_password);
210
-	// on arrive ici si on ne s'est pas identifie avec un SSO
211
-	if (!is_array($auteur)) {
212
-		$erreurs = array();
213
-		if (is_string($auteur) and strlen($auteur)) {
214
-			$erreurs['var_login'] = $auteur;
215
-		}
216
-		include_spip('inc/cookie');
217
-		spip_setcookie('spip_admin', '', time() - 3600);
218
-		if (strlen($session_password)) {
219
-			$erreurs['password'] = _T('login_erreur_pass');
220
-		} else {
221
-			// sinon c'est un login en deux passe old style (ou js en panne)
222
-			// pas de message d'erreur
223
-			$erreurs['password'] = ' ';
224
-		}
225
-
226
-		return
227
-			$erreurs;
228
-	}
229
-	// on a ete authentifie, construire la session
230
-	// en gerant la duree demandee pour son cookie
231
-	if ($session_remember !== null) {
232
-		$auteur['cookie'] = $session_remember;
233
-	}
234
-	// si la connexion est refusee on renvoi un message erreur de mot de passe
235
-	// car en donnant plus de detail on renseignerait un assaillant sur l'existence d'un compte
236
-	if (auth_loger($auteur) === false) {
237
-		$erreurs['message_erreur'] = _T('login_erreur_pass');
238
-		return $erreurs;
239
-	}
240
-
241
-	return (is_null($prive) ? is_url_prive($cible) : $prive)
242
-		? login_autoriser() : array();
195
+    $session_login = _request('var_login');
196
+    $session_password = _request('password');
197
+    $session_remember = _request('session_remember');
198
+
199
+    if (!$session_login) {
200
+        # pas de login saisi !
201
+        return array('var_login' => _T('info_obligatoire'));
202
+    }
203
+
204
+    // appeler auth_identifier_login qui va :
205
+    // - renvoyer un string si echec (message d'erreur)
206
+    // - un array decrivant l'auteur identifie si possible
207
+    // - rediriger vers un SSO qui renverra in fine sur action/auth qui finira l'authentification
208
+    include_spip('inc/auth');
209
+    $auteur = auth_identifier_login($session_login, $session_password);
210
+    // on arrive ici si on ne s'est pas identifie avec un SSO
211
+    if (!is_array($auteur)) {
212
+        $erreurs = array();
213
+        if (is_string($auteur) and strlen($auteur)) {
214
+            $erreurs['var_login'] = $auteur;
215
+        }
216
+        include_spip('inc/cookie');
217
+        spip_setcookie('spip_admin', '', time() - 3600);
218
+        if (strlen($session_password)) {
219
+            $erreurs['password'] = _T('login_erreur_pass');
220
+        } else {
221
+            // sinon c'est un login en deux passe old style (ou js en panne)
222
+            // pas de message d'erreur
223
+            $erreurs['password'] = ' ';
224
+        }
225
+
226
+        return
227
+            $erreurs;
228
+    }
229
+    // on a ete authentifie, construire la session
230
+    // en gerant la duree demandee pour son cookie
231
+    if ($session_remember !== null) {
232
+        $auteur['cookie'] = $session_remember;
233
+    }
234
+    // si la connexion est refusee on renvoi un message erreur de mot de passe
235
+    // car en donnant plus de detail on renseignerait un assaillant sur l'existence d'un compte
236
+    if (auth_loger($auteur) === false) {
237
+        $erreurs['message_erreur'] = _T('login_erreur_pass');
238
+        return $erreurs;
239
+    }
240
+
241
+    return (is_null($prive) ? is_url_prive($cible) : $prive)
242
+        ? login_autoriser() : array();
243 243
 }
244 244
 
245 245
 /**
@@ -254,21 +254,21 @@  discard block
 block discarded – undo
254 254
  *     - tableau vide sinon.
255 255
  **/
256 256
 function login_autoriser() {
257
-	include_spip('inc/autoriser');
258
-	if (!autoriser('ecrire')) {
259
-		$h = generer_url_action('logout', 'logout=prive&url=' . urlencode(self()));
260
-
261
-		return array(
262
-			'message_erreur' => '<h1>'
263
-				. _T('avis_erreur_visiteur')
264
-				. '</h1><p>'
265
-				. _T('texte_erreur_visiteur')
266
-				. "</p><p class='retour'>[<a href='$h'>"
267
-				. _T('icone_deconnecter') . '</a>]</p>'
268
-		);
269
-	}
270
-
271
-	return array();
257
+    include_spip('inc/autoriser');
258
+    if (!autoriser('ecrire')) {
259
+        $h = generer_url_action('logout', 'logout=prive&url=' . urlencode(self()));
260
+
261
+        return array(
262
+            'message_erreur' => '<h1>'
263
+                . _T('avis_erreur_visiteur')
264
+                . '</h1><p>'
265
+                . _T('texte_erreur_visiteur')
266
+                . "</p><p class='retour'>[<a href='$h'>"
267
+                . _T('icone_deconnecter') . '</a>]</p>'
268
+        );
269
+    }
270
+
271
+    return array();
272 272
 }
273 273
 
274 274
 /**
@@ -290,43 +290,43 @@  discard block
 block discarded – undo
290 290
  *     Retours du traitement
291 291
  **/
292 292
 function formulaires_login_traiter_dist($cible = '', $login = '', $prive = null) {
293
-	$res = array();
294
-	// Si on se connecte dans l'espace prive,
295
-	// ajouter "bonjour" (repere a peu pres les cookies desactives)
296
-	if (is_null($prive) ? is_url_prive($cible) : $prive) {
297
-		$cible = parametre_url($cible, 'bonjour', 'oui', '&');
298
-	}
299
-	if ($cible == '@page_auteur') {
300
-		$cible = generer_url_entite($GLOBALS['auteur_session']['id_auteur'], 'auteur');
301
-	}
302
-
303
-	if ($cible) {
304
-		$cible = parametre_url($cible, 'var_login', '', '&');
305
-
306
-		// transformer la cible absolue en cible relative
307
-		// pour pas echouer quand la meta adresse_site est foireuse
308
-		if (strncmp($cible, $u = url_de_base(), strlen($u)) == 0) {
309
-			$cible = './' . substr($cible, strlen($u));
310
-		} elseif (tester_url_absolue($cible) and !defined('_AUTORISER_LOGIN_ABS_REDIRECT')) {
311
-			// si c'est une url absolue, refuser la redirection
312
-			// sauf si cette securite est levee volontairement par le webmestre
313
-			$cible = '';
314
-		}
315
-	}
316
-
317
-	// Si on est connecte, envoyer vers la destination
318
-	if ($cible and ($cible != self('&')) and ($cible != self())) {
319
-		if (!headers_sent() and !isset($_GET['var_mode'])) {
320
-			include_spip('inc/headers');
321
-			$res['redirect'] = $cible;
322
-		} else {
323
-			$res['message_ok'] = inserer_attribut(
324
-				'<a>' . _T('login_par_ici') . '</a>',
325
-				'href',
326
-				$cible
327
-			);
328
-		}
329
-	}
330
-
331
-	return $res;
293
+    $res = array();
294
+    // Si on se connecte dans l'espace prive,
295
+    // ajouter "bonjour" (repere a peu pres les cookies desactives)
296
+    if (is_null($prive) ? is_url_prive($cible) : $prive) {
297
+        $cible = parametre_url($cible, 'bonjour', 'oui', '&');
298
+    }
299
+    if ($cible == '@page_auteur') {
300
+        $cible = generer_url_entite($GLOBALS['auteur_session']['id_auteur'], 'auteur');
301
+    }
302
+
303
+    if ($cible) {
304
+        $cible = parametre_url($cible, 'var_login', '', '&');
305
+
306
+        // transformer la cible absolue en cible relative
307
+        // pour pas echouer quand la meta adresse_site est foireuse
308
+        if (strncmp($cible, $u = url_de_base(), strlen($u)) == 0) {
309
+            $cible = './' . substr($cible, strlen($u));
310
+        } elseif (tester_url_absolue($cible) and !defined('_AUTORISER_LOGIN_ABS_REDIRECT')) {
311
+            // si c'est une url absolue, refuser la redirection
312
+            // sauf si cette securite est levee volontairement par le webmestre
313
+            $cible = '';
314
+        }
315
+    }
316
+
317
+    // Si on est connecte, envoyer vers la destination
318
+    if ($cible and ($cible != self('&')) and ($cible != self())) {
319
+        if (!headers_sent() and !isset($_GET['var_mode'])) {
320
+            include_spip('inc/headers');
321
+            $res['redirect'] = $cible;
322
+        } else {
323
+            $res['message_ok'] = inserer_attribut(
324
+                '<a>' . _T('login_par_ici') . '</a>',
325
+                'href',
326
+                $cible
327
+            );
328
+        }
329
+    }
330
+
331
+    return $res;
332 332
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -120,7 +120,7 @@  discard block
 block discarded – undo
120 120
 			# preparer un lien pour quand redirige_formulaire ne fonctionne pas
121 121
 			$m = redirige_formulaire($res['redirect'], '', 'ajaxform');
122 122
 			$valeurs['_deja_loge'] = inserer_attribut(
123
-				'<a>' . _T('login_par_ici') . "</a>$m",
123
+				'<a>'._T('login_par_ici')."</a>$m",
124 124
 				'href',
125 125
 				$res['redirect']
126 126
 			);
@@ -256,7 +256,7 @@  discard block
 block discarded – undo
256 256
 function login_autoriser() {
257 257
 	include_spip('inc/autoriser');
258 258
 	if (!autoriser('ecrire')) {
259
-		$h = generer_url_action('logout', 'logout=prive&url=' . urlencode(self()));
259
+		$h = generer_url_action('logout', 'logout=prive&url='.urlencode(self()));
260 260
 
261 261
 		return array(
262 262
 			'message_erreur' => '<h1>'
@@ -264,7 +264,7 @@  discard block
 block discarded – undo
264 264
 				. '</h1><p>'
265 265
 				. _T('texte_erreur_visiteur')
266 266
 				. "</p><p class='retour'>[<a href='$h'>"
267
-				. _T('icone_deconnecter') . '</a>]</p>'
267
+				. _T('icone_deconnecter').'</a>]</p>'
268 268
 		);
269 269
 	}
270 270
 
@@ -306,7 +306,7 @@  discard block
 block discarded – undo
306 306
 		// transformer la cible absolue en cible relative
307 307
 		// pour pas echouer quand la meta adresse_site est foireuse
308 308
 		if (strncmp($cible, $u = url_de_base(), strlen($u)) == 0) {
309
-			$cible = './' . substr($cible, strlen($u));
309
+			$cible = './'.substr($cible, strlen($u));
310 310
 		} elseif (tester_url_absolue($cible) and !defined('_AUTORISER_LOGIN_ABS_REDIRECT')) {
311 311
 			// si c'est une url absolue, refuser la redirection
312 312
 			// sauf si cette securite est levee volontairement par le webmestre
@@ -321,7 +321,7 @@  discard block
 block discarded – undo
321 321
 			$res['redirect'] = $cible;
322 322
 		} else {
323 323
 			$res['message_ok'] = inserer_attribut(
324
-				'<a>' . _T('login_par_ici') . '</a>',
324
+				'<a>'._T('login_par_ici').'</a>',
325 325
 				'href',
326 326
 				$cible
327 327
 			);
Please login to merge, or discard this patch.