Completed
Push — master ( 03e6f4...ea2962 )
by cam
01:04
created
ecrire/inc/auth.php 2 patches
Indentation   +453 added lines, -453 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');
@@ -35,33 +35,33 @@  discard block
 block discarded – undo
35 35
  *  - une chaîne vide si autorisation à pénétrer dans l'espace privé.
36 36
  */
37 37
 function inc_auth_dist() {
38
-	$row = auth_mode();
38
+    $row = auth_mode();
39 39
 
40
-	if ($row) {
41
-		return auth_init_droits($row);
42
-	}
40
+    if ($row) {
41
+        return auth_init_droits($row);
42
+    }
43 43
 
44
-	if (!$GLOBALS['connect_login']) {
45
-		return auth_a_loger();
46
-	}
44
+    if (!$GLOBALS['connect_login']) {
45
+        return auth_a_loger();
46
+    }
47 47
 
48
-	// Cas ou l'auteur a ete identifie mais on n'a pas d'info sur lui
49
-	// C'est soit parce que la base est inutilisable,
50
-	// soit parce que la table des auteurs a changee (restauration etc)
51
-	// Pas la peine d'insister.
52
-	// Renvoyer le nom fautif et une URL de remise a zero
48
+    // Cas ou l'auteur a ete identifie mais on n'a pas d'info sur lui
49
+    // C'est soit parce que la base est inutilisable,
50
+    // soit parce que la table des auteurs a changee (restauration etc)
51
+    // Pas la peine d'insister.
52
+    // Renvoyer le nom fautif et une URL de remise a zero
53 53
 
54
-	if (spip_connect()) {
55
-		return [
56
-			'login' => $GLOBALS['connect_login'],
57
-			'site' => generer_url_public('', 'action=logout&logout=prive')
58
-		];
59
-	}
54
+    if (spip_connect()) {
55
+        return [
56
+            'login' => $GLOBALS['connect_login'],
57
+            'site' => generer_url_public('', 'action=logout&logout=prive')
58
+        ];
59
+    }
60 60
 
61
-	$n = intval(sql_errno());
62
-	spip_log("Erreur base de donnees $n " . sql_error());
61
+    $n = intval(sql_errno());
62
+    spip_log("Erreur base de donnees $n " . sql_error());
63 63
 
64
-	return $n ?: 1;
64
+    return $n ?: 1;
65 65
 }
66 66
 
67 67
 /**
@@ -71,22 +71,22 @@  discard block
 block discarded – undo
71 71
  */
72 72
 function auth_controler_password_auteur_connecte(string $password): bool {
73 73
 
74
-	if (
75
-		empty($GLOBALS['visiteur_session']['id_auteur'])
76
-		or empty($GLOBALS['visiteur_session']['login'])
77
-	) {
78
-		return false;
79
-	}
80
-
81
-	$auth = auth_identifier_login($GLOBALS['visiteur_session']['login'], $password, '', true);
82
-	if (
83
-		is_array($auth)
84
-		and $auth['id_auteur'] == $GLOBALS['visiteur_session']['id_auteur']
85
-	) {
86
-		return true;
87
-	}
88
-
89
-	return false;
74
+    if (
75
+        empty($GLOBALS['visiteur_session']['id_auteur'])
76
+        or empty($GLOBALS['visiteur_session']['login'])
77
+    ) {
78
+        return false;
79
+    }
80
+
81
+    $auth = auth_identifier_login($GLOBALS['visiteur_session']['login'], $password, '', true);
82
+    if (
83
+        is_array($auth)
84
+        and $auth['id_auteur'] == $GLOBALS['visiteur_session']['id_auteur']
85
+    ) {
86
+        return true;
87
+    }
88
+
89
+    return false;
90 90
 }
91 91
 
92 92
 /**
@@ -98,47 +98,47 @@  discard block
 block discarded – undo
98 98
  * @return array|string
99 99
  */
100 100
 function auth_echec($raison) {
101
-	include_spip('inc/minipres');
102
-	include_spip('inc/headers');
103
-	// pas authentifie. Pourquoi ?
104
-	if (is_string($raison)) {
105
-		// redirection vers une page d'authentification
106
-		// on ne revient pas de cette fonction
107
-		// sauf si pb de header
108
-		$raison = redirige_formulaire($raison);
109
-	} elseif (is_int($raison)) {
110
-		// erreur SQL a afficher
111
-		$raison = minipres(
112
-			_T('info_travaux_titre'),
113
-			_T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>'
114
-		);
115
-	} elseif (@$raison['statut']) {
116
-		// un simple visiteur n'a pas acces a l'espace prive
117
-		spip_log('connexion refusee a ' . @$raison['id_auteur']);
118
-		$est_connecte = (!empty($GLOBALS['visiteur_session']['login']) and !empty($GLOBALS['visiteur_session']['statut'])); // idem test balise #URL_LOGOUT
119
-		$raison = minipres(
120
-			_T('avis_erreur_connexion'),
121
-			_T('avis_erreur_visiteur')
122
-				// Lien vers le site public
123
-				. '<br /><a href="' . url_de_base() . '">' . _T('login_retour_public') . '</a>'
124
-				// Si la personne est connectée, lien de déconnexion ramenant vers la page de login
125
-				. ($est_connecte ? ' | <a href="' . generer_url_public('', 'action=logout&amp;logout=prive') . '">' . _T('icone_deconnecter') . '</a>' : '')
126
-		);
127
-	} else {
128
-		// auteur en fin de droits ...
129
-		$h = $raison['site'];
130
-		$raison = minipres(
131
-			_T('avis_erreur_connexion'),
132
-			'<br /><br /><p>'
133
-			. _T('texte_inc_auth_1', ['auth_login' => $raison['login']])
134
-			. " <a href='$h'>"
135
-			. _T('texte_inc_auth_2')
136
-			. '</a>'
137
-			. _T('texte_inc_auth_3')
138
-		);
139
-	}
140
-
141
-	return $raison;
101
+    include_spip('inc/minipres');
102
+    include_spip('inc/headers');
103
+    // pas authentifie. Pourquoi ?
104
+    if (is_string($raison)) {
105
+        // redirection vers une page d'authentification
106
+        // on ne revient pas de cette fonction
107
+        // sauf si pb de header
108
+        $raison = redirige_formulaire($raison);
109
+    } elseif (is_int($raison)) {
110
+        // erreur SQL a afficher
111
+        $raison = minipres(
112
+            _T('info_travaux_titre'),
113
+            _T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>'
114
+        );
115
+    } elseif (@$raison['statut']) {
116
+        // un simple visiteur n'a pas acces a l'espace prive
117
+        spip_log('connexion refusee a ' . @$raison['id_auteur']);
118
+        $est_connecte = (!empty($GLOBALS['visiteur_session']['login']) and !empty($GLOBALS['visiteur_session']['statut'])); // idem test balise #URL_LOGOUT
119
+        $raison = minipres(
120
+            _T('avis_erreur_connexion'),
121
+            _T('avis_erreur_visiteur')
122
+                // Lien vers le site public
123
+                . '<br /><a href="' . url_de_base() . '">' . _T('login_retour_public') . '</a>'
124
+                // Si la personne est connectée, lien de déconnexion ramenant vers la page de login
125
+                . ($est_connecte ? ' | <a href="' . generer_url_public('', 'action=logout&amp;logout=prive') . '">' . _T('icone_deconnecter') . '</a>' : '')
126
+        );
127
+    } else {
128
+        // auteur en fin de droits ...
129
+        $h = $raison['site'];
130
+        $raison = minipres(
131
+            _T('avis_erreur_connexion'),
132
+            '<br /><br /><p>'
133
+            . _T('texte_inc_auth_1', ['auth_login' => $raison['login']])
134
+            . " <a href='$h'>"
135
+            . _T('texte_inc_auth_2')
136
+            . '</a>'
137
+            . _T('texte_inc_auth_3')
138
+        );
139
+    }
140
+
141
+    return $raison;
142 142
 }
143 143
 
144 144
 /**
@@ -148,81 +148,81 @@  discard block
 block discarded – undo
148 148
  * @return array|bool|string
149 149
  */
150 150
 function auth_mode() {
151
-	//
152
-	// Initialiser variables (eviter hacks par URL)
153
-	//
154
-	$GLOBALS['connect_login'] = '';
155
-	$id_auteur = null;
156
-	$GLOBALS['auth_can_disconnect'] = false;
157
-
158
-	//
159
-	// Recuperer les donnees d'identification
160
-	//
161
-	include_spip('inc/session');
162
-	// Session valide en cours ?
163
-	if (isset($_COOKIE['spip_session'])) {
164
-		$session = charger_fonction('session', 'inc');
165
-		if (
166
-			$id_auteur = $session()
167
-			or $id_auteur === 0 // reprise sur restauration
168
-		) {
169
-			$GLOBALS['auth_can_disconnect'] = true;
170
-			$GLOBALS['connect_login'] = session_get('login');
171
-		} else {
172
-			unset($_COOKIE['spip_session']);
173
-		}
174
-	}
175
-
176
-	// Essayer auth http si significatif
177
-	// (ignorer les login d'intranet independants de spip)
178
-	if (!$GLOBALS['ignore_auth_http']) {
179
-		if (
180
-			(isset($_SERVER['PHP_AUTH_USER']) and isset($_SERVER['PHP_AUTH_PW'])
181
-				and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']))
182
-			or
183
-			// Si auth http differtente de basic, PHP_AUTH_PW
184
-			// est indisponible mais tentons quand meme pour
185
-			// autocreation via LDAP
186
-			(isset($_SERVER['REMOTE_USER'])
187
-				and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'] = $_SERVER['REMOTE_USER'], ''))
188
-		) {
189
-			if (!$id_auteur) {
190
-				$_SERVER['PHP_AUTH_PW'] = '';
191
-				$GLOBALS['auth_can_disconnect'] = true;
192
-				$GLOBALS['visiteur_session'] = $r;
193
-				$GLOBALS['connect_login'] = session_get('login');
194
-				$id_auteur = $r['id_auteur'];
195
-			} else {
196
-				// cas de la session en plus de PHP_AUTH
197
-				/*				  if ($id_auteur != $r['id_auteur']){
151
+    //
152
+    // Initialiser variables (eviter hacks par URL)
153
+    //
154
+    $GLOBALS['connect_login'] = '';
155
+    $id_auteur = null;
156
+    $GLOBALS['auth_can_disconnect'] = false;
157
+
158
+    //
159
+    // Recuperer les donnees d'identification
160
+    //
161
+    include_spip('inc/session');
162
+    // Session valide en cours ?
163
+    if (isset($_COOKIE['spip_session'])) {
164
+        $session = charger_fonction('session', 'inc');
165
+        if (
166
+            $id_auteur = $session()
167
+            or $id_auteur === 0 // reprise sur restauration
168
+        ) {
169
+            $GLOBALS['auth_can_disconnect'] = true;
170
+            $GLOBALS['connect_login'] = session_get('login');
171
+        } else {
172
+            unset($_COOKIE['spip_session']);
173
+        }
174
+    }
175
+
176
+    // Essayer auth http si significatif
177
+    // (ignorer les login d'intranet independants de spip)
178
+    if (!$GLOBALS['ignore_auth_http']) {
179
+        if (
180
+            (isset($_SERVER['PHP_AUTH_USER']) and isset($_SERVER['PHP_AUTH_PW'])
181
+                and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']))
182
+            or
183
+            // Si auth http differtente de basic, PHP_AUTH_PW
184
+            // est indisponible mais tentons quand meme pour
185
+            // autocreation via LDAP
186
+            (isset($_SERVER['REMOTE_USER'])
187
+                and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'] = $_SERVER['REMOTE_USER'], ''))
188
+        ) {
189
+            if (!$id_auteur) {
190
+                $_SERVER['PHP_AUTH_PW'] = '';
191
+                $GLOBALS['auth_can_disconnect'] = true;
192
+                $GLOBALS['visiteur_session'] = $r;
193
+                $GLOBALS['connect_login'] = session_get('login');
194
+                $id_auteur = $r['id_auteur'];
195
+            } else {
196
+                // cas de la session en plus de PHP_AUTH
197
+                /*				  if ($id_auteur != $r['id_auteur']){
198 198
 					spip_log("vol de session $id_auteur" . join(', ', $r));
199 199
 				unset($_COOKIE['spip_session']);
200 200
 				$id_auteur = '';
201 201
 				} */
202
-			}
203
-		} else {
204
-			// Authentification .htaccess old style, car .htaccess semble
205
-			// souvent definir *aussi* PHP_AUTH_USER et PHP_AUTH_PW
206
-			if (isset($_SERVER['REMOTE_USER'])) {
207
-				$GLOBALS['connect_login'] = $_SERVER['REMOTE_USER'];
208
-			}
209
-		}
210
-	}
211
-
212
-	$where = (is_numeric($id_auteur)
213
-		/*AND $id_auteur>0*/ // reprise lors des restaurations
214
-	) ?
215
-		"id_auteur=$id_auteur" :
216
-		(!strlen($GLOBALS['connect_login']) ? '' : 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text'));
217
-
218
-	if (!$where) {
219
-		return '';
220
-	}
221
-
222
-	// Trouver les autres infos dans la table auteurs.
223
-	// le champ 'quand' est utilise par l'agenda
224
-
225
-	return sql_fetsel('*, en_ligne AS quand', 'spip_auteurs', "$where AND statut!='5poubelle'");
202
+            }
203
+        } else {
204
+            // Authentification .htaccess old style, car .htaccess semble
205
+            // souvent definir *aussi* PHP_AUTH_USER et PHP_AUTH_PW
206
+            if (isset($_SERVER['REMOTE_USER'])) {
207
+                $GLOBALS['connect_login'] = $_SERVER['REMOTE_USER'];
208
+            }
209
+        }
210
+    }
211
+
212
+    $where = (is_numeric($id_auteur)
213
+        /*AND $id_auteur>0*/ // reprise lors des restaurations
214
+    ) ?
215
+        "id_auteur=$id_auteur" :
216
+        (!strlen($GLOBALS['connect_login']) ? '' : 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text'));
217
+
218
+    if (!$where) {
219
+        return '';
220
+    }
221
+
222
+    // Trouver les autres infos dans la table auteurs.
223
+    // le champ 'quand' est utilise par l'agenda
224
+
225
+    return sql_fetsel('*, en_ligne AS quand', 'spip_auteurs', "$where AND statut!='5poubelle'");
226 226
 }
227 227
 
228 228
 /**
@@ -240,85 +240,85 @@  discard block
 block discarded – undo
240 240
  */
241 241
 function auth_init_droits($row) {
242 242
 
243
-	include_spip('inc/autoriser');
244
-	if (!autoriser('loger', '', 0, $row)) {
245
-		return false;
246
-	}
247
-
248
-
249
-	if ($row['statut'] == 'nouveau') {
250
-		include_spip('action/inscrire_auteur');
251
-		$row = confirmer_statut_inscription($row);
252
-	}
253
-
254
-	$GLOBALS['connect_id_auteur'] = $row['id_auteur'];
255
-	$GLOBALS['connect_login'] = $row['login'];
256
-	$GLOBALS['connect_statut'] = $row['statut'];
257
-
258
-	$GLOBALS['visiteur_session'] = array_merge((array)$GLOBALS['visiteur_session'], $row);
259
-
260
-	// au cas ou : ne pas memoriser les champs sensibles
261
-	unset($GLOBALS['visiteur_session']['pass']);
262
-	unset($GLOBALS['visiteur_session']['htpass']);
263
-	unset($GLOBALS['visiteur_session']['alea_actuel']);
264
-	unset($GLOBALS['visiteur_session']['alea_futur']);
265
-	unset($GLOBALS['visiteur_session']['ldap_password']);
266
-
267
-	// creer la session au besoin
268
-	if (!isset($_COOKIE['spip_session'])) {
269
-		$session = charger_fonction('session', 'inc');
270
-		$spip_session = $session($row);
271
-	}
272
-
273
-	// reinjecter les preferences_auteur apres le reset de spip_session
274
-	// car utilisees au retour par auth_loger()
275
-	$r = @unserialize($row['prefs']);
276
-	$GLOBALS['visiteur_session']['prefs'] = ($r ?: []);
277
-	// si prefs pas definies, les definir par defaut
278
-	if (!isset($GLOBALS['visiteur_session']['prefs']['couleur'])) {
279
-		$GLOBALS['visiteur_session']['prefs']['couleur'] = 2;
280
-		$GLOBALS['visiteur_session']['prefs']['display'] = 2;
281
-		$GLOBALS['visiteur_session']['prefs']['display_navigation'] = 'navigation_avec_icones';
282
-	}
283
-
284
-	$GLOBALS['visiteur_session'] = pipeline(
285
-		'preparer_visiteur_session',
286
-		['args' => ['row' => $row],
287
-		'data' => $GLOBALS['visiteur_session']]
288
-	);
289
-
290
-	// Etablir les droits selon le codage attendu
291
-	// dans ecrire/index.php ecrire/prive.php
292
-
293
-	// Pas autorise a acceder a ecrire ? renvoyer le tableau
294
-	// A noter : le premier appel a autoriser() a le bon gout
295
-	// d'initialiser $GLOBALS['visiteur_session']['restreint'],
296
-	// qui ne figure pas dans le fichier de session
297
-
298
-	if (!autoriser('ecrire')) {
299
-		return $row;
300
-	}
301
-
302
-	// autoriser('ecrire') ne laisse passer que les Admin et les Redac
303
-
304
-	auth_trace($row);
305
-
306
-	// Administrateurs
307
-	if (in_array($GLOBALS['connect_statut'], explode(',', _STATUT_AUTEUR_RUBRIQUE))) {
308
-		if (
309
-			isset($GLOBALS['visiteur_session']['restreint'])
310
-			and is_array($GLOBALS['visiteur_session']['restreint'])
311
-		) {
312
-			$GLOBALS['connect_id_rubrique'] = $GLOBALS['visiteur_session']['restreint'];
313
-		}
314
-		if ($GLOBALS['connect_statut'] == '0minirezo') {
315
-			$GLOBALS['connect_toutes_rubriques'] = !$GLOBALS['connect_id_rubrique'];
316
-		}
317
-	}
318
-
319
-	// Pour les redacteurs, inc_version a fait l'initialisation minimale
320
-
321
-	return ''; // i.e. pas de pb.
243
+    include_spip('inc/autoriser');
244
+    if (!autoriser('loger', '', 0, $row)) {
245
+        return false;
246
+    }
247
+
248
+
249
+    if ($row['statut'] == 'nouveau') {
250
+        include_spip('action/inscrire_auteur');
251
+        $row = confirmer_statut_inscription($row);
252
+    }
253
+
254
+    $GLOBALS['connect_id_auteur'] = $row['id_auteur'];
255
+    $GLOBALS['connect_login'] = $row['login'];
256
+    $GLOBALS['connect_statut'] = $row['statut'];
257
+
258
+    $GLOBALS['visiteur_session'] = array_merge((array)$GLOBALS['visiteur_session'], $row);
259
+
260
+    // au cas ou : ne pas memoriser les champs sensibles
261
+    unset($GLOBALS['visiteur_session']['pass']);
262
+    unset($GLOBALS['visiteur_session']['htpass']);
263
+    unset($GLOBALS['visiteur_session']['alea_actuel']);
264
+    unset($GLOBALS['visiteur_session']['alea_futur']);
265
+    unset($GLOBALS['visiteur_session']['ldap_password']);
266
+
267
+    // creer la session au besoin
268
+    if (!isset($_COOKIE['spip_session'])) {
269
+        $session = charger_fonction('session', 'inc');
270
+        $spip_session = $session($row);
271
+    }
272
+
273
+    // reinjecter les preferences_auteur apres le reset de spip_session
274
+    // car utilisees au retour par auth_loger()
275
+    $r = @unserialize($row['prefs']);
276
+    $GLOBALS['visiteur_session']['prefs'] = ($r ?: []);
277
+    // si prefs pas definies, les definir par defaut
278
+    if (!isset($GLOBALS['visiteur_session']['prefs']['couleur'])) {
279
+        $GLOBALS['visiteur_session']['prefs']['couleur'] = 2;
280
+        $GLOBALS['visiteur_session']['prefs']['display'] = 2;
281
+        $GLOBALS['visiteur_session']['prefs']['display_navigation'] = 'navigation_avec_icones';
282
+    }
283
+
284
+    $GLOBALS['visiteur_session'] = pipeline(
285
+        'preparer_visiteur_session',
286
+        ['args' => ['row' => $row],
287
+        'data' => $GLOBALS['visiteur_session']]
288
+    );
289
+
290
+    // Etablir les droits selon le codage attendu
291
+    // dans ecrire/index.php ecrire/prive.php
292
+
293
+    // Pas autorise a acceder a ecrire ? renvoyer le tableau
294
+    // A noter : le premier appel a autoriser() a le bon gout
295
+    // d'initialiser $GLOBALS['visiteur_session']['restreint'],
296
+    // qui ne figure pas dans le fichier de session
297
+
298
+    if (!autoriser('ecrire')) {
299
+        return $row;
300
+    }
301
+
302
+    // autoriser('ecrire') ne laisse passer que les Admin et les Redac
303
+
304
+    auth_trace($row);
305
+
306
+    // Administrateurs
307
+    if (in_array($GLOBALS['connect_statut'], explode(',', _STATUT_AUTEUR_RUBRIQUE))) {
308
+        if (
309
+            isset($GLOBALS['visiteur_session']['restreint'])
310
+            and is_array($GLOBALS['visiteur_session']['restreint'])
311
+        ) {
312
+            $GLOBALS['connect_id_rubrique'] = $GLOBALS['visiteur_session']['restreint'];
313
+        }
314
+        if ($GLOBALS['connect_statut'] == '0minirezo') {
315
+            $GLOBALS['connect_toutes_rubriques'] = !$GLOBALS['connect_id_rubrique'];
316
+        }
317
+    }
318
+
319
+    // Pour les redacteurs, inc_version a fait l'initialisation minimale
320
+
321
+    return ''; // i.e. pas de pb.
322 322
 }
323 323
 
324 324
 /**
@@ -327,23 +327,23 @@  discard block
 block discarded – undo
327 327
  * @return string
328 328
  */
329 329
 function auth_a_loger() {
330
-	$redirect = generer_url_public('login', 'url=' . rawurlencode(self('&', true)), true);
331
-
332
-	// un echec au "bonjour" (login initial) quand le statut est
333
-	// inconnu signale sans doute un probleme de cookies
334
-	if (isset($_GET['bonjour'])) {
335
-		$redirect = parametre_url(
336
-			$redirect,
337
-			'var_erreur',
338
-			(!isset($GLOBALS['visiteur_session']['statut'])
339
-				? 'cookie'
340
-				: 'statut'
341
-			),
342
-			'&'
343
-		);
344
-	}
345
-
346
-	return $redirect;
330
+    $redirect = generer_url_public('login', 'url=' . rawurlencode(self('&', true)), true);
331
+
332
+    // un echec au "bonjour" (login initial) quand le statut est
333
+    // inconnu signale sans doute un probleme de cookies
334
+    if (isset($_GET['bonjour'])) {
335
+        $redirect = parametre_url(
336
+            $redirect,
337
+            'var_erreur',
338
+            (!isset($GLOBALS['visiteur_session']['statut'])
339
+                ? 'cookie'
340
+                : 'statut'
341
+            ),
342
+            '&'
343
+        );
344
+    }
345
+
346
+    return $redirect;
347 347
 }
348 348
 
349 349
 /**
@@ -355,19 +355,19 @@  discard block
 block discarded – undo
355 355
  * @param null|string $date
356 356
  */
357 357
 function auth_trace($row, $date = null) {
358
-	// Indiquer la connexion. A la minute pres ca suffit.
359
-	if (!is_numeric($connect_quand = $row['quand'] ?? '')) {
360
-		$connect_quand = strtotime($connect_quand);
361
-	}
358
+    // Indiquer la connexion. A la minute pres ca suffit.
359
+    if (!is_numeric($connect_quand = $row['quand'] ?? '')) {
360
+        $connect_quand = strtotime($connect_quand);
361
+    }
362 362
 
363
-	$date ??= date('Y-m-d H:i:s');
363
+    $date ??= date('Y-m-d H:i:s');
364 364
 
365
-	if (abs(strtotime($date) - $connect_quand) >= 60) {
366
-		sql_updateq('spip_auteurs', ['en_ligne' => $date], 'id_auteur=' . intval($row['id_auteur']));
367
-		$row['en_ligne'] = $date;
368
-	}
365
+    if (abs(strtotime($date) - $connect_quand) >= 60) {
366
+        sql_updateq('spip_auteurs', ['en_ligne' => $date], 'id_auteur=' . intval($row['id_auteur']));
367
+        $row['en_ligne'] = $date;
368
+    }
369 369
 
370
-	pipeline('trig_auth_trace', ['args' => ['row' => $row, 'date' => $date]]);
370
+    pipeline('trig_auth_trace', ['args' => ['row' => $row, 'date' => $date]]);
371 371
 }
372 372
 
373 373
 
@@ -393,28 +393,28 @@  discard block
 block discarded – undo
393 393
  * @return mixed
394 394
  */
395 395
 function auth_administrer($fonction, $args, $defaut = false) {
396
-	$auth_methode = array_shift($args);
397
-	$auth_methode = $auth_methode ?: 'spip'; // valeur par defaut au cas ou
398
-	if (
399
-		$auth = charger_fonction($auth_methode, 'auth', true)
400
-		and function_exists($f = "auth_{$auth_methode}_$fonction")
401
-	) {
402
-		$res = $f(...$args);
403
-	} else {
404
-		$res = $defaut;
405
-	}
406
-	$res = pipeline(
407
-		'auth_administrer',
408
-		[
409
-			'args' => [
410
-				'fonction' => $fonction,
411
-				'methode' => $auth_methode,
412
-				'args' => $args
413
-			],
414
-			'data' => $res
415
-		]
416
-	);
417
-	return $res;
396
+    $auth_methode = array_shift($args);
397
+    $auth_methode = $auth_methode ?: 'spip'; // valeur par defaut au cas ou
398
+    if (
399
+        $auth = charger_fonction($auth_methode, 'auth', true)
400
+        and function_exists($f = "auth_{$auth_methode}_$fonction")
401
+    ) {
402
+        $res = $f(...$args);
403
+    } else {
404
+        $res = $defaut;
405
+    }
406
+    $res = pipeline(
407
+        'auth_administrer',
408
+        [
409
+            'args' => [
410
+                'fonction' => $fonction,
411
+                'methode' => $auth_methode,
412
+                'args' => $args
413
+            ],
414
+            'data' => $res
415
+        ]
416
+    );
417
+    return $res;
418 418
 }
419 419
 
420 420
 /**
@@ -424,11 +424,11 @@  discard block
 block discarded – undo
424 424
  * @return array
425 425
  */
426 426
 function auth_formulaire_login($flux) {
427
-	foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
428
-		$flux = auth_administrer('formulaire_login', [$methode, $flux], $flux);
429
-	}
427
+    foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
428
+        $flux = auth_administrer('formulaire_login', [$methode, $flux], $flux);
429
+    }
430 430
 
431
-	return $flux;
431
+    return $flux;
432 432
 }
433 433
 
434 434
 
@@ -442,19 +442,19 @@  discard block
 block discarded – undo
442 442
  * @return string/bool
443 443
  */
444 444
 function auth_retrouver_login($login, $serveur = '') {
445
-	if (!spip_connect($serveur)) {
446
-		include_spip('inc/minipres');
447
-		echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'));
448
-		exit;
449
-	}
450
-
451
-	foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
452
-		if ($auteur = auth_administrer('retrouver_login', [$methode, $login, $serveur])) {
453
-			return $auteur;
454
-		}
455
-	}
456
-
457
-	return false;
445
+    if (!spip_connect($serveur)) {
446
+        include_spip('inc/minipres');
447
+        echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'));
448
+        exit;
449
+    }
450
+
451
+    foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
452
+        if ($auteur = auth_administrer('retrouver_login', [$methode, $login, $serveur])) {
453
+            return $auteur;
454
+        }
455
+    }
456
+
457
+    return false;
458 458
 }
459 459
 
460 460
 /**
@@ -469,34 +469,34 @@  discard block
 block discarded – undo
469 469
  * @return array
470 470
  */
471 471
 function auth_informer_login($login, $serveur = '') {
472
-	if (
473
-		!$login
474
-		or !$login_base = auth_retrouver_login($login, $serveur)
475
-		or !$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)
476
-	) {
477
-		// generer de fausses infos, mais credibles, pour eviter une attaque
478
-		// https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691
479
-
480
-		$row = [
481
-			'login' => $login,
482
-			'cnx' => '0',
483
-			'logo' => '',
484
-		];
485
-
486
-		return $row;
487
-	}
488
-
489
-	$prefs = @unserialize($row['prefs']);
490
-	$infos = [
491
-		'id_auteur' => $row['id_auteur'],
492
-		'login' => $row['login'],
493
-		'cnx' => (isset($prefs['cnx']) and $prefs['cnx'] === 'perma') ? '1' : '0',
494
-		'logo' => recuperer_fond('formulaires/inc-logo_auteur', $row),
495
-	];
496
-
497
-	verifier_visiteur();
498
-
499
-	return auth_administrer('informer_login', [$row['source'], $infos, $row, $serveur], $infos);
472
+    if (
473
+        !$login
474
+        or !$login_base = auth_retrouver_login($login, $serveur)
475
+        or !$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)
476
+    ) {
477
+        // generer de fausses infos, mais credibles, pour eviter une attaque
478
+        // https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691
479
+
480
+        $row = [
481
+            'login' => $login,
482
+            'cnx' => '0',
483
+            'logo' => '',
484
+        ];
485
+
486
+        return $row;
487
+    }
488
+
489
+    $prefs = @unserialize($row['prefs']);
490
+    $infos = [
491
+        'id_auteur' => $row['id_auteur'],
492
+        'login' => $row['login'],
493
+        'cnx' => (isset($prefs['cnx']) and $prefs['cnx'] === 'perma') ? '1' : '0',
494
+        'logo' => recuperer_fond('formulaires/inc-logo_auteur', $row),
495
+    ];
496
+
497
+    verifier_visiteur();
498
+
499
+    return auth_administrer('informer_login', [$row['source'], $infos, $row, $serveur], $infos);
500 500
 }
501 501
 
502 502
 
@@ -510,21 +510,21 @@  discard block
 block discarded – undo
510 510
  * @return mixed
511 511
  */
512 512
 function auth_identifier_login($login, $password, $serveur = '', bool $phpauth = false) {
513
-	$erreur = '';
514
-	foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
515
-		if ($auth = charger_fonction($methode, 'auth', true)) {
516
-			$auteur = $auth($login, $password, $serveur, $phpauth);
517
-			if (is_array($auteur) and count($auteur)) {
518
-				spip_log("connexion de $login par methode $methode");
519
-				$auteur['auth'] = $methode;
520
-				return $auteur;
521
-			} elseif (is_string($auteur)) {
522
-				$erreur .= "$auteur ";
523
-			}
524
-		}
525
-	}
526
-
527
-	return $erreur;
513
+    $erreur = '';
514
+    foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
515
+        if ($auth = charger_fonction($methode, 'auth', true)) {
516
+            $auteur = $auth($login, $password, $serveur, $phpauth);
517
+            if (is_array($auteur) and count($auteur)) {
518
+                spip_log("connexion de $login par methode $methode");
519
+                $auteur['auth'] = $methode;
520
+                return $auteur;
521
+            } elseif (is_string($auteur)) {
522
+                $erreur .= "$auteur ";
523
+            }
524
+        }
525
+    }
526
+
527
+    return $erreur;
528 528
 }
529 529
 
530 530
 /**
@@ -538,8 +538,8 @@  discard block
 block discarded – undo
538 538
  * @return string
539 539
  */
540 540
 function auth_url_retour_login($auth_methode, $login, $redirect = '', $serveur = '') {
541
-	$securiser_action = charger_fonction('securiser_action', 'inc');
542
-	return $securiser_action('auth', "$auth_methode/$login", $redirect, true);
541
+    $securiser_action = charger_fonction('securiser_action', 'inc');
542
+    return $securiser_action('auth', "$auth_methode/$login", $redirect, true);
543 543
 }
544 544
 
545 545
 /**
@@ -553,9 +553,9 @@  discard block
 block discarded – undo
553 553
  * @return mixed
554 554
  */
555 555
 function auth_terminer_identifier_login($auth_methode, $login, $serveur = '') {
556
-	$args = func_get_args();
557
-	$auteur = auth_administrer('terminer_identifier_login', $args);
558
-	return $auteur;
556
+    $args = func_get_args();
557
+    $auteur = auth_administrer('terminer_identifier_login', $args);
558
+    return $auteur;
559 559
 }
560 560
 
561 561
 /**
@@ -565,29 +565,29 @@  discard block
 block discarded – undo
565 565
  * @return bool
566 566
  */
567 567
 function auth_loger($auteur) {
568
-	if (!is_array($auteur) or !count($auteur)) {
569
-		return false;
570
-	}
571
-
572
-	// initialiser et poser le cookie de session
573
-	unset($_COOKIE['spip_session']);
574
-	if (auth_init_droits($auteur) === false) {
575
-		return false;
576
-	}
577
-
578
-	// initialiser les prefs
579
-	$p = $GLOBALS['visiteur_session']['prefs'];
580
-	$p['cnx'] = (isset($auteur['cookie']) and $auteur['cookie'] == 'oui') ? 'perma' : '';
581
-
582
-	sql_updateq(
583
-		'spip_auteurs',
584
-		['prefs' => serialize($p)],
585
-		'id_auteur=' . intval($auteur['id_auteur'])
586
-	);
587
-
588
-	//  bloquer ici le visiteur qui tente d'abuser de ses droits
589
-	verifier_visiteur();
590
-	return true;
568
+    if (!is_array($auteur) or !count($auteur)) {
569
+        return false;
570
+    }
571
+
572
+    // initialiser et poser le cookie de session
573
+    unset($_COOKIE['spip_session']);
574
+    if (auth_init_droits($auteur) === false) {
575
+        return false;
576
+    }
577
+
578
+    // initialiser les prefs
579
+    $p = $GLOBALS['visiteur_session']['prefs'];
580
+    $p['cnx'] = (isset($auteur['cookie']) and $auteur['cookie'] == 'oui') ? 'perma' : '';
581
+
582
+    sql_updateq(
583
+        'spip_auteurs',
584
+        ['prefs' => serialize($p)],
585
+        'id_auteur=' . intval($auteur['id_auteur'])
586
+    );
587
+
588
+    //  bloquer ici le visiteur qui tente d'abuser de ses droits
589
+    verifier_visiteur();
590
+    return true;
591 591
 }
592 592
 
593 593
 /**
@@ -597,8 +597,8 @@  discard block
 block discarded – undo
597 597
  * return void
598 598
  **/
599 599
 function auth_deloger() {
600
-	$logout = charger_fonction('logout', 'action');
601
-	$logout();
600
+    $logout = charger_fonction('logout', 'action');
601
+    $logout();
602 602
 }
603 603
 
604 604
 /**
@@ -612,8 +612,8 @@  discard block
 block discarded – undo
612 612
  * @return bool
613 613
  */
614 614
 function auth_autoriser_modifier_login($auth_methode, $serveur = '') {
615
-	$args = func_get_args();
616
-	return auth_administrer('autoriser_modifier_login', $args);
615
+    $args = func_get_args();
616
+    return auth_administrer('autoriser_modifier_login', $args);
617 617
 }
618 618
 
619 619
 /**
@@ -628,8 +628,8 @@  discard block
 block discarded – undo
628 628
  *  message d'erreur ou chaine vide si pas d'erreur
629 629
  */
630 630
 function auth_verifier_login($auth_methode, $new_login, $id_auteur = 0, $serveur = '') {
631
-	$args = func_get_args();
632
-	return auth_administrer('verifier_login', $args, '');
631
+    $args = func_get_args();
632
+    return auth_administrer('verifier_login', $args, '');
633 633
 }
634 634
 
635 635
 /**
@@ -642,8 +642,8 @@  discard block
 block discarded – undo
642 642
  * @return bool
643 643
  */
644 644
 function auth_modifier_login($auth_methode, $new_login, $id_auteur, $serveur = '') {
645
-	$args = func_get_args();
646
-	return auth_administrer('modifier_login', $args);
645
+    $args = func_get_args();
646
+    return auth_administrer('modifier_login', $args);
647 647
 }
648 648
 
649 649
 /**
@@ -658,8 +658,8 @@  discard block
 block discarded – undo
658 658
  *  succès ou échec
659 659
  */
660 660
 function auth_autoriser_modifier_pass($auth_methode, $serveur = '') {
661
-	$args = func_get_args();
662
-	return auth_administrer('autoriser_modifier_pass', $args);
661
+    $args = func_get_args();
662
+    return auth_administrer('autoriser_modifier_pass', $args);
663 663
 }
664 664
 
665 665
 /**
@@ -675,8 +675,8 @@  discard block
 block discarded – undo
675 675
  *  message d'erreur ou chaine vide si pas d'erreur
676 676
  */
677 677
 function auth_verifier_pass($auth_methode, $login, $new_pass, $id_auteur = 0, $serveur = '') {
678
-	$args = func_get_args();
679
-	return auth_administrer('verifier_pass', $args, '');
678
+    $args = func_get_args();
679
+    return auth_administrer('verifier_pass', $args, '');
680 680
 }
681 681
 
682 682
 /**
@@ -692,8 +692,8 @@  discard block
 block discarded – undo
692 692
  *  succes ou echec
693 693
  */
694 694
 function auth_modifier_pass($auth_methode, $login, $new_pass, $id_auteur, $serveur = '') {
695
-	$args = func_get_args();
696
-	return auth_administrer('modifier_pass', $args);
695
+    $args = func_get_args();
696
+    return auth_administrer('modifier_pass', $args);
697 697
 }
698 698
 
699 699
 /**
@@ -709,24 +709,24 @@  discard block
 block discarded – undo
709 709
  * @return void
710 710
  */
711 711
 function auth_synchroniser_distant(
712
-	$auth_methode = true,
713
-	$id_auteur = 0,
714
-	$champs = [],
715
-	$options = [],
716
-	$serveur = ''
712
+    $auth_methode = true,
713
+    $id_auteur = 0,
714
+    $champs = [],
715
+    $options = [],
716
+    $serveur = ''
717 717
 ) {
718
-	$args = func_get_args();
719
-	if ($auth_methode === true or (isset($options['all']) and $options['all'] == true)) {
720
-		$options['all'] = true; // ajouter une option all=>true pour chaque auth
721
-		$args = [true, $id_auteur, $champs, $options, $serveur];
722
-		foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
723
-			array_shift($args);
724
-			array_unshift($args, $methode);
725
-			auth_administrer('synchroniser_distant', $args);
726
-		}
727
-	} else {
728
-		auth_administrer('synchroniser_distant', $args);
729
-	}
718
+    $args = func_get_args();
719
+    if ($auth_methode === true or (isset($options['all']) and $options['all'] == true)) {
720
+        $options['all'] = true; // ajouter une option all=>true pour chaque auth
721
+        $args = [true, $id_auteur, $champs, $options, $serveur];
722
+        foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
723
+            array_shift($args);
724
+            array_unshift($args, $methode);
725
+            auth_administrer('synchroniser_distant', $args);
726
+        }
727
+    } else {
728
+        auth_administrer('synchroniser_distant', $args);
729
+    }
730 730
 }
731 731
 
732 732
 
@@ -739,45 +739,45 @@  discard block
 block discarded – undo
739 739
  * @return array|bool
740 740
  */
741 741
 function lire_php_auth($login, $pw, $serveur = '') {
742
-	if (
743
-		!$login
744
-		or !$login = auth_retrouver_login($login, $serveur)
745
-	) {
746
-		return false;
747
-	}
748
-
749
-	$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login, $serveur, 'text'), '', '', '', '', $serveur);
750
-
751
-	if (!$row) {
752
-		if (
753
-			include_spip('inc/auth')
754
-			and auth_ldap_connect($serveur)
755
-			and $auth_ldap = charger_fonction('ldap', 'auth', true)
756
-		) {
757
-			return $auth_ldap($login, $pw, $serveur, true);
758
-		}
759
-
760
-		return false;
761
-	}
762
-	// su pas de source definie
763
-	// ou auth/xxx introuvable, utiliser 'spip'
764
-	if (
765
-		!$auth_methode = $row['source']
766
-		or !$auth = charger_fonction($auth_methode, 'auth', true)
767
-	) {
768
-		$auth = charger_fonction('spip', 'auth', true);
769
-	}
770
-
771
-	$auteur = '';
772
-	if ($auth) {
773
-		$auteur = $auth($login, $pw, $serveur, true);
774
-	}
775
-	// verifier que ce n'est pas un message d'erreur
776
-	if (is_array($auteur) and count($auteur)) {
777
-		return $auteur;
778
-	}
779
-
780
-	return false;
742
+    if (
743
+        !$login
744
+        or !$login = auth_retrouver_login($login, $serveur)
745
+    ) {
746
+        return false;
747
+    }
748
+
749
+    $row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login, $serveur, 'text'), '', '', '', '', $serveur);
750
+
751
+    if (!$row) {
752
+        if (
753
+            include_spip('inc/auth')
754
+            and auth_ldap_connect($serveur)
755
+            and $auth_ldap = charger_fonction('ldap', 'auth', true)
756
+        ) {
757
+            return $auth_ldap($login, $pw, $serveur, true);
758
+        }
759
+
760
+        return false;
761
+    }
762
+    // su pas de source definie
763
+    // ou auth/xxx introuvable, utiliser 'spip'
764
+    if (
765
+        !$auth_methode = $row['source']
766
+        or !$auth = charger_fonction($auth_methode, 'auth', true)
767
+    ) {
768
+        $auth = charger_fonction('spip', 'auth', true);
769
+    }
770
+
771
+    $auteur = '';
772
+    if ($auth) {
773
+        $auteur = $auth($login, $pw, $serveur, true);
774
+    }
775
+    // verifier que ce n'est pas un message d'erreur
776
+    if (is_array($auteur) and count($auteur)) {
777
+        return $auteur;
778
+    }
779
+
780
+    return false;
781 781
 }
782 782
 
783 783
 /**
@@ -793,21 +793,21 @@  discard block
 block discarded – undo
793 793
  * @param string $lien
794 794
  */
795 795
 function ask_php_auth($pb, $raison, $retour = '', $url = '', $re = '', $lien = '') {
796
-	@Header('WWW-Authenticate: Basic realm="espace prive"');
797
-	@Header('HTTP/1.0 401 Unauthorized');
798
-	$corps = '';
799
-	$public = generer_url_public();
800
-	$ecrire = generer_url_ecrire();
801
-	$retour = $retour ?: _T('icone_retour');
802
-	$corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] ";
803
-	if ($url) {
804
-		$corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]";
805
-	}
806
-
807
-	if ($lien) {
808
-		$corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]';
809
-	}
810
-	include_spip('inc/minipres');
811
-	echo minipres($pb, $corps);
812
-	exit;
796
+    @Header('WWW-Authenticate: Basic realm="espace prive"');
797
+    @Header('HTTP/1.0 401 Unauthorized');
798
+    $corps = '';
799
+    $public = generer_url_public();
800
+    $ecrire = generer_url_ecrire();
801
+    $retour = $retour ?: _T('icone_retour');
802
+    $corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] ";
803
+    if ($url) {
804
+        $corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]";
805
+    }
806
+
807
+    if ($lien) {
808
+        $corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]';
809
+    }
810
+    include_spip('inc/minipres');
811
+    echo minipres($pb, $corps);
812
+    exit;
813 813
 }
Please login to merge, or discard this patch.
Spacing   +14 added lines, -15 removed lines patch added patch discarded remove patch
@@ -59,7 +59,7 @@  discard block
 block discarded – undo
59 59
 	}
60 60
 
61 61
 	$n = intval(sql_errno());
62
-	spip_log("Erreur base de donnees $n " . sql_error());
62
+	spip_log("Erreur base de donnees $n ".sql_error());
63 63
 
64 64
 	return $n ?: 1;
65 65
 }
@@ -110,19 +110,19 @@  discard block
 block discarded – undo
110 110
 		// erreur SQL a afficher
111 111
 		$raison = minipres(
112 112
 			_T('info_travaux_titre'),
113
-			_T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>'
113
+			_T('titre_probleme_technique').'<p><tt>'.sql_errno().' '.sql_error().'</tt></p>'
114 114
 		);
115 115
 	} elseif (@$raison['statut']) {
116 116
 		// un simple visiteur n'a pas acces a l'espace prive
117
-		spip_log('connexion refusee a ' . @$raison['id_auteur']);
117
+		spip_log('connexion refusee a '.@$raison['id_auteur']);
118 118
 		$est_connecte = (!empty($GLOBALS['visiteur_session']['login']) and !empty($GLOBALS['visiteur_session']['statut'])); // idem test balise #URL_LOGOUT
119 119
 		$raison = minipres(
120 120
 			_T('avis_erreur_connexion'),
121 121
 			_T('avis_erreur_visiteur')
122 122
 				// Lien vers le site public
123
-				. '<br /><a href="' . url_de_base() . '">' . _T('login_retour_public') . '</a>'
123
+				. '<br /><a href="'.url_de_base().'">'._T('login_retour_public').'</a>'
124 124
 				// Si la personne est connectée, lien de déconnexion ramenant vers la page de login
125
-				. ($est_connecte ? ' | <a href="' . generer_url_public('', 'action=logout&amp;logout=prive') . '">' . _T('icone_deconnecter') . '</a>' : '')
125
+				. ($est_connecte ? ' | <a href="'.generer_url_public('', 'action=logout&amp;logout=prive').'">'._T('icone_deconnecter').'</a>' : '')
126 126
 		);
127 127
 	} else {
128 128
 		// auteur en fin de droits ...
@@ -212,8 +212,7 @@  discard block
 block discarded – undo
212 212
 	$where = (is_numeric($id_auteur)
213 213
 		/*AND $id_auteur>0*/ // reprise lors des restaurations
214 214
 	) ?
215
-		"id_auteur=$id_auteur" :
216
-		(!strlen($GLOBALS['connect_login']) ? '' : 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text'));
215
+		"id_auteur=$id_auteur" : (!strlen($GLOBALS['connect_login']) ? '' : 'login='.sql_quote($GLOBALS['connect_login'], '', 'text'));
217 216
 
218 217
 	if (!$where) {
219 218
 		return '';
@@ -255,7 +254,7 @@  discard block
 block discarded – undo
255 254
 	$GLOBALS['connect_login'] = $row['login'];
256 255
 	$GLOBALS['connect_statut'] = $row['statut'];
257 256
 
258
-	$GLOBALS['visiteur_session'] = array_merge((array)$GLOBALS['visiteur_session'], $row);
257
+	$GLOBALS['visiteur_session'] = array_merge((array) $GLOBALS['visiteur_session'], $row);
259 258
 
260 259
 	// au cas ou : ne pas memoriser les champs sensibles
261 260
 	unset($GLOBALS['visiteur_session']['pass']);
@@ -327,7 +326,7 @@  discard block
 block discarded – undo
327 326
  * @return string
328 327
  */
329 328
 function auth_a_loger() {
330
-	$redirect = generer_url_public('login', 'url=' . rawurlencode(self('&', true)), true);
329
+	$redirect = generer_url_public('login', 'url='.rawurlencode(self('&', true)), true);
331 330
 
332 331
 	// un echec au "bonjour" (login initial) quand le statut est
333 332
 	// inconnu signale sans doute un probleme de cookies
@@ -363,7 +362,7 @@  discard block
 block discarded – undo
363 362
 	$date ??= date('Y-m-d H:i:s');
364 363
 
365 364
 	if (abs(strtotime($date) - $connect_quand) >= 60) {
366
-		sql_updateq('spip_auteurs', ['en_ligne' => $date], 'id_auteur=' . intval($row['id_auteur']));
365
+		sql_updateq('spip_auteurs', ['en_ligne' => $date], 'id_auteur='.intval($row['id_auteur']));
367 366
 		$row['en_ligne'] = $date;
368 367
 	}
369 368
 
@@ -472,7 +471,7 @@  discard block
 block discarded – undo
472 471
 	if (
473 472
 		!$login
474 473
 		or !$login_base = auth_retrouver_login($login, $serveur)
475
-		or !$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)
474
+		or !$row = sql_fetsel('*', 'spip_auteurs', 'login='.sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)
476 475
 	) {
477 476
 		// generer de fausses infos, mais credibles, pour eviter une attaque
478 477
 		// https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691
@@ -582,7 +581,7 @@  discard block
 block discarded – undo
582 581
 	sql_updateq(
583 582
 		'spip_auteurs',
584 583
 		['prefs' => serialize($p)],
585
-		'id_auteur=' . intval($auteur['id_auteur'])
584
+		'id_auteur='.intval($auteur['id_auteur'])
586 585
 	);
587 586
 
588 587
 	//  bloquer ici le visiteur qui tente d'abuser de ses droits
@@ -746,7 +745,7 @@  discard block
 block discarded – undo
746 745
 		return false;
747 746
 	}
748 747
 
749
-	$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login, $serveur, 'text'), '', '', '', '', $serveur);
748
+	$row = sql_fetsel('*', 'spip_auteurs', 'login='.sql_quote($login, $serveur, 'text'), '', '', '', '', $serveur);
750 749
 
751 750
 	if (!$row) {
752 751
 		if (
@@ -801,11 +800,11 @@  discard block
 block discarded – undo
801 800
 	$retour = $retour ?: _T('icone_retour');
802 801
 	$corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] ";
803 802
 	if ($url) {
804
-		$corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]";
803
+		$corps .= "[<a href='".generer_url_action('cookie', "essai_auth_http=oui&$url")."'>$re</a>]";
805 804
 	}
806 805
 
807 806
 	if ($lien) {
808
-		$corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]';
807
+		$corps .= " [<a href='$ecrire'>"._T('login_espace_prive').'</a>]';
809 808
 	}
810 809
 	include_spip('inc/minipres');
811 810
 	echo minipres($pb, $corps);
Please login to merge, or discard this patch.