Completed
Push — master ( 4fa0dc...b74578 )
by cam
01:19
created
prive/formulaires/editer_auteur.php 3 patches
Indentation   +369 added lines, -369 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
  **/
8 8
 
9 9
 if (!defined('_ECRIRE_INC_VERSION')) {
10
-	return;
10
+    return;
11 11
 }
12 12
 
13 13
 include_spip('inc/actions');
@@ -38,24 +38,24 @@  discard block
 block discarded – undo
38 38
  *     Environnement du formulaire
39 39
  **/
40 40
 function formulaires_editer_auteur_charger_dist(
41
-	$id_auteur = 'new',
42
-	$retour = '',
43
-	$associer_objet = '',
44
-	$config_fonc = 'auteurs_edit_config',
45
-	$row = [],
46
-	$hidden = ''
41
+    $id_auteur = 'new',
42
+    $retour = '',
43
+    $associer_objet = '',
44
+    $config_fonc = 'auteurs_edit_config',
45
+    $row = [],
46
+    $hidden = ''
47 47
 ) {
48
-	$valeurs = formulaires_editer_objet_charger('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
49
-	$valeurs['new_login'] = $valeurs['login'];
48
+    $valeurs = formulaires_editer_objet_charger('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
49
+    $valeurs['new_login'] = $valeurs['login'];
50 50
 
51
-	// S'il n'y a pas la langue, on prend la langue du site
52
-	$valeurs['langue'] = $valeurs['langue'] ?: $GLOBALS['meta']['langue_site'];
51
+    // S'il n'y a pas la langue, on prend la langue du site
52
+    $valeurs['langue'] = $valeurs['langue'] ?: $GLOBALS['meta']['langue_site'];
53 53
 
54
-	if (!autoriser('modifier', 'auteur', (int) $id_auteur)) {
55
-		$valeurs['editable'] = '';
56
-	}
54
+    if (!autoriser('modifier', 'auteur', (int) $id_auteur)) {
55
+        $valeurs['editable'] = '';
56
+    }
57 57
 
58
-	return $valeurs;
58
+    return $valeurs;
59 59
 }
60 60
 
61 61
 /**
@@ -79,14 +79,14 @@  discard block
 block discarded – undo
79 79
  *     Hash du formulaire
80 80
  */
81 81
 function formulaires_editer_auteur_identifier_dist(
82
-	$id_auteur = 'new',
83
-	$retour = '',
84
-	$associer_objet = '',
85
-	$config_fonc = 'auteurs_edit_config',
86
-	$row = [],
87
-	$hidden = ''
82
+    $id_auteur = 'new',
83
+    $retour = '',
84
+    $associer_objet = '',
85
+    $config_fonc = 'auteurs_edit_config',
86
+    $row = [],
87
+    $hidden = ''
88 88
 ) {
89
-	return serialize([(int) $id_auteur, $associer_objet]);
89
+    return serialize([(int) $id_auteur, $associer_objet]);
90 90
 }
91 91
 
92 92
 
@@ -100,27 +100,27 @@  discard block
 block discarded – undo
100 100
  */
101 101
 function auteurs_edit_config(array $row): array {
102 102
 
103
-	$config = [];
104
-	$config['lignes'] = 8;
105
-	$config['langue'] = $GLOBALS['spip_lang'];
106
-
107
-	// pour instituer_auteur
108
-	$config['auteur'] = $row;
109
-
110
-	//$config['restreint'] = ($row['statut'] == 'publie');
111
-	$auth_methode = $row['source'];
112
-	include_spip('inc/auth');
113
-	$config['edit_login'] = (
114
-		auth_autoriser_modifier_login($auth_methode)
115
-		&& autoriser('modifier', 'auteur', $row['id_auteur'], null, ['login' => true])
116
-		&& autoriser('modifier', 'auteur', $row['id_auteur'], null, ['email' => true])
117
-	);
118
-	$config['edit_pass'] = (
119
-			auth_autoriser_modifier_pass($auth_methode)
120
-			&& autoriser('modifier', 'auteur', $row['id_auteur'])
121
-	);
122
-
123
-	return $config;
103
+    $config = [];
104
+    $config['lignes'] = 8;
105
+    $config['langue'] = $GLOBALS['spip_lang'];
106
+
107
+    // pour instituer_auteur
108
+    $config['auteur'] = $row;
109
+
110
+    //$config['restreint'] = ($row['statut'] == 'publie');
111
+    $auth_methode = $row['source'];
112
+    include_spip('inc/auth');
113
+    $config['edit_login'] = (
114
+        auth_autoriser_modifier_login($auth_methode)
115
+        && autoriser('modifier', 'auteur', $row['id_auteur'], null, ['login' => true])
116
+        && autoriser('modifier', 'auteur', $row['id_auteur'], null, ['email' => true])
117
+    );
118
+    $config['edit_pass'] = (
119
+            auth_autoriser_modifier_pass($auth_methode)
120
+            && autoriser('modifier', 'auteur', $row['id_auteur'])
121
+    );
122
+
123
+    return $config;
124 124
 }
125 125
 
126 126
 /**
@@ -150,145 +150,145 @@  discard block
 block discarded – undo
150 150
  *     Erreurs des saisies
151 151
  **/
152 152
 function formulaires_editer_auteur_verifier_dist(
153
-	$id_auteur = 'new',
154
-	$retour = '',
155
-	$associer_objet = '',
156
-	$config_fonc = 'auteurs_edit_config',
157
-	$row = [],
158
-	$hidden = ''
153
+    $id_auteur = 'new',
154
+    $retour = '',
155
+    $associer_objet = '',
156
+    $config_fonc = 'auteurs_edit_config',
157
+    $row = [],
158
+    $hidden = ''
159 159
 ) {
160
-	// auto-renseigner le nom si il n'existe pas, sans couper
161
-	titre_automatique('nom', ['email', 'login'], 255);
162
-
163
-	$oblis = ['nom'];
164
-	// si on veut renvoyer des identifiants il faut un email et un login
165
-	if (_request('reset_password')) {
166
-		$oblis[] = 'email';
167
-		$oblis[] = 'new_login';
168
-	}
169
-	// mais il reste obligatoire si on a rien trouve
170
-	$erreurs = formulaires_editer_objet_verifier('auteur', $id_auteur, $oblis);
171
-	if (isset($erreurs['new_login'])) {
172
-		$erreurs['login'] = $erreurs['new_login'];
173
-		unset($erreurs['new_login']);
174
-	}
175
-
176
-	$auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
177
-	$auth_methode = ($auth_methode ?: 'spip');
178
-	include_spip('inc/auth');
179
-
180
-	if (!nom_acceptable(_request('nom'))) {
181
-		$erreurs['nom'] = _T('info_nom_pas_conforme');
182
-	}
183
-
184
-	if ($email = _request('email')) {
185
-		include_spip('inc/filtres');
186
-		include_spip('inc/autoriser');
187
-		// un redacteur qui modifie son email n'a pas le droit de le vider si il y en avait un
188
-		if (
189
-			!autoriser('modifier', 'auteur', $id_auteur, null, ['email' => '?'])
190
-			&& $GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
191
-			&& !strlen(trim($email))
192
-			&& $email != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur))
193
-		) {
194
-			$erreurs['email'] = (($id_auteur == $GLOBALS['visiteur_session']['id_auteur']) ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'));
195
-		} else {
196
-			if (!email_valide($email)) {
197
-				$erreurs['email'] = (($id_auteur == $GLOBALS['visiteur_session']['id_auteur']) ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'));
198
-			}
199
-		}
200
-		# Ne pas autoriser d'avoir deux auteurs avec le même email
201
-		# cette fonctionalité nécessite que la base soit clean à l'activation : pas de
202
-		# doublon sur la requête select email,count(*) from spip_auteurs group by email ;
203
-		if (defined('_INTERDIRE_AUTEUR_MEME_EMAIL')) {
204
-			#Nouvel auteur
205
-			if ((int) $id_auteur == 0) {
206
-				#Un auteur existe deja avec cette adresse ?
207
-				if (sql_countsel('spip_auteurs', 'email=' . sql_quote($email)) > 0) {
208
-					$erreurs['email'] = _T('erreur_email_deja_existant');
209
-				}
210
-			} else {
211
-				#Un auteur existe deja avec cette adresse ? et n'est pas le user courant.
212
-				if (
213
-					sql_countsel(
214
-						'spip_auteurs',
215
-						'email=' . sql_quote($email)
216
-					) > 0
217
-					&& $id_auteur != ($id_auteur_ancien = sql_getfetsel(
218
-						'id_auteur',
219
-						'spip_auteurs',
220
-						'email=' . sql_quote($email)
221
-					))
222
-				) {
223
-					$erreurs['email'] = _T('erreur_email_deja_existant');
224
-				}
225
-			}
226
-		}
227
-	}
228
-
229
-	// quand c'est un auteur existant on fait le reset password ici
230
-	if (!(is_countable($erreurs) ? count($erreurs) : 0) && _request('reset_password') && (int) $id_auteur) {
231
-		return auteur_reset_password($id_auteur, $erreurs);
232
-	}
233
-
234
-	// corriger un cas si frequent : www.example.org sans le http:// qui precede
235
-	if (
236
-		($url = _request('url_site'))
237
-		&& !tester_url_absolue($url)
238
-		&& (!str_contains($url, ':')
239
-		&& strncasecmp($url, 'www.', 4) === 0)
240
-	) {
241
-		$url = 'http://' . $url;
242
-		set_request('url_site', $url);
243
-	}
244
-	// traiter les liens implicites avant de tester l'url
245
-	include_spip('inc/lien');
246
-	if (($url = calculer_url(_request('url_site'))) && !tester_url_absolue($url)) {
247
-		$erreurs['url_site'] = _T('info_url_site_pas_conforme');
248
-	}
249
-
250
-	$erreurs['message_erreur'] = '';
251
-	if (_request('login')) {
252
-		// on n'est jamais cense poster le name 'login'
253
-		$erreurs['login'] = _T('info_non_modifiable');
254
-	}
255
-	elseif (
256
-		($login = _request('new_login')) && $login !== sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur)
257
-	) {
258
-		// on verifie la meme chose que dans auteurs_edit_config()
259
-		if (
260
-			! auth_autoriser_modifier_login($auth_methode)
261
-			|| !autoriser('modifier', 'auteur', (int) $id_auteur, null, ['login' => true])
262
-			// legacy : ne pas risquer d'autoriser la modif login si fonction d'autorisation pas mise a jour et ne teste que l'option email
263
-			|| !autoriser('modifier', 'auteur', (int) $id_auteur, null, ['email' => true])
264
-		) {
265
-			$erreurs['login'] = _T('info_non_modifiable');
266
-		}
267
-	}
268
-
269
-	if (empty($erreurs['login'])) {
270
-		if ($err = auth_verifier_login($auth_methode, _request('new_login'), $id_auteur)) {
271
-			$erreurs['login'] = $err;
272
-			$erreurs['message_erreur'] .= $err;
273
-		} else {
274
-			// pass trop court ou confirmation non identique
275
-			if ($p = _request('new_pass')) {
276
-				if ($p != _request('new_pass2')) {
277
-					$erreurs['new_pass'] = _T('info_passes_identiques');
278
-					$erreurs['message_erreur'] .= _T('info_passes_identiques');
279
-				} elseif ($err = auth_verifier_pass($auth_methode, _request('new_login'), $p, $id_auteur)) {
280
-					$erreurs['new_pass'] = $err;
281
-					$erreurs['message_erreur'] .= $err;
282
-				}
283
-			}
284
-		}
285
-	}
286
-
287
-	if (!$erreurs['message_erreur']) {
288
-		unset($erreurs['message_erreur']);
289
-	}
290
-
291
-	return $erreurs;
160
+    // auto-renseigner le nom si il n'existe pas, sans couper
161
+    titre_automatique('nom', ['email', 'login'], 255);
162
+
163
+    $oblis = ['nom'];
164
+    // si on veut renvoyer des identifiants il faut un email et un login
165
+    if (_request('reset_password')) {
166
+        $oblis[] = 'email';
167
+        $oblis[] = 'new_login';
168
+    }
169
+    // mais il reste obligatoire si on a rien trouve
170
+    $erreurs = formulaires_editer_objet_verifier('auteur', $id_auteur, $oblis);
171
+    if (isset($erreurs['new_login'])) {
172
+        $erreurs['login'] = $erreurs['new_login'];
173
+        unset($erreurs['new_login']);
174
+    }
175
+
176
+    $auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
177
+    $auth_methode = ($auth_methode ?: 'spip');
178
+    include_spip('inc/auth');
179
+
180
+    if (!nom_acceptable(_request('nom'))) {
181
+        $erreurs['nom'] = _T('info_nom_pas_conforme');
182
+    }
183
+
184
+    if ($email = _request('email')) {
185
+        include_spip('inc/filtres');
186
+        include_spip('inc/autoriser');
187
+        // un redacteur qui modifie son email n'a pas le droit de le vider si il y en avait un
188
+        if (
189
+            !autoriser('modifier', 'auteur', $id_auteur, null, ['email' => '?'])
190
+            && $GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
191
+            && !strlen(trim($email))
192
+            && $email != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur))
193
+        ) {
194
+            $erreurs['email'] = (($id_auteur == $GLOBALS['visiteur_session']['id_auteur']) ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'));
195
+        } else {
196
+            if (!email_valide($email)) {
197
+                $erreurs['email'] = (($id_auteur == $GLOBALS['visiteur_session']['id_auteur']) ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'));
198
+            }
199
+        }
200
+        # Ne pas autoriser d'avoir deux auteurs avec le même email
201
+        # cette fonctionalité nécessite que la base soit clean à l'activation : pas de
202
+        # doublon sur la requête select email,count(*) from spip_auteurs group by email ;
203
+        if (defined('_INTERDIRE_AUTEUR_MEME_EMAIL')) {
204
+            #Nouvel auteur
205
+            if ((int) $id_auteur == 0) {
206
+                #Un auteur existe deja avec cette adresse ?
207
+                if (sql_countsel('spip_auteurs', 'email=' . sql_quote($email)) > 0) {
208
+                    $erreurs['email'] = _T('erreur_email_deja_existant');
209
+                }
210
+            } else {
211
+                #Un auteur existe deja avec cette adresse ? et n'est pas le user courant.
212
+                if (
213
+                    sql_countsel(
214
+                        'spip_auteurs',
215
+                        'email=' . sql_quote($email)
216
+                    ) > 0
217
+                    && $id_auteur != ($id_auteur_ancien = sql_getfetsel(
218
+                        'id_auteur',
219
+                        'spip_auteurs',
220
+                        'email=' . sql_quote($email)
221
+                    ))
222
+                ) {
223
+                    $erreurs['email'] = _T('erreur_email_deja_existant');
224
+                }
225
+            }
226
+        }
227
+    }
228
+
229
+    // quand c'est un auteur existant on fait le reset password ici
230
+    if (!(is_countable($erreurs) ? count($erreurs) : 0) && _request('reset_password') && (int) $id_auteur) {
231
+        return auteur_reset_password($id_auteur, $erreurs);
232
+    }
233
+
234
+    // corriger un cas si frequent : www.example.org sans le http:// qui precede
235
+    if (
236
+        ($url = _request('url_site'))
237
+        && !tester_url_absolue($url)
238
+        && (!str_contains($url, ':')
239
+        && strncasecmp($url, 'www.', 4) === 0)
240
+    ) {
241
+        $url = 'http://' . $url;
242
+        set_request('url_site', $url);
243
+    }
244
+    // traiter les liens implicites avant de tester l'url
245
+    include_spip('inc/lien');
246
+    if (($url = calculer_url(_request('url_site'))) && !tester_url_absolue($url)) {
247
+        $erreurs['url_site'] = _T('info_url_site_pas_conforme');
248
+    }
249
+
250
+    $erreurs['message_erreur'] = '';
251
+    if (_request('login')) {
252
+        // on n'est jamais cense poster le name 'login'
253
+        $erreurs['login'] = _T('info_non_modifiable');
254
+    }
255
+    elseif (
256
+        ($login = _request('new_login')) && $login !== sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur)
257
+    ) {
258
+        // on verifie la meme chose que dans auteurs_edit_config()
259
+        if (
260
+            ! auth_autoriser_modifier_login($auth_methode)
261
+            || !autoriser('modifier', 'auteur', (int) $id_auteur, null, ['login' => true])
262
+            // legacy : ne pas risquer d'autoriser la modif login si fonction d'autorisation pas mise a jour et ne teste que l'option email
263
+            || !autoriser('modifier', 'auteur', (int) $id_auteur, null, ['email' => true])
264
+        ) {
265
+            $erreurs['login'] = _T('info_non_modifiable');
266
+        }
267
+    }
268
+
269
+    if (empty($erreurs['login'])) {
270
+        if ($err = auth_verifier_login($auth_methode, _request('new_login'), $id_auteur)) {
271
+            $erreurs['login'] = $err;
272
+            $erreurs['message_erreur'] .= $err;
273
+        } else {
274
+            // pass trop court ou confirmation non identique
275
+            if ($p = _request('new_pass')) {
276
+                if ($p != _request('new_pass2')) {
277
+                    $erreurs['new_pass'] = _T('info_passes_identiques');
278
+                    $erreurs['message_erreur'] .= _T('info_passes_identiques');
279
+                } elseif ($err = auth_verifier_pass($auth_methode, _request('new_login'), $p, $id_auteur)) {
280
+                    $erreurs['new_pass'] = $err;
281
+                    $erreurs['message_erreur'] .= $err;
282
+                }
283
+            }
284
+        }
285
+    }
286
+
287
+    if (!$erreurs['message_erreur']) {
288
+        unset($erreurs['message_erreur']);
289
+    }
290
+
291
+    return $erreurs;
292 292
 }
293 293
 
294 294
 
@@ -325,153 +325,153 @@  discard block
 block discarded – undo
325 325
  *     Retour des traitements
326 326
  **/
327 327
 function formulaires_editer_auteur_traiter_dist(
328
-	$id_auteur = 'new',
329
-	$retour = '',
330
-	$associer_objet = '',
331
-	$config_fonc = 'auteurs_edit_config',
332
-	$row = [],
333
-	$hidden = ''
328
+    $id_auteur = 'new',
329
+    $retour = '',
330
+    $associer_objet = '',
331
+    $config_fonc = 'auteurs_edit_config',
332
+    $row = [],
333
+    $hidden = ''
334 334
 ) {
335
-	if (_request('saisie_webmestre') || _request('webmestre')) {
336
-		set_request('webmestre', _request('webmestre') ?: 'non');
337
-	}
338
-
339
-	// si il y a des modifs sensibles (statut, mot de passe), on refuse le traitement en ajax
340
-	// le formulaire ne peut être traité depuis une XMLHttpRequest
341
-	$prev = formulaires_editer_objet_charger('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
342
-	if (
343
-		_request('new_pass') // nouveau mot de passe
344
-		|| empty($prev['statut']) // creation auteur
345
-		|| _request('email') && $prev['email'] !== _request('email') // modification email
346
-		|| _request('statut') === '0minirezo' && $prev['statut'] !== '0minirezo' // promotion 0minirezo
347
-		|| _request('statut') && (int) _request('statut') < (int) $prev['statut'] // promotion de statut
348
-		|| _request('webmestre') && _request('webmestre') !== 'non' && $prev['webmestre'] !== 'oui' // promotion webmestre
349
-	) {
350
-		refuser_traiter_formulaire_ajax();
351
-		// si on arrive là encore en ajax c'est pas OK, on genere une erreur
352
-		if (_AJAX || !empty($_SERVER['HTTP_X_REQUESTED_WITH'])) {
353
-			return [
354
-				'message_erreur' => _T('erreur_technique_ajaxform')
355
-			];
356
-		}
357
-	}
358
-
359
-	$id_objet = null;
360
-	$retour = parametre_url($retour, 'email_confirm', '');
361
-
362
-	if ($restreintes = _request('restreintes')) {
363
-		foreach ($restreintes as $k => $v) {
364
-			if (str_starts_with($v, 'rubrique|')) {
365
-				$restreintes[$k] = substr($v, 9);
366
-			}
367
-		}
368
-		set_request('restreintes', $restreintes);
369
-	}
370
-
371
-	set_request(
372
-		'email',
373
-		email_valide(_request('email'))
374
-	); // eviter d'enregistrer les cas qui sont acceptés par email_valide dans le verifier :
375
-	// "[email protected]  " ou encore "Marie Toto <[email protected]>"
376
-
377
-	include_spip('inc/autoriser');
378
-	if (!autoriser('modifier', 'auteur', $id_auteur, null, ['email' => '?'])) {
379
-		$email_nouveau = _request('email');
380
-		set_request('email'); // vider la saisie car l'auteur n'a pas le droit de modifier cet email
381
-		// mais si c'est son propre profil on lui envoie un email à l'adresse qu'il a indique
382
-		// pour qu'il confirme qu'il possede bien cette adresse
383
-		// son clic sur l'url du message permettre de confirmer le changement
384
-		// et de revenir sur son profil
385
-		if (
386
-			$GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
387
-			&& $email_nouveau != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur))
388
-		) {
389
-			$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
390
-			$texte = _T(
391
-				'form_auteur_mail_confirmation',
392
-				[
393
-					'url' => generer_action_auteur(
394
-						'confirmer_email',
395
-						$email_nouveau,
396
-						parametre_url($retour, 'email_modif', 'ok')
397
-					)
398
-				]
399
-			);
400
-			$envoyer_mail($email_nouveau, _T('form_auteur_confirmation'), $texte);
401
-			set_request('email_confirm', $email_nouveau);
402
-			if ($email_ancien) {
403
-				$envoyer_mail(
404
-					$email_ancien,
405
-					_T('form_auteur_confirmation'),
406
-					_T('form_auteur_envoi_mail_confirmation', ['email' => $email_nouveau])
407
-				);
408
-			}
409
-			$retour = parametre_url($retour, 'email_confirm', $email_nouveau);
410
-		}
411
-	}
412
-
413
-	// Trafic de langue pour enregistrer la bonne
414
-	if ($langue = _request('langue')) {
415
-		set_request('lang', $langue);
416
-	}
417
-
418
-	$res = formulaires_editer_objet_traiter('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
419
-
420
-	if (_request('reset_password') && !(int) $id_auteur && (int) $res['id_auteur']) {
421
-		$erreurs = [];
422
-		$erreurs = auteur_reset_password($res['id_auteur'], $erreurs);
423
-		if (isset($erreurs['message_ok'])) {
424
-			if (!isset($res['message_ok'])) { $res['message_ok'] = '';
425
-			}
426
-			$res['message_ok'] = trim($res['message_ok'] . ' ' . $erreurs['message_ok']);
427
-		}
428
-		if (isset($erreurs['message_erreur']) && $erreurs['message_erreur']) {
429
-			if (!isset($res['message_erreur'])) { $res['message_erreur'] = '';
430
-			}
431
-			$res['message_erreur'] = trim($res['message_erreur'] . ' ' . $erreurs['message_erreur']);
432
-		}
433
-	}
434
-
435
-	// Un lien auteur a prendre en compte ?
436
-	if ($associer_objet && ($id_auteur = $res['id_auteur'])) {
437
-		$objet = '';
438
-		if ((int) $associer_objet) {
439
-			$objet = 'article';
440
-			$id_objet = (int) $associer_objet;
441
-		} elseif (preg_match(',^\w+\|\d+$,', $associer_objet)) {
442
-			[$objet, $id_objet] = explode('|', $associer_objet);
443
-		}
444
-		if ($objet && $id_objet && autoriser('modifier', $objet, $id_objet)) {
445
-			include_spip('action/editer_auteur');
446
-			auteur_associer($id_auteur, [$objet => $id_objet]);
447
-			if (isset($res['redirect'])) {
448
-				$res['redirect'] = parametre_url($res['redirect'], 'id_lien_ajoute', $id_auteur, '&');
449
-			}
450
-		}
451
-	}
452
-
453
-	return $res;
335
+    if (_request('saisie_webmestre') || _request('webmestre')) {
336
+        set_request('webmestre', _request('webmestre') ?: 'non');
337
+    }
338
+
339
+    // si il y a des modifs sensibles (statut, mot de passe), on refuse le traitement en ajax
340
+    // le formulaire ne peut être traité depuis une XMLHttpRequest
341
+    $prev = formulaires_editer_objet_charger('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
342
+    if (
343
+        _request('new_pass') // nouveau mot de passe
344
+        || empty($prev['statut']) // creation auteur
345
+        || _request('email') && $prev['email'] !== _request('email') // modification email
346
+        || _request('statut') === '0minirezo' && $prev['statut'] !== '0minirezo' // promotion 0minirezo
347
+        || _request('statut') && (int) _request('statut') < (int) $prev['statut'] // promotion de statut
348
+        || _request('webmestre') && _request('webmestre') !== 'non' && $prev['webmestre'] !== 'oui' // promotion webmestre
349
+    ) {
350
+        refuser_traiter_formulaire_ajax();
351
+        // si on arrive là encore en ajax c'est pas OK, on genere une erreur
352
+        if (_AJAX || !empty($_SERVER['HTTP_X_REQUESTED_WITH'])) {
353
+            return [
354
+                'message_erreur' => _T('erreur_technique_ajaxform')
355
+            ];
356
+        }
357
+    }
358
+
359
+    $id_objet = null;
360
+    $retour = parametre_url($retour, 'email_confirm', '');
361
+
362
+    if ($restreintes = _request('restreintes')) {
363
+        foreach ($restreintes as $k => $v) {
364
+            if (str_starts_with($v, 'rubrique|')) {
365
+                $restreintes[$k] = substr($v, 9);
366
+            }
367
+        }
368
+        set_request('restreintes', $restreintes);
369
+    }
370
+
371
+    set_request(
372
+        'email',
373
+        email_valide(_request('email'))
374
+    ); // eviter d'enregistrer les cas qui sont acceptés par email_valide dans le verifier :
375
+    // "[email protected]  " ou encore "Marie Toto <[email protected]>"
376
+
377
+    include_spip('inc/autoriser');
378
+    if (!autoriser('modifier', 'auteur', $id_auteur, null, ['email' => '?'])) {
379
+        $email_nouveau = _request('email');
380
+        set_request('email'); // vider la saisie car l'auteur n'a pas le droit de modifier cet email
381
+        // mais si c'est son propre profil on lui envoie un email à l'adresse qu'il a indique
382
+        // pour qu'il confirme qu'il possede bien cette adresse
383
+        // son clic sur l'url du message permettre de confirmer le changement
384
+        // et de revenir sur son profil
385
+        if (
386
+            $GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
387
+            && $email_nouveau != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur))
388
+        ) {
389
+            $envoyer_mail = charger_fonction('envoyer_mail', 'inc');
390
+            $texte = _T(
391
+                'form_auteur_mail_confirmation',
392
+                [
393
+                    'url' => generer_action_auteur(
394
+                        'confirmer_email',
395
+                        $email_nouveau,
396
+                        parametre_url($retour, 'email_modif', 'ok')
397
+                    )
398
+                ]
399
+            );
400
+            $envoyer_mail($email_nouveau, _T('form_auteur_confirmation'), $texte);
401
+            set_request('email_confirm', $email_nouveau);
402
+            if ($email_ancien) {
403
+                $envoyer_mail(
404
+                    $email_ancien,
405
+                    _T('form_auteur_confirmation'),
406
+                    _T('form_auteur_envoi_mail_confirmation', ['email' => $email_nouveau])
407
+                );
408
+            }
409
+            $retour = parametre_url($retour, 'email_confirm', $email_nouveau);
410
+        }
411
+    }
412
+
413
+    // Trafic de langue pour enregistrer la bonne
414
+    if ($langue = _request('langue')) {
415
+        set_request('lang', $langue);
416
+    }
417
+
418
+    $res = formulaires_editer_objet_traiter('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
419
+
420
+    if (_request('reset_password') && !(int) $id_auteur && (int) $res['id_auteur']) {
421
+        $erreurs = [];
422
+        $erreurs = auteur_reset_password($res['id_auteur'], $erreurs);
423
+        if (isset($erreurs['message_ok'])) {
424
+            if (!isset($res['message_ok'])) { $res['message_ok'] = '';
425
+            }
426
+            $res['message_ok'] = trim($res['message_ok'] . ' ' . $erreurs['message_ok']);
427
+        }
428
+        if (isset($erreurs['message_erreur']) && $erreurs['message_erreur']) {
429
+            if (!isset($res['message_erreur'])) { $res['message_erreur'] = '';
430
+            }
431
+            $res['message_erreur'] = trim($res['message_erreur'] . ' ' . $erreurs['message_erreur']);
432
+        }
433
+    }
434
+
435
+    // Un lien auteur a prendre en compte ?
436
+    if ($associer_objet && ($id_auteur = $res['id_auteur'])) {
437
+        $objet = '';
438
+        if ((int) $associer_objet) {
439
+            $objet = 'article';
440
+            $id_objet = (int) $associer_objet;
441
+        } elseif (preg_match(',^\w+\|\d+$,', $associer_objet)) {
442
+            [$objet, $id_objet] = explode('|', $associer_objet);
443
+        }
444
+        if ($objet && $id_objet && autoriser('modifier', $objet, $id_objet)) {
445
+            include_spip('action/editer_auteur');
446
+            auteur_associer($id_auteur, [$objet => $id_objet]);
447
+            if (isset($res['redirect'])) {
448
+                $res['redirect'] = parametre_url($res['redirect'], 'id_lien_ajoute', $id_auteur, '&');
449
+            }
450
+        }
451
+    }
452
+
453
+    return $res;
454 454
 }
455 455
 
456 456
 
457 457
 function auteur_reset_password($id_auteur, $erreurs = []) {
458
-	$auteur = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
459
-	$config = auteurs_edit_config($auteur);
460
-
461
-	if ($config['edit_pass']) {
462
-		if ($email = auteur_regenerer_identifiants($id_auteur)) {
463
-			$erreurs['message_ok'] = _T('message_nouveaux_identifiants_ok', ['email' => $email]);
464
-			$erreurs['message_erreur'] = '';
465
-		} elseif ($email === false) {
466
-			$erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec_envoi');
467
-		} else {
468
-			$erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec');
469
-		}
470
-	} else {
471
-		$erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec');
472
-	}
473
-
474
-	return $erreurs;
458
+    $auteur = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
459
+    $config = auteurs_edit_config($auteur);
460
+
461
+    if ($config['edit_pass']) {
462
+        if ($email = auteur_regenerer_identifiants($id_auteur)) {
463
+            $erreurs['message_ok'] = _T('message_nouveaux_identifiants_ok', ['email' => $email]);
464
+            $erreurs['message_erreur'] = '';
465
+        } elseif ($email === false) {
466
+            $erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec_envoi');
467
+        } else {
468
+            $erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec');
469
+        }
470
+    } else {
471
+        $erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec');
472
+    }
473
+
474
+    return $erreurs;
475 475
 }
476 476
 
477 477
 /**
@@ -482,50 +482,50 @@  discard block
 block discarded – undo
482 482
  * @return string
483 483
  */
484 484
 function auteur_regenerer_identifiants($id_auteur, $notifier = true, $contexte = []) {
485
-	if ($id_auteur) {
486
-		$set = [];
487
-		include_spip('inc/access');
488
-		$set['pass'] = creer_pass_aleatoire(max(_PASS_LONGUEUR_MINI, 16));
489
-
490
-		include_spip('action/editer_auteur');
491
-		auteur_modifier($id_auteur, $set);
492
-
493
-		$row = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
494
-		include_spip('inc/filtres');
495
-		if (
496
-			$notifier
497
-			&& $row['email']
498
-			&& email_valide($row['email'])
499
-			&& trouver_fond($fond = 'modeles/mail_nouveaux_identifiants')
500
-		) {
501
-			// envoyer l'email avec login/pass
502
-			$c = [
503
-				'id_auteur' => $id_auteur,
504
-				'nom' => $row['nom'],
505
-				'mode' => $row['statut'],
506
-				'email' => $row['email'],
507
-				'pass' => $set['pass'],
508
-			];
509
-			// on merge avec les champs fournit en appel, qui sont passes au modele de notification donc
510
-			$contexte = array_merge($contexte, $c);
511
-			// si pas de langue explicitement demandee, prendre celle de l'auteur si on la connait, ou a defaut celle du site
512
-			// plutot que celle de l'admin qui vient de cliquer sur le bouton
513
-			if (!isset($contexte['lang']) || !$contexte['lang']) {
514
-				$contexte['lang'] = isset($row['lang']) && $row['lang']
515
-					? $row['lang']
516
-					: $GLOBALS['meta']['langue_site'];
517
-			}
518
-			lang_select($contexte['lang']);
519
-			$message = recuperer_fond($fond, $contexte);
520
-			include_spip('inc/notifications');
521
-			notifications_envoyer_mails($row['email'], $message);
522
-			lang_select();
523
-
524
-			return $row['email'];
525
-		}
526
-
527
-		return false;
528
-	}
529
-
530
-	return '';
485
+    if ($id_auteur) {
486
+        $set = [];
487
+        include_spip('inc/access');
488
+        $set['pass'] = creer_pass_aleatoire(max(_PASS_LONGUEUR_MINI, 16));
489
+
490
+        include_spip('action/editer_auteur');
491
+        auteur_modifier($id_auteur, $set);
492
+
493
+        $row = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
494
+        include_spip('inc/filtres');
495
+        if (
496
+            $notifier
497
+            && $row['email']
498
+            && email_valide($row['email'])
499
+            && trouver_fond($fond = 'modeles/mail_nouveaux_identifiants')
500
+        ) {
501
+            // envoyer l'email avec login/pass
502
+            $c = [
503
+                'id_auteur' => $id_auteur,
504
+                'nom' => $row['nom'],
505
+                'mode' => $row['statut'],
506
+                'email' => $row['email'],
507
+                'pass' => $set['pass'],
508
+            ];
509
+            // on merge avec les champs fournit en appel, qui sont passes au modele de notification donc
510
+            $contexte = array_merge($contexte, $c);
511
+            // si pas de langue explicitement demandee, prendre celle de l'auteur si on la connait, ou a defaut celle du site
512
+            // plutot que celle de l'admin qui vient de cliquer sur le bouton
513
+            if (!isset($contexte['lang']) || !$contexte['lang']) {
514
+                $contexte['lang'] = isset($row['lang']) && $row['lang']
515
+                    ? $row['lang']
516
+                    : $GLOBALS['meta']['langue_site'];
517
+            }
518
+            lang_select($contexte['lang']);
519
+            $message = recuperer_fond($fond, $contexte);
520
+            include_spip('inc/notifications');
521
+            notifications_envoyer_mails($row['email'], $message);
522
+            lang_select();
523
+
524
+            return $row['email'];
525
+        }
526
+
527
+        return false;
528
+    }
529
+
530
+    return '';
531 531
 }
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -173,7 +173,7 @@  discard block
 block discarded – undo
173 173
 		unset($erreurs['new_login']);
174 174
 	}
175 175
 
176
-	$auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
176
+	$auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur='.(int) $id_auteur);
177 177
 	$auth_methode = ($auth_methode ?: 'spip');
178 178
 	include_spip('inc/auth');
179 179
 
@@ -189,7 +189,7 @@  discard block
 block discarded – undo
189 189
 			!autoriser('modifier', 'auteur', $id_auteur, null, ['email' => '?'])
190 190
 			&& $GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
191 191
 			&& !strlen(trim($email))
192
-			&& $email != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur))
192
+			&& $email != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur='.(int) $id_auteur))
193 193
 		) {
194 194
 			$erreurs['email'] = (($id_auteur == $GLOBALS['visiteur_session']['id_auteur']) ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'));
195 195
 		} else {
@@ -204,7 +204,7 @@  discard block
 block discarded – undo
204 204
 			#Nouvel auteur
205 205
 			if ((int) $id_auteur == 0) {
206 206
 				#Un auteur existe deja avec cette adresse ?
207
-				if (sql_countsel('spip_auteurs', 'email=' . sql_quote($email)) > 0) {
207
+				if (sql_countsel('spip_auteurs', 'email='.sql_quote($email)) > 0) {
208 208
 					$erreurs['email'] = _T('erreur_email_deja_existant');
209 209
 				}
210 210
 			} else {
@@ -212,12 +212,12 @@  discard block
 block discarded – undo
212 212
 				if (
213 213
 					sql_countsel(
214 214
 						'spip_auteurs',
215
-						'email=' . sql_quote($email)
215
+						'email='.sql_quote($email)
216 216
 					) > 0
217 217
 					&& $id_auteur != ($id_auteur_ancien = sql_getfetsel(
218 218
 						'id_auteur',
219 219
 						'spip_auteurs',
220
-						'email=' . sql_quote($email)
220
+						'email='.sql_quote($email)
221 221
 					))
222 222
 				) {
223 223
 					$erreurs['email'] = _T('erreur_email_deja_existant');
@@ -238,7 +238,7 @@  discard block
 block discarded – undo
238 238
 		&& (!str_contains($url, ':')
239 239
 		&& strncasecmp($url, 'www.', 4) === 0)
240 240
 	) {
241
-		$url = 'http://' . $url;
241
+		$url = 'http://'.$url;
242 242
 		set_request('url_site', $url);
243 243
 	}
244 244
 	// traiter les liens implicites avant de tester l'url
@@ -253,11 +253,11 @@  discard block
 block discarded – undo
253 253
 		$erreurs['login'] = _T('info_non_modifiable');
254 254
 	}
255 255
 	elseif (
256
-		($login = _request('new_login')) && $login !== sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur)
256
+		($login = _request('new_login')) && $login !== sql_getfetsel('login', 'spip_auteurs', 'id_auteur='.(int) $id_auteur)
257 257
 	) {
258 258
 		// on verifie la meme chose que dans auteurs_edit_config()
259 259
 		if (
260
-			! auth_autoriser_modifier_login($auth_methode)
260
+			!auth_autoriser_modifier_login($auth_methode)
261 261
 			|| !autoriser('modifier', 'auteur', (int) $id_auteur, null, ['login' => true])
262 262
 			// legacy : ne pas risquer d'autoriser la modif login si fonction d'autorisation pas mise a jour et ne teste que l'option email
263 263
 			|| !autoriser('modifier', 'auteur', (int) $id_auteur, null, ['email' => true])
@@ -384,7 +384,7 @@  discard block
 block discarded – undo
384 384
 		// et de revenir sur son profil
385 385
 		if (
386 386
 			$GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
387
-			&& $email_nouveau != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur))
387
+			&& $email_nouveau != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur='.(int) $id_auteur))
388 388
 		) {
389 389
 			$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
390 390
 			$texte = _T(
@@ -423,12 +423,12 @@  discard block
 block discarded – undo
423 423
 		if (isset($erreurs['message_ok'])) {
424 424
 			if (!isset($res['message_ok'])) { $res['message_ok'] = '';
425 425
 			}
426
-			$res['message_ok'] = trim($res['message_ok'] . ' ' . $erreurs['message_ok']);
426
+			$res['message_ok'] = trim($res['message_ok'].' '.$erreurs['message_ok']);
427 427
 		}
428 428
 		if (isset($erreurs['message_erreur']) && $erreurs['message_erreur']) {
429 429
 			if (!isset($res['message_erreur'])) { $res['message_erreur'] = '';
430 430
 			}
431
-			$res['message_erreur'] = trim($res['message_erreur'] . ' ' . $erreurs['message_erreur']);
431
+			$res['message_erreur'] = trim($res['message_erreur'].' '.$erreurs['message_erreur']);
432 432
 		}
433 433
 	}
434 434
 
@@ -455,7 +455,7 @@  discard block
 block discarded – undo
455 455
 
456 456
 
457 457
 function auteur_reset_password($id_auteur, $erreurs = []) {
458
-	$auteur = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
458
+	$auteur = sql_fetsel('*', 'spip_auteurs', 'id_auteur='.(int) $id_auteur);
459 459
 	$config = auteurs_edit_config($auteur);
460 460
 
461 461
 	if ($config['edit_pass']) {
@@ -490,7 +490,7 @@  discard block
 block discarded – undo
490 490
 		include_spip('action/editer_auteur');
491 491
 		auteur_modifier($id_auteur, $set);
492 492
 
493
-		$row = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
493
+		$row = sql_fetsel('*', 'spip_auteurs', 'id_auteur='.(int) $id_auteur);
494 494
 		include_spip('inc/filtres');
495 495
 		if (
496 496
 			$notifier
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -251,8 +251,7 @@
 block discarded – undo
251 251
 	if (_request('login')) {
252 252
 		// on n'est jamais cense poster le name 'login'
253 253
 		$erreurs['login'] = _T('info_non_modifiable');
254
-	}
255
-	elseif (
254
+	} elseif (
256 255
 		($login = _request('new_login')) && $login !== sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur)
257 256
 	) {
258 257
 		// on verifie la meme chose que dans auteurs_edit_config()
Please login to merge, or discard this patch.
prive/formulaires/configurer_visiteurs.php 1 patch
Indentation   +39 added lines, -39 removed lines patch added patch discarded remove patch
@@ -10,51 +10,51 @@
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 include_spip('inc/presentation');
16 16
 
17 17
 function formulaires_configurer_visiteurs_charger_dist() {
18
-	$valeurs = [];
19
-	if (avoir_visiteurs(false, false)) {
20
-		$valeurs['editable'] = false;
21
-	}
22
-
23
-	foreach (
24
-		[
25
-			'accepter_visiteurs'
26
-		] as $m
27
-	) {
28
-		$valeurs[$m] = $GLOBALS['meta'][$m];
29
-	}
30
-
31
-	return $valeurs;
18
+    $valeurs = [];
19
+    if (avoir_visiteurs(false, false)) {
20
+        $valeurs['editable'] = false;
21
+    }
22
+
23
+    foreach (
24
+        [
25
+            'accepter_visiteurs'
26
+        ] as $m
27
+    ) {
28
+        $valeurs[$m] = $GLOBALS['meta'][$m];
29
+    }
30
+
31
+    return $valeurs;
32 32
 }
33 33
 
34 34
 
35 35
 function formulaires_configurer_visiteurs_traiter_dist() {
36
-	$res = ['editable' => true];
37
-	// Modification du reglage accepter_inscriptions => vider le cache
38
-	// (pour repercuter la modif sur le panneau de login)
39
-	if (
40
-		(($i = _request('accepter_visiteurs'))
41
-		&& $i != $GLOBALS['meta']['accepter_visiteurs'])
42
-	) {
43
-		include_spip('inc/invalideur');
44
-		suivre_invalideur('1'); # tout effacer
45
-	}
46
-
47
-	foreach (
48
-		[
49
-			'accepter_visiteurs',
50
-		] as $m
51
-	) {
52
-		if (!is_null($v = _request($m))) {
53
-			ecrire_meta($m, $v == 'oui' ? 'oui' : 'non');
54
-		}
55
-	}
56
-
57
-	$res['message_ok'] = _T('config_info_enregistree');
58
-
59
-	return $res;
36
+    $res = ['editable' => true];
37
+    // Modification du reglage accepter_inscriptions => vider le cache
38
+    // (pour repercuter la modif sur le panneau de login)
39
+    if (
40
+        (($i = _request('accepter_visiteurs'))
41
+        && $i != $GLOBALS['meta']['accepter_visiteurs'])
42
+    ) {
43
+        include_spip('inc/invalideur');
44
+        suivre_invalideur('1'); # tout effacer
45
+    }
46
+
47
+    foreach (
48
+        [
49
+            'accepter_visiteurs',
50
+        ] as $m
51
+    ) {
52
+        if (!is_null($v = _request($m))) {
53
+            ecrire_meta($m, $v == 'oui' ? 'oui' : 'non');
54
+        }
55
+    }
56
+
57
+    $res['message_ok'] = _T('config_info_enregistree');
58
+
59
+    return $res;
60 60
 }
Please login to merge, or discard this patch.
prive/formulaires/recherche_ecrire.php 1 patch
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -32,15 +32,15 @@  discard block
 block discarded – undo
32 32
  * @return array Environnement du formulaire
33 33
  **/
34 34
 function formulaires_recherche_ecrire_charger_dist($action = '', $class = '') {
35
-	$lang = $GLOBALS['spip_lang'] != $GLOBALS['meta']['langue_site'] ? $GLOBALS['spip_lang'] : '';
35
+    $lang = $GLOBALS['spip_lang'] != $GLOBALS['meta']['langue_site'] ? $GLOBALS['spip_lang'] : '';
36 36
 
37
-	return
38
-		[
39
-			'action' => ($action ?: generer_url_ecrire('recherche')),
40
-			# action specifique, ne passe pas par Verifier, ni Traiter
41
-			'recherche' => _request('recherche'),
42
-			'lang' => $lang,
43
-			'class' => $class,
44
-			'_id_champ' => 'rechercher_' . substr(md5($action . $class), 0, 4),
45
-		];
37
+    return
38
+        [
39
+            'action' => ($action ?: generer_url_ecrire('recherche')),
40
+            # action specifique, ne passe pas par Verifier, ni Traiter
41
+            'recherche' => _request('recherche'),
42
+            'lang' => $lang,
43
+            'class' => $class,
44
+            '_id_champ' => 'rechercher_' . substr(md5($action . $class), 0, 4),
45
+        ];
46 46
 }
Please login to merge, or discard this patch.
prive/formulaires/configurer_preferences_menus.php 1 patch
Indentation   +30 added lines, -30 removed lines patch added patch discarded remove patch
@@ -29,13 +29,13 @@  discard block
 block discarded – undo
29 29
  *     Environnement du formulaire
30 30
  **/
31 31
 function formulaires_configurer_preferences_menus_charger_dist() {
32
-	// travailler sur des meta fraîches
33
-	include_spip('inc/meta');
34
-	lire_metas();
35
-	$valeurs = [];
36
-	$valeurs['activer_menudev'] = table_valeur($GLOBALS['visiteur_session'], 'prefs/activer_menudev', 'non');
37
-	$valeurs['menus_favoris'] = obtenir_menus_favoris();
38
-	return $valeurs;
32
+    // travailler sur des meta fraîches
33
+    include_spip('inc/meta');
34
+    lire_metas();
35
+    $valeurs = [];
36
+    $valeurs['activer_menudev'] = table_valeur($GLOBALS['visiteur_session'], 'prefs/activer_menudev', 'non');
37
+    $valeurs['menus_favoris'] = obtenir_menus_favoris();
38
+    return $valeurs;
39 39
 }
40 40
 
41 41
 /**
@@ -46,32 +46,32 @@  discard block
 block discarded – undo
46 46
  **/
47 47
 function formulaires_configurer_preferences_menus_traiter_dist() {
48 48
 
49
-	$activer_menudev = _request('activer_menudev');
50
-	$menus_favoris = _request('menus_favoris');
51
-	$menus_favoris = array_filter($menus_favoris);
52
-	$menus_favoris = array_map('intval', $menus_favoris);
49
+    $activer_menudev = _request('activer_menudev');
50
+    $menus_favoris = _request('menus_favoris');
51
+    $menus_favoris = array_filter($menus_favoris);
52
+    $menus_favoris = array_map('intval', $menus_favoris);
53 53
 
54
-	if (_request('reset')) {
55
-		$menus_favoris = [];
56
-		set_request('menus_favoris', null);
57
-	}
54
+    if (_request('reset')) {
55
+        $menus_favoris = [];
56
+        set_request('menus_favoris', null);
57
+    }
58 58
 
59
-	// si le menu dev change, ou les menus favoris, on recharge toute la page.
60
-	if (
61
-		table_valeur($GLOBALS['visiteur_session'], 'prefs/activer_menudev') != $activer_menudev
62
-		|| $menus_favoris != obtenir_menus_favoris()
63
-	) {
64
-		refuser_traiter_formulaire_ajax();
59
+    // si le menu dev change, ou les menus favoris, on recharge toute la page.
60
+    if (
61
+        table_valeur($GLOBALS['visiteur_session'], 'prefs/activer_menudev') != $activer_menudev
62
+        || $menus_favoris != obtenir_menus_favoris()
63
+    ) {
64
+        refuser_traiter_formulaire_ajax();
65 65
 
66
-		$GLOBALS['visiteur_session']['prefs']['activer_menudev'] = $activer_menudev;
67
-		$GLOBALS['visiteur_session']['prefs']['menus_favoris'] = $menus_favoris;
66
+        $GLOBALS['visiteur_session']['prefs']['activer_menudev'] = $activer_menudev;
67
+        $GLOBALS['visiteur_session']['prefs']['menus_favoris'] = $menus_favoris;
68 68
 
69
-		if ((int) $GLOBALS['visiteur_session']['id_auteur']) {
70
-			include_spip('action/editer_auteur');
71
-			$c = ['prefs' => serialize($GLOBALS['visiteur_session']['prefs'])];
72
-			auteur_modifier($GLOBALS['visiteur_session']['id_auteur'], $c);
73
-		}
74
-	}
69
+        if ((int) $GLOBALS['visiteur_session']['id_auteur']) {
70
+            include_spip('action/editer_auteur');
71
+            $c = ['prefs' => serialize($GLOBALS['visiteur_session']['prefs'])];
72
+            auteur_modifier($GLOBALS['visiteur_session']['id_auteur'], $c);
73
+        }
74
+    }
75 75
 
76
-	return ['message_ok' => _T('config_info_enregistree'), 'editable' => true];
76
+    return ['message_ok' => _T('config_info_enregistree'), 'editable' => true];
77 77
 }
Please login to merge, or discard this patch.
prive/formulaires/mot_de_passe.php 3 patches
Indentation   +131 added lines, -131 removed lines patch added patch discarded remove patch
@@ -10,31 +10,31 @@  discard block
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 include_spip('base/abstract_sql');
17 17
 
18 18
 function retrouve_auteur($id_auteur, $jeton = '') {
19
-	if ($id_auteur = (int) $id_auteur) {
20
-		return sql_fetsel(
21
-			'*',
22
-			'spip_auteurs',
23
-			['id_auteur=' . (int) $id_auteur, "statut<>'5poubelle'", "pass<>''", "login<>''"]
24
-		);
25
-	} elseif ($jeton) {
26
-		include_spip('action/inscrire_auteur');
27
-		if (
28
-			($auteur = auteur_verifier_jeton($jeton))
29
-			&& $auteur['statut'] != '5poubelle'
30
-			&& $auteur['pass'] != ''
31
-			&& $auteur['login'] != ''
32
-		) {
33
-			return $auteur;
34
-		}
35
-	}
36
-
37
-	return false;
19
+    if ($id_auteur = (int) $id_auteur) {
20
+        return sql_fetsel(
21
+            '*',
22
+            'spip_auteurs',
23
+            ['id_auteur=' . (int) $id_auteur, "statut<>'5poubelle'", "pass<>''", "login<>''"]
24
+        );
25
+    } elseif ($jeton) {
26
+        include_spip('action/inscrire_auteur');
27
+        if (
28
+            ($auteur = auteur_verifier_jeton($jeton))
29
+            && $auteur['statut'] != '5poubelle'
30
+            && $auteur['pass'] != ''
31
+            && $auteur['login'] != ''
32
+        ) {
33
+            return $auteur;
34
+        }
35
+    }
36
+
37
+    return false;
38 38
 }
39 39
 
40 40
 // chargement des valeurs par defaut des champs du formulaire
@@ -49,30 +49,30 @@  discard block
 block discarded – undo
49 49
  */
50 50
 function formulaires_mot_de_passe_charger_dist($id_auteur = null, $jeton = null) {
51 51
 
52
-	$valeurs = [];
53
-	// compatibilite anciens appels du formulaire
54
-	if (is_null($jeton)) {
55
-		$jeton = _request('p');
56
-	}
57
-	$auteur = retrouve_auteur($id_auteur, $jeton);
58
-
59
-	if ($auteur) {
60
-		$valeurs['id_auteur'] = $id_auteur; // a toutes fins utiles pour le formulaire
61
-		if ($jeton) {
62
-			$valeurs['_hidden'] = '<input type="hidden" name="p" value="' . $jeton . '" />';
63
-		}
64
-	} else {
65
-		$valeurs['message_erreur'] = _T('pass_erreur_code_inconnu');
66
-		$valeurs['editable'] = false; // pas de saisie
67
-	}
68
-	$valeurs['oubli'] = '';
69
-	// le champ login n'est pas utilise, mais il est destine aux navigateurs smarts
70
-	// qui veulent remplir le formulaire avec login/mot de passe
71
-	// et qui sinon remplissent le champ nobot (autocomplete=off n'est pas une option, certains navigateurs l'ignorant)
72
-	$valeurs['login'] = '';
73
-	$valeurs['nobot'] = '';
74
-
75
-	return $valeurs;
52
+    $valeurs = [];
53
+    // compatibilite anciens appels du formulaire
54
+    if (is_null($jeton)) {
55
+        $jeton = _request('p');
56
+    }
57
+    $auteur = retrouve_auteur($id_auteur, $jeton);
58
+
59
+    if ($auteur) {
60
+        $valeurs['id_auteur'] = $id_auteur; // a toutes fins utiles pour le formulaire
61
+        if ($jeton) {
62
+            $valeurs['_hidden'] = '<input type="hidden" name="p" value="' . $jeton . '" />';
63
+        }
64
+    } else {
65
+        $valeurs['message_erreur'] = _T('pass_erreur_code_inconnu');
66
+        $valeurs['editable'] = false; // pas de saisie
67
+    }
68
+    $valeurs['oubli'] = '';
69
+    // le champ login n'est pas utilise, mais il est destine aux navigateurs smarts
70
+    // qui veulent remplir le formulaire avec login/mot de passe
71
+    // et qui sinon remplissent le champ nobot (autocomplete=off n'est pas une option, certains navigateurs l'ignorant)
72
+    $valeurs['login'] = '';
73
+    $valeurs['nobot'] = '';
74
+
75
+    return $valeurs;
76 76
 }
77 77
 
78 78
 /**
@@ -83,36 +83,36 @@  discard block
 block discarded – undo
83 83
  * @param int $id_auteur
84 84
  */
85 85
 function formulaires_mot_de_passe_verifier_dist($id_auteur = null, $jeton = null) {
86
-	$erreurs = [];
87
-	if (!_request('oubli')) {
88
-		$erreurs['oubli'] = _T('info_obligatoire');
89
-	} else {
90
-		if (strlen($p = _request('oubli')) < _PASS_LONGUEUR_MINI) {
91
-			$erreurs['oubli'] = _T('info_passe_trop_court_car_pluriel', ['nb' => _PASS_LONGUEUR_MINI]);
92
-		} else {
93
-			if (!is_null($c = _request('oubli_confirm'))) {
94
-				if (!$c) {
95
-					$erreurs['oubli_confirm'] = _T('info_obligatoire');
96
-				} elseif ($c !== $p) {
97
-					$erreurs['oubli'] = _T('info_passes_identiques');
98
-				}
99
-			}
100
-		}
101
-	}
102
-	if (isset($erreurs['oubli'])) {
103
-		set_request('oubli');
104
-		set_request('oubli_confirm');
105
-	}
106
-
107
-	if (_request('nobot')) {
108
-		$erreurs['message_erreur'] = _T('pass_rien_a_faire_ici');
109
-	}
110
-	// precaution
111
-	if (_request('login')) {
112
-		set_request('login');
113
-	}
114
-
115
-	return $erreurs;
86
+    $erreurs = [];
87
+    if (!_request('oubli')) {
88
+        $erreurs['oubli'] = _T('info_obligatoire');
89
+    } else {
90
+        if (strlen($p = _request('oubli')) < _PASS_LONGUEUR_MINI) {
91
+            $erreurs['oubli'] = _T('info_passe_trop_court_car_pluriel', ['nb' => _PASS_LONGUEUR_MINI]);
92
+        } else {
93
+            if (!is_null($c = _request('oubli_confirm'))) {
94
+                if (!$c) {
95
+                    $erreurs['oubli_confirm'] = _T('info_obligatoire');
96
+                } elseif ($c !== $p) {
97
+                    $erreurs['oubli'] = _T('info_passes_identiques');
98
+                }
99
+            }
100
+        }
101
+    }
102
+    if (isset($erreurs['oubli'])) {
103
+        set_request('oubli');
104
+        set_request('oubli_confirm');
105
+    }
106
+
107
+    if (_request('nobot')) {
108
+        $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici');
109
+    }
110
+    // precaution
111
+    if (_request('login')) {
112
+        set_request('login');
113
+    }
114
+
115
+    return $erreurs;
116 116
 }
117 117
 
118 118
 /**
@@ -122,61 +122,61 @@  discard block
 block discarded – undo
122 122
  * @param int $id_auteur
123 123
  */
124 124
 function formulaires_mot_de_passe_traiter_dist($id_auteur = null, $jeton = null) {
125
-	$res = ['message_ok' => ''];
126
-	refuser_traiter_formulaire_ajax(); // puisqu'on va loger l'auteur a la volee (c'est bonus)
127
-
128
-	// compatibilite anciens appels du formulaire
129
-	if (is_null($jeton)) {
130
-		$jeton = _request('p');
131
-	}
132
-	$row = retrouve_auteur($id_auteur, $jeton);
133
-
134
-	if (
135
-		$row
136
-		&& ($id_auteur = $row['id_auteur'])
137
-		&& ($oubli = _request('oubli'))
138
-	) {
139
-		include_spip('action/editer_auteur');
140
-		include_spip('action/inscrire_auteur');
141
-		if ($err = auteur_modifier($id_auteur, ['pass' => $oubli])) {
142
-			$res = ['message_erreur' => $err];
143
-		} else {
144
-			auteur_effacer_jeton($id_auteur);
145
-
146
-			// Par défaut, on rappelle de s'identifier avec son email s'il existe
147
-			// et qu'il n'est PAS utilisé par quelqu'un d'autre
148
-			if (
149
-				$row['email'] && !sql_fetsel(
150
-					'id_auteur',
151
-					'spip_auteurs',
152
-					[
153
-						'(email=' . sql_quote($row['email']) . ' or login=' . sql_quote($row['email']) . ')',
154
-						'id_auteur != ' . $id_auteur
155
-					],
156
-					'',
157
-					'',
158
-					'0,1'
159
-				)
160
-			) {
161
-				$identifiant = $row['email'];
162
-			}
163
-			// Sinon on dit d'utiliser le login
164
-			else {
165
-				$identifiant = $row['login'];
166
-			}
167
-			$res['message_ok'] = '<b>' . _T('pass_nouveau_enregistre') . '</b>' .
168
-				'<br />' . _T('pass_rappel_login', ['login' => $identifiant]);
169
-
170
-			include_spip('inc/auth');
171
-			$auth = auth_identifier_login($row['login'], $oubli);
172
-			if (!is_array($auth)) {
173
-				spip_log('Erreur identification ' . $row['login'] . " après changement de mot de passe: $auth", _LOG_ERREUR);
174
-			}
175
-			elseif ($auth['id_auteur'] == $id_auteur) {
176
-				auth_loger($auth);
177
-			}
178
-		}
179
-	}
180
-
181
-	return $res;
125
+    $res = ['message_ok' => ''];
126
+    refuser_traiter_formulaire_ajax(); // puisqu'on va loger l'auteur a la volee (c'est bonus)
127
+
128
+    // compatibilite anciens appels du formulaire
129
+    if (is_null($jeton)) {
130
+        $jeton = _request('p');
131
+    }
132
+    $row = retrouve_auteur($id_auteur, $jeton);
133
+
134
+    if (
135
+        $row
136
+        && ($id_auteur = $row['id_auteur'])
137
+        && ($oubli = _request('oubli'))
138
+    ) {
139
+        include_spip('action/editer_auteur');
140
+        include_spip('action/inscrire_auteur');
141
+        if ($err = auteur_modifier($id_auteur, ['pass' => $oubli])) {
142
+            $res = ['message_erreur' => $err];
143
+        } else {
144
+            auteur_effacer_jeton($id_auteur);
145
+
146
+            // Par défaut, on rappelle de s'identifier avec son email s'il existe
147
+            // et qu'il n'est PAS utilisé par quelqu'un d'autre
148
+            if (
149
+                $row['email'] && !sql_fetsel(
150
+                    'id_auteur',
151
+                    'spip_auteurs',
152
+                    [
153
+                        '(email=' . sql_quote($row['email']) . ' or login=' . sql_quote($row['email']) . ')',
154
+                        'id_auteur != ' . $id_auteur
155
+                    ],
156
+                    '',
157
+                    '',
158
+                    '0,1'
159
+                )
160
+            ) {
161
+                $identifiant = $row['email'];
162
+            }
163
+            // Sinon on dit d'utiliser le login
164
+            else {
165
+                $identifiant = $row['login'];
166
+            }
167
+            $res['message_ok'] = '<b>' . _T('pass_nouveau_enregistre') . '</b>' .
168
+                '<br />' . _T('pass_rappel_login', ['login' => $identifiant]);
169
+
170
+            include_spip('inc/auth');
171
+            $auth = auth_identifier_login($row['login'], $oubli);
172
+            if (!is_array($auth)) {
173
+                spip_log('Erreur identification ' . $row['login'] . " après changement de mot de passe: $auth", _LOG_ERREUR);
174
+            }
175
+            elseif ($auth['id_auteur'] == $id_auteur) {
176
+                auth_loger($auth);
177
+            }
178
+        }
179
+    }
180
+
181
+    return $res;
182 182
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -20,7 +20,7 @@  discard block
 block discarded – undo
20 20
 		return sql_fetsel(
21 21
 			'*',
22 22
 			'spip_auteurs',
23
-			['id_auteur=' . (int) $id_auteur, "statut<>'5poubelle'", "pass<>''", "login<>''"]
23
+			['id_auteur='.(int) $id_auteur, "statut<>'5poubelle'", "pass<>''", "login<>''"]
24 24
 		);
25 25
 	} elseif ($jeton) {
26 26
 		include_spip('action/inscrire_auteur');
@@ -59,7 +59,7 @@  discard block
 block discarded – undo
59 59
 	if ($auteur) {
60 60
 		$valeurs['id_auteur'] = $id_auteur; // a toutes fins utiles pour le formulaire
61 61
 		if ($jeton) {
62
-			$valeurs['_hidden'] = '<input type="hidden" name="p" value="' . $jeton . '" />';
62
+			$valeurs['_hidden'] = '<input type="hidden" name="p" value="'.$jeton.'" />';
63 63
 		}
64 64
 	} else {
65 65
 		$valeurs['message_erreur'] = _T('pass_erreur_code_inconnu');
@@ -150,8 +150,8 @@  discard block
 block discarded – undo
150 150
 					'id_auteur',
151 151
 					'spip_auteurs',
152 152
 					[
153
-						'(email=' . sql_quote($row['email']) . ' or login=' . sql_quote($row['email']) . ')',
154
-						'id_auteur != ' . $id_auteur
153
+						'(email='.sql_quote($row['email']).' or login='.sql_quote($row['email']).')',
154
+						'id_auteur != '.$id_auteur
155 155
 					],
156 156
 					'',
157 157
 					'',
@@ -164,13 +164,13 @@  discard block
 block discarded – undo
164 164
 			else {
165 165
 				$identifiant = $row['login'];
166 166
 			}
167
-			$res['message_ok'] = '<b>' . _T('pass_nouveau_enregistre') . '</b>' .
168
-				'<br />' . _T('pass_rappel_login', ['login' => $identifiant]);
167
+			$res['message_ok'] = '<b>'._T('pass_nouveau_enregistre').'</b>'.
168
+				'<br />'._T('pass_rappel_login', ['login' => $identifiant]);
169 169
 
170 170
 			include_spip('inc/auth');
171 171
 			$auth = auth_identifier_login($row['login'], $oubli);
172 172
 			if (!is_array($auth)) {
173
-				spip_log('Erreur identification ' . $row['login'] . " après changement de mot de passe: $auth", _LOG_ERREUR);
173
+				spip_log('Erreur identification '.$row['login']." après changement de mot de passe: $auth", _LOG_ERREUR);
174 174
 			}
175 175
 			elseif ($auth['id_auteur'] == $id_auteur) {
176 176
 				auth_loger($auth);
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -171,8 +171,7 @@
 block discarded – undo
171 171
 			$auth = auth_identifier_login($row['login'], $oubli);
172 172
 			if (!is_array($auth)) {
173 173
 				spip_log('Erreur identification ' . $row['login'] . " après changement de mot de passe: $auth", _LOG_ERREUR);
174
-			}
175
-			elseif ($auth['id_auteur'] == $id_auteur) {
174
+			} elseif ($auth['id_auteur'] == $id_auteur) {
176 175
 				auth_loger($auth);
177 176
 			}
178 177
 		}
Please login to merge, or discard this patch.
prive/formulaires/login.php 2 patches
Indentation   +247 added lines, -247 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 include_spip('base/abstract_sql');
@@ -30,11 +30,11 @@  discard block
 block discarded – undo
30 30
  *     true si espace privé, false sinon.
31 31
  **/
32 32
 function is_url_prive($cible) {
33
-	include_spip('inc/filtres_mini');
34
-	$path = parse_url(tester_url_absolue($cible) ? $cible : url_absolue($cible));
35
-	$path = ($path['path'] ?? '');
33
+    include_spip('inc/filtres_mini');
34
+    $path = parse_url(tester_url_absolue($cible) ? $cible : url_absolue($cible));
35
+    $path = ($path['path'] ?? '');
36 36
 
37
-	return str_starts_with(substr($path, -strlen(_DIR_RESTREINT_ABS)), _DIR_RESTREINT_ABS);
37
+    return str_starts_with(substr($path, -strlen(_DIR_RESTREINT_ABS)), _DIR_RESTREINT_ABS);
38 38
 }
39 39
 
40 40
 /**
@@ -59,110 +59,110 @@  discard block
 block discarded – undo
59 59
  *     Environnement du formulaire
60 60
  **/
61 61
 function formulaires_login_charger_dist($cible = '', $options = [], $deprecated = null) {
62
-	$erreur = _request('var_erreur');
63
-
64
-	if (!is_array($options)) {
65
-		$options = [
66
-			'login' => $options,
67
-			'prive' => $deprecated
68
-		];
69
-	}
70
-
71
-	$login = (empty($options['login']) ? '' : $options['login']);
72
-	$prive = (empty($options['prive']) ? null : $options['prive']);
73
-	// conserver le fonctionnement historique
74
-	if (!isset($options['autofocus'])) {
75
-		$options['autofocus'] = true;
76
-	}
77
-
78
-	if (!$login) {
79
-		$login = (string) _request('var_login');
80
-	}
81
-	// si on est deja identifie
82
-	if (!$login && isset($GLOBALS['visiteur_session']['email'])) {
83
-		$login = $GLOBALS['visiteur_session']['email'];
84
-	}
85
-	if (!$login && isset($GLOBALS['visiteur_session']['login'])) {
86
-		$login = $GLOBALS['visiteur_session']['login'];
87
-	}
88
-	// ou si on a un cookie admin
89
-	if (
90
-		!$login
91
-		&& isset($_COOKIE['spip_admin'])
92
-		&& preg_match(',^@(.*)$,', $_COOKIE['spip_admin'], $regs)
93
-	) {
94
-		$login = $regs[1];
95
-	}
96
-
97
-	$lang = $GLOBALS['spip_lang'];
98
-	include_spip('inc/auth');
99
-	$row = auth_informer_login($login);
100
-
101
-	// retablir la langue de l'URL si forcee (on ignore la langue de l'auteur dans ce cas)
102
-	if (_request('lang') === $lang && $GLOBALS['spip_lang'] !== $lang) {
103
-		changer_langue($lang);
104
-	}
105
-
106
-	// Construire l'environnement du squelette
107
-	// Ne pas proposer de "rester connecte quelques jours"
108
-	// si la duree de l'alea est inferieure a 12 h (valeur par defaut)
109
-
110
-	$valeurs = [
111
-		'var_login' => $login,
112
-		'editable' => !$row,
113
-		'cnx' => $row['cnx'] ?? '0',
114
-		'auth_http' => login_auth_http(),
115
-		'rester_connecte' => ((_RENOUVELLE_ALEA < 12 * 3600) ? '' : ' '),
116
-		'_logo' => $row['logo'] ?? '',
117
-		'_alea_actuel' => $row['alea_actuel'] ?? '',
118
-		'_alea_futur' => $row['alea_futur'] ?? '',
119
-		'_pipeline' => 'affiche_formulaire_login', // faire passer le formulaire dans un pipe dedie pour les methodes auth
120
-		'_autofocus' => ($options['autofocus'] && $options['autofocus'] !== 'non') ? ' ' : '',
121
-	];
122
-
123
-	if ($erreur || !isset($GLOBALS['visiteur_session']['id_auteur']) || !$GLOBALS['visiteur_session']['id_auteur']) {
124
-		$valeurs['editable'] = true;
125
-	}
126
-
127
-	if (is_null($prive) ? is_url_prive($cible) : $prive) {
128
-		include_spip('inc/autoriser');
129
-		$loge = autoriser('ecrire');
130
-	} else {
131
-		$loge = (isset($GLOBALS['visiteur_session']['auth']) && $GLOBALS['visiteur_session']['auth'] != '');
132
-	}
133
-
134
-	// Si on est connecte, appeler traiter()
135
-	// et lancer la redirection si besoin
136
-	if (!$valeurs['editable'] && $loge && _request('formulaire_action') !== 'login') {
137
-		$traiter = charger_fonction('traiter', 'formulaires/login');
138
-		$res = $traiter($cible, $login, $prive);
139
-		$valeurs = array_merge($valeurs, $res);
140
-
141
-		if (isset($res['redirect']) && $res['redirect']) {
142
-			include_spip('inc/headers');
143
-			# preparer un lien pour quand redirige_formulaire ne fonctionne pas
144
-			$m = redirige_formulaire($res['redirect']);
145
-			$valeurs['_deja_loge'] = inserer_attribut(
146
-				'<a>' . _T('login_par_ici') . "</a>$m",
147
-				'href',
148
-				$res['redirect']
149
-			);
150
-		}
151
-	}
152
-	// en cas d'echec de cookie, inc_auth a renvoye vers le script de
153
-	// pose de cookie ; s'il n'est pas la, c'est echec cookie
154
-	// s'il est la, c'est probablement un bookmark sur bonjour=oui,
155
-	// et pas un echec cookie.
156
-	if ($erreur == 'cookie') {
157
-		$valeurs['echec_cookie'] = ' ';
158
-	} elseif ($erreur) {
159
-		// une erreur d'un SSO indique dans la redirection vers ici
160
-		// mais il faut se proteger de toute tentative d'injection malveilante
161
-		include_spip('inc/filtres');
162
-		$valeurs['message_erreur'] = textebrut($erreur);
163
-	}
164
-
165
-	return $valeurs;
62
+    $erreur = _request('var_erreur');
63
+
64
+    if (!is_array($options)) {
65
+        $options = [
66
+            'login' => $options,
67
+            'prive' => $deprecated
68
+        ];
69
+    }
70
+
71
+    $login = (empty($options['login']) ? '' : $options['login']);
72
+    $prive = (empty($options['prive']) ? null : $options['prive']);
73
+    // conserver le fonctionnement historique
74
+    if (!isset($options['autofocus'])) {
75
+        $options['autofocus'] = true;
76
+    }
77
+
78
+    if (!$login) {
79
+        $login = (string) _request('var_login');
80
+    }
81
+    // si on est deja identifie
82
+    if (!$login && isset($GLOBALS['visiteur_session']['email'])) {
83
+        $login = $GLOBALS['visiteur_session']['email'];
84
+    }
85
+    if (!$login && isset($GLOBALS['visiteur_session']['login'])) {
86
+        $login = $GLOBALS['visiteur_session']['login'];
87
+    }
88
+    // ou si on a un cookie admin
89
+    if (
90
+        !$login
91
+        && isset($_COOKIE['spip_admin'])
92
+        && preg_match(',^@(.*)$,', $_COOKIE['spip_admin'], $regs)
93
+    ) {
94
+        $login = $regs[1];
95
+    }
96
+
97
+    $lang = $GLOBALS['spip_lang'];
98
+    include_spip('inc/auth');
99
+    $row = auth_informer_login($login);
100
+
101
+    // retablir la langue de l'URL si forcee (on ignore la langue de l'auteur dans ce cas)
102
+    if (_request('lang') === $lang && $GLOBALS['spip_lang'] !== $lang) {
103
+        changer_langue($lang);
104
+    }
105
+
106
+    // Construire l'environnement du squelette
107
+    // Ne pas proposer de "rester connecte quelques jours"
108
+    // si la duree de l'alea est inferieure a 12 h (valeur par defaut)
109
+
110
+    $valeurs = [
111
+        'var_login' => $login,
112
+        'editable' => !$row,
113
+        'cnx' => $row['cnx'] ?? '0',
114
+        'auth_http' => login_auth_http(),
115
+        'rester_connecte' => ((_RENOUVELLE_ALEA < 12 * 3600) ? '' : ' '),
116
+        '_logo' => $row['logo'] ?? '',
117
+        '_alea_actuel' => $row['alea_actuel'] ?? '',
118
+        '_alea_futur' => $row['alea_futur'] ?? '',
119
+        '_pipeline' => 'affiche_formulaire_login', // faire passer le formulaire dans un pipe dedie pour les methodes auth
120
+        '_autofocus' => ($options['autofocus'] && $options['autofocus'] !== 'non') ? ' ' : '',
121
+    ];
122
+
123
+    if ($erreur || !isset($GLOBALS['visiteur_session']['id_auteur']) || !$GLOBALS['visiteur_session']['id_auteur']) {
124
+        $valeurs['editable'] = true;
125
+    }
126
+
127
+    if (is_null($prive) ? is_url_prive($cible) : $prive) {
128
+        include_spip('inc/autoriser');
129
+        $loge = autoriser('ecrire');
130
+    } else {
131
+        $loge = (isset($GLOBALS['visiteur_session']['auth']) && $GLOBALS['visiteur_session']['auth'] != '');
132
+    }
133
+
134
+    // Si on est connecte, appeler traiter()
135
+    // et lancer la redirection si besoin
136
+    if (!$valeurs['editable'] && $loge && _request('formulaire_action') !== 'login') {
137
+        $traiter = charger_fonction('traiter', 'formulaires/login');
138
+        $res = $traiter($cible, $login, $prive);
139
+        $valeurs = array_merge($valeurs, $res);
140
+
141
+        if (isset($res['redirect']) && $res['redirect']) {
142
+            include_spip('inc/headers');
143
+            # preparer un lien pour quand redirige_formulaire ne fonctionne pas
144
+            $m = redirige_formulaire($res['redirect']);
145
+            $valeurs['_deja_loge'] = inserer_attribut(
146
+                '<a>' . _T('login_par_ici') . "</a>$m",
147
+                'href',
148
+                $res['redirect']
149
+            );
150
+        }
151
+    }
152
+    // en cas d'echec de cookie, inc_auth a renvoye vers le script de
153
+    // pose de cookie ; s'il n'est pas la, c'est echec cookie
154
+    // s'il est la, c'est probablement un bookmark sur bonjour=oui,
155
+    // et pas un echec cookie.
156
+    if ($erreur == 'cookie') {
157
+        $valeurs['echec_cookie'] = ' ';
158
+    } elseif ($erreur) {
159
+        // une erreur d'un SSO indique dans la redirection vers ici
160
+        // mais il faut se proteger de toute tentative d'injection malveilante
161
+        include_spip('inc/filtres');
162
+        $valeurs['message_erreur'] = textebrut($erreur);
163
+    }
164
+
165
+    return $valeurs;
166 166
 }
167 167
 
168 168
 
@@ -177,19 +177,19 @@  discard block
 block discarded – undo
177 177
  *     - chaîne vide sinon.
178 178
  **/
179 179
 function login_auth_http() {
180
-	if (
181
-		!$GLOBALS['ignore_auth_http']
182
-		&& _request('var_erreur') == 'cookie'
183
-		&& (!isset($_COOKIE['spip_session']) || $_COOKIE['spip_session'] != 'test_echec_cookie')
184
-		&& (preg_match(',apache,', \PHP_SAPI) || preg_match(',^Apache.* PHP,', $_SERVER['SERVER_SOFTWARE']))
185
-		// Attention dans le cas 'intranet' la proposition de se loger
186
-		// par auth_http peut conduire a l'echec.
187
-		&& !(isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW']))
188
-	) {
189
-		return generer_url_action('cookie', '', false, true);
190
-	} else {
191
-		return '';
192
-	}
180
+    if (
181
+        !$GLOBALS['ignore_auth_http']
182
+        && _request('var_erreur') == 'cookie'
183
+        && (!isset($_COOKIE['spip_session']) || $_COOKIE['spip_session'] != 'test_echec_cookie')
184
+        && (preg_match(',apache,', \PHP_SAPI) || preg_match(',^Apache.* PHP,', $_SERVER['SERVER_SOFTWARE']))
185
+        // Attention dans le cas 'intranet' la proposition de se loger
186
+        // par auth_http peut conduire a l'echec.
187
+        && !(isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW']))
188
+    ) {
189
+        return generer_url_action('cookie', '', false, true);
190
+    } else {
191
+        return '';
192
+    }
193 193
 }
194 194
 
195 195
 
@@ -215,65 +215,65 @@  discard block
 block discarded – undo
215 215
  **/
216 216
 function formulaires_login_verifier_dist($cible = '', $options = [], $deprecated = null) {
217 217
 
218
-	$erreurs = [];
219
-	if (!is_array($options)) {
220
-		$options = [
221
-			'login' => $options,
222
-			'prive' => $deprecated
223
-		];
224
-	}
225
-
226
-	$prive = (empty($options['prive']) ? null : $options['prive']);
227
-
228
-	$session_login = _request('var_login');
229
-	$session_password = _request('password');
230
-	$session_remember = _request('session_remember');
231
-
232
-	if (!$session_login) {
233
-		# pas de login saisi !
234
-		return ['var_login' => _T('info_obligatoire')];
235
-	}
236
-
237
-	// appeler auth_identifier_login qui va :
238
-	// - renvoyer un string si echec (message d'erreur)
239
-	// - un array decrivant l'auteur identifie si possible
240
-	// - rediriger vers un SSO qui renverra in fine sur action/auth qui finira l'authentification
241
-	include_spip('inc/auth');
242
-	$auteur = auth_identifier_login($session_login, $session_password);
243
-	// on arrive ici si on ne s'est pas identifie avec un SSO
244
-	if (!is_array($auteur)) {
245
-		$erreurs = [];
246
-		if (is_string($auteur) && strlen($auteur)) {
247
-			$erreurs['var_login'] = $auteur;
248
-		}
249
-		include_spip('inc/cookie');
250
-		spip_setcookie('spip_admin', '', time() - 3600);
251
-		if (strlen($session_password)) {
252
-			$erreurs['password'] = _T('login_erreur_pass');
253
-		} else {
254
-			// sinon c'est un login en deux passe old style (ou js en panne)
255
-			// pas de message d'erreur
256
-			$erreurs['password'] = ' ';
257
-			$erreurs['message_erreur'] = '';
258
-		}
259
-
260
-		return
261
-			$erreurs;
262
-	}
263
-	// on a ete authentifie, construire la session
264
-	// en gerant la duree demandee pour son cookie
265
-	if ($session_remember !== null) {
266
-		$auteur['cookie'] = $session_remember;
267
-	}
268
-	// si la connexion est refusee on renvoi un message erreur de mot de passe
269
-	// car en donnant plus de detail on renseignerait un assaillant sur l'existence d'un compte
270
-	if (auth_loger($auteur) === false) {
271
-		$erreurs['message_erreur'] = _T('login_erreur_pass');
272
-		return $erreurs;
273
-	}
274
-
275
-	return (is_null($prive) ? is_url_prive($cible) : $prive)
276
-		? login_autoriser() : [];
218
+    $erreurs = [];
219
+    if (!is_array($options)) {
220
+        $options = [
221
+            'login' => $options,
222
+            'prive' => $deprecated
223
+        ];
224
+    }
225
+
226
+    $prive = (empty($options['prive']) ? null : $options['prive']);
227
+
228
+    $session_login = _request('var_login');
229
+    $session_password = _request('password');
230
+    $session_remember = _request('session_remember');
231
+
232
+    if (!$session_login) {
233
+        # pas de login saisi !
234
+        return ['var_login' => _T('info_obligatoire')];
235
+    }
236
+
237
+    // appeler auth_identifier_login qui va :
238
+    // - renvoyer un string si echec (message d'erreur)
239
+    // - un array decrivant l'auteur identifie si possible
240
+    // - rediriger vers un SSO qui renverra in fine sur action/auth qui finira l'authentification
241
+    include_spip('inc/auth');
242
+    $auteur = auth_identifier_login($session_login, $session_password);
243
+    // on arrive ici si on ne s'est pas identifie avec un SSO
244
+    if (!is_array($auteur)) {
245
+        $erreurs = [];
246
+        if (is_string($auteur) && strlen($auteur)) {
247
+            $erreurs['var_login'] = $auteur;
248
+        }
249
+        include_spip('inc/cookie');
250
+        spip_setcookie('spip_admin', '', time() - 3600);
251
+        if (strlen($session_password)) {
252
+            $erreurs['password'] = _T('login_erreur_pass');
253
+        } else {
254
+            // sinon c'est un login en deux passe old style (ou js en panne)
255
+            // pas de message d'erreur
256
+            $erreurs['password'] = ' ';
257
+            $erreurs['message_erreur'] = '';
258
+        }
259
+
260
+        return
261
+            $erreurs;
262
+    }
263
+    // on a ete authentifie, construire la session
264
+    // en gerant la duree demandee pour son cookie
265
+    if ($session_remember !== null) {
266
+        $auteur['cookie'] = $session_remember;
267
+    }
268
+    // si la connexion est refusee on renvoi un message erreur de mot de passe
269
+    // car en donnant plus de detail on renseignerait un assaillant sur l'existence d'un compte
270
+    if (auth_loger($auteur) === false) {
271
+        $erreurs['message_erreur'] = _T('login_erreur_pass');
272
+        return $erreurs;
273
+    }
274
+
275
+    return (is_null($prive) ? is_url_prive($cible) : $prive)
276
+        ? login_autoriser() : [];
277 277
 }
278 278
 
279 279
 /**
@@ -288,21 +288,21 @@  discard block
 block discarded – undo
288 288
  *     - tableau vide sinon.
289 289
  **/
290 290
 function login_autoriser() {
291
-	include_spip('inc/autoriser');
292
-	if (!autoriser('ecrire')) {
293
-		$h = generer_url_action('logout', 'logout=prive&url=' . urlencode(self()));
294
-
295
-		return [
296
-			'message_erreur' => '<h1>'
297
-				. _T('avis_erreur_visiteur')
298
-				. '</h1><p>'
299
-				. _T('texte_erreur_visiteur')
300
-				. "</p><p class='retour'>[<a href='$h'>"
301
-				. _T('icone_deconnecter') . '</a>]</p>'
302
-		];
303
-	}
304
-
305
-	return [];
291
+    include_spip('inc/autoriser');
292
+    if (!autoriser('ecrire')) {
293
+        $h = generer_url_action('logout', 'logout=prive&url=' . urlencode(self()));
294
+
295
+        return [
296
+            'message_erreur' => '<h1>'
297
+                . _T('avis_erreur_visiteur')
298
+                . '</h1><p>'
299
+                . _T('texte_erreur_visiteur')
300
+                . "</p><p class='retour'>[<a href='$h'>"
301
+                . _T('icone_deconnecter') . '</a>]</p>'
302
+        ];
303
+    }
304
+
305
+    return [];
306 306
 }
307 307
 
308 308
 /**
@@ -323,55 +323,55 @@  discard block
 block discarded – undo
323 323
  *     Retours du traitement
324 324
  **/
325 325
 function formulaires_login_traiter_dist($cible = '', $options = [], $deprecated = null) {
326
-	$res = [];
327
-
328
-	if (!is_array($options)) {
329
-		$options = [
330
-			'login' => $options,
331
-			'prive' => $deprecated
332
-		];
333
-	}
334
-
335
-	$login = (empty($options['login']) ? '' : $options['login']);
336
-	$prive = (empty($options['prive']) ? null : $options['prive']);
337
-
338
-	// Si on se connecte dans l'espace prive,
339
-	// ajouter "bonjour" (repere a peu pres les cookies desactives)
340
-	if (is_null($prive) ? is_url_prive($cible) : $prive) {
341
-		$cible = parametre_url($cible, 'bonjour', 'oui', '&');
342
-	}
343
-	if ($cible == '@page_auteur') {
344
-		$cible = generer_objet_url($GLOBALS['auteur_session']['id_auteur'], 'auteur');
345
-	}
346
-
347
-	if ($cible) {
348
-		$cible = parametre_url($cible, 'var_login', '', '&');
349
-
350
-		// transformer la cible absolue en cible relative
351
-		// pour pas echouer quand la meta adresse_site est foireuse
352
-		if (strncmp($cible, $u = url_de_base(), strlen($u)) == 0) {
353
-			$cible = './' . substr($cible, strlen($u));
354
-		} elseif (tester_url_absolue($cible) && !defined('_AUTORISER_LOGIN_ABS_REDIRECT')) {
355
-			// si c'est une url absolue, refuser la redirection
356
-			// sauf si cette securite est levee volontairement par le webmestre
357
-			$cible = '';
358
-		}
359
-	}
360
-
361
-	// Si on est connecte, envoyer vers la destination
362
-	if ($cible && $cible != self('&') && $cible != self()) {
363
-		$res['redirect'] = $cible;
364
-		$res['message_ok'] = inserer_attribut(
365
-			'<a>' . _T('login_par_ici') . '</a>',
366
-			'href',
367
-			$cible
368
-		);
369
-	}
370
-
371
-	// avant de rediriger il faut mettre a jour les sessions sur le disque si on a charge une session
372
-	if (function_exists('terminer_actualiser_sessions')) {
373
-		terminer_actualiser_sessions();
374
-	}
375
-
376
-	return $res;
326
+    $res = [];
327
+
328
+    if (!is_array($options)) {
329
+        $options = [
330
+            'login' => $options,
331
+            'prive' => $deprecated
332
+        ];
333
+    }
334
+
335
+    $login = (empty($options['login']) ? '' : $options['login']);
336
+    $prive = (empty($options['prive']) ? null : $options['prive']);
337
+
338
+    // Si on se connecte dans l'espace prive,
339
+    // ajouter "bonjour" (repere a peu pres les cookies desactives)
340
+    if (is_null($prive) ? is_url_prive($cible) : $prive) {
341
+        $cible = parametre_url($cible, 'bonjour', 'oui', '&');
342
+    }
343
+    if ($cible == '@page_auteur') {
344
+        $cible = generer_objet_url($GLOBALS['auteur_session']['id_auteur'], 'auteur');
345
+    }
346
+
347
+    if ($cible) {
348
+        $cible = parametre_url($cible, 'var_login', '', '&');
349
+
350
+        // transformer la cible absolue en cible relative
351
+        // pour pas echouer quand la meta adresse_site est foireuse
352
+        if (strncmp($cible, $u = url_de_base(), strlen($u)) == 0) {
353
+            $cible = './' . substr($cible, strlen($u));
354
+        } elseif (tester_url_absolue($cible) && !defined('_AUTORISER_LOGIN_ABS_REDIRECT')) {
355
+            // si c'est une url absolue, refuser la redirection
356
+            // sauf si cette securite est levee volontairement par le webmestre
357
+            $cible = '';
358
+        }
359
+    }
360
+
361
+    // Si on est connecte, envoyer vers la destination
362
+    if ($cible && $cible != self('&') && $cible != self()) {
363
+        $res['redirect'] = $cible;
364
+        $res['message_ok'] = inserer_attribut(
365
+            '<a>' . _T('login_par_ici') . '</a>',
366
+            'href',
367
+            $cible
368
+        );
369
+    }
370
+
371
+    // avant de rediriger il faut mettre a jour les sessions sur le disque si on a charge une session
372
+    if (function_exists('terminer_actualiser_sessions')) {
373
+        terminer_actualiser_sessions();
374
+    }
375
+
376
+    return $res;
377 377
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -143,7 +143,7 @@  discard block
 block discarded – undo
143 143
 			# preparer un lien pour quand redirige_formulaire ne fonctionne pas
144 144
 			$m = redirige_formulaire($res['redirect']);
145 145
 			$valeurs['_deja_loge'] = inserer_attribut(
146
-				'<a>' . _T('login_par_ici') . "</a>$m",
146
+				'<a>'._T('login_par_ici')."</a>$m",
147 147
 				'href',
148 148
 				$res['redirect']
149 149
 			);
@@ -290,7 +290,7 @@  discard block
 block discarded – undo
290 290
 function login_autoriser() {
291 291
 	include_spip('inc/autoriser');
292 292
 	if (!autoriser('ecrire')) {
293
-		$h = generer_url_action('logout', 'logout=prive&url=' . urlencode(self()));
293
+		$h = generer_url_action('logout', 'logout=prive&url='.urlencode(self()));
294 294
 
295 295
 		return [
296 296
 			'message_erreur' => '<h1>'
@@ -298,7 +298,7 @@  discard block
 block discarded – undo
298 298
 				. '</h1><p>'
299 299
 				. _T('texte_erreur_visiteur')
300 300
 				. "</p><p class='retour'>[<a href='$h'>"
301
-				. _T('icone_deconnecter') . '</a>]</p>'
301
+				. _T('icone_deconnecter').'</a>]</p>'
302 302
 		];
303 303
 	}
304 304
 
@@ -350,7 +350,7 @@  discard block
 block discarded – undo
350 350
 		// transformer la cible absolue en cible relative
351 351
 		// pour pas echouer quand la meta adresse_site est foireuse
352 352
 		if (strncmp($cible, $u = url_de_base(), strlen($u)) == 0) {
353
-			$cible = './' . substr($cible, strlen($u));
353
+			$cible = './'.substr($cible, strlen($u));
354 354
 		} elseif (tester_url_absolue($cible) && !defined('_AUTORISER_LOGIN_ABS_REDIRECT')) {
355 355
 			// si c'est une url absolue, refuser la redirection
356 356
 			// sauf si cette securite est levee volontairement par le webmestre
@@ -362,7 +362,7 @@  discard block
 block discarded – undo
362 362
 	if ($cible && $cible != self('&') && $cible != self()) {
363 363
 		$res['redirect'] = $cible;
364 364
 		$res['message_ok'] = inserer_attribut(
365
-			'<a>' . _T('login_par_ici') . '</a>',
365
+			'<a>'._T('login_par_ici').'</a>',
366 366
 			'href',
367 367
 			$cible
368 368
 		);
Please login to merge, or discard this patch.
prive/formulaires/inscription.php 2 patches
Indentation   +127 added lines, -127 removed lines patch added patch discarded remove patch
@@ -10,7 +10,7 @@  discard block
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 /**
@@ -39,26 +39,26 @@  discard block
 block discarded – undo
39 39
  */
40 40
 function formulaires_inscription_charger_dist($mode = '', $options = [], $retour = '') {
41 41
 
42
-	$id = ($options['id'] ?? 0);
43
-
44
-	// fournir le mode de la config ou tester si l'argument du formulaire est un mode accepte par celle-ci
45
-	// pas de formulaire si le mode est interdit
46
-	include_spip('inc/autoriser');
47
-	if (!autoriser('inscrireauteur', $mode, $id)) {
48
-		return false;
49
-	}
50
-
51
-	// pas de formulaire si on a déjà une session avec un statut égal ou meilleur au mode
52
-	if (isset($GLOBALS['visiteur_session']['statut']) && $GLOBALS['visiteur_session']['statut'] <= $mode) {
53
-		return false;
54
-	}
55
-
56
-	return [
57
-		'nom_inscription' => '',
58
-		'mail_inscription' => '',
59
-		'id' => $id,
60
-		'_mode' => $mode
61
-	];
42
+    $id = ($options['id'] ?? 0);
43
+
44
+    // fournir le mode de la config ou tester si l'argument du formulaire est un mode accepte par celle-ci
45
+    // pas de formulaire si le mode est interdit
46
+    include_spip('inc/autoriser');
47
+    if (!autoriser('inscrireauteur', $mode, $id)) {
48
+        return false;
49
+    }
50
+
51
+    // pas de formulaire si on a déjà une session avec un statut égal ou meilleur au mode
52
+    if (isset($GLOBALS['visiteur_session']['statut']) && $GLOBALS['visiteur_session']['statut'] <= $mode) {
53
+        return false;
54
+    }
55
+
56
+    return [
57
+        'nom_inscription' => '',
58
+        'mail_inscription' => '',
59
+        'id' => $id,
60
+        '_mode' => $mode
61
+    ];
62 62
 }
63 63
 
64 64
 
@@ -71,65 +71,65 @@  discard block
 block discarded – undo
71 71
  * @return array
72 72
  */
73 73
 function formulaires_inscription_verifier_dist($mode = '', $options = [], $retour = '') {
74
-	set_request('_upgrade_auteur'); // securite
75
-	include_spip('inc/filtres');
76
-	$erreurs = [];
77
-
78
-	$id = ($options['id'] ?? 0);
79
-
80
-	include_spip('inc/autoriser');
81
-	if (!autoriser('inscrireauteur', $mode, $id) || strlen(_request('nobot')) > 0) {
82
-		$erreurs['message_erreur'] = _T('pass_rien_a_faire_ici');
83
-	}
84
-
85
-	if (!$nom = _request('nom_inscription')) {
86
-		$erreurs['nom_inscription'] = _T('info_obligatoire');
87
-	} elseif (!nom_acceptable(_request('nom_inscription'))) {
88
-		$erreurs['nom_inscription'] = _T('ecrire:info_nom_pas_conforme');
89
-	}
90
-	if (!$mail = (string) _request('mail_inscription')) {
91
-		$erreurs['mail_inscription'] = _T('info_obligatoire');
92
-	}
93
-
94
-	// compatibilite avec anciennes fonction surchargeables
95
-	// plus de definition par defaut
96
-	if ($erreurs === []) {
97
-		include_spip('action/inscrire_auteur');
98
-		$f = function_exists('test_inscription') ? 'test_inscription' : 'test_inscription_dist';
99
-		$declaration = $f($mode, $mail, $nom, $options);
100
-		if (is_string($declaration)) {
101
-			$k = (str_contains($declaration, 'mail')) ?
102
-				'mail_inscription' : 'nom_inscription';
103
-			$erreurs[$k] = _T($declaration);
104
-		} else {
105
-			include_spip('base/abstract_sql');
106
-
107
-			if (
108
-				$row = sql_fetsel(
109
-					'statut, id_auteur, login, email',
110
-					'spip_auteurs',
111
-					'email=' . sql_quote($declaration['email'])
112
-				)
113
-			) {
114
-				if ($row['statut'] == '5poubelle' && empty($declaration['pass'])) {
115
-					// irrecuperable
116
-					$erreurs['message_erreur'] = _T('form_forum_access_refuse');
117
-				} else {
118
-					if ($row['statut'] != 'nouveau' && empty($declaration['pass'])) {
119
-						if ((int) $row['statut'] > (int) $mode) {
120
-							set_request('_upgrade_auteur', $row['id_auteur']);
121
-						} else {
122
-							// deja inscrit
123
-							$erreurs['message_erreur'] = _T('form_forum_email_deja_enregistre');
124
-						}
125
-					}
126
-				}
127
-				spip_log($row['id_auteur'] . ' veut se resinscrire');
128
-			}
129
-		}
130
-	}
131
-
132
-	return $erreurs;
74
+    set_request('_upgrade_auteur'); // securite
75
+    include_spip('inc/filtres');
76
+    $erreurs = [];
77
+
78
+    $id = ($options['id'] ?? 0);
79
+
80
+    include_spip('inc/autoriser');
81
+    if (!autoriser('inscrireauteur', $mode, $id) || strlen(_request('nobot')) > 0) {
82
+        $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici');
83
+    }
84
+
85
+    if (!$nom = _request('nom_inscription')) {
86
+        $erreurs['nom_inscription'] = _T('info_obligatoire');
87
+    } elseif (!nom_acceptable(_request('nom_inscription'))) {
88
+        $erreurs['nom_inscription'] = _T('ecrire:info_nom_pas_conforme');
89
+    }
90
+    if (!$mail = (string) _request('mail_inscription')) {
91
+        $erreurs['mail_inscription'] = _T('info_obligatoire');
92
+    }
93
+
94
+    // compatibilite avec anciennes fonction surchargeables
95
+    // plus de definition par defaut
96
+    if ($erreurs === []) {
97
+        include_spip('action/inscrire_auteur');
98
+        $f = function_exists('test_inscription') ? 'test_inscription' : 'test_inscription_dist';
99
+        $declaration = $f($mode, $mail, $nom, $options);
100
+        if (is_string($declaration)) {
101
+            $k = (str_contains($declaration, 'mail')) ?
102
+                'mail_inscription' : 'nom_inscription';
103
+            $erreurs[$k] = _T($declaration);
104
+        } else {
105
+            include_spip('base/abstract_sql');
106
+
107
+            if (
108
+                $row = sql_fetsel(
109
+                    'statut, id_auteur, login, email',
110
+                    'spip_auteurs',
111
+                    'email=' . sql_quote($declaration['email'])
112
+                )
113
+            ) {
114
+                if ($row['statut'] == '5poubelle' && empty($declaration['pass'])) {
115
+                    // irrecuperable
116
+                    $erreurs['message_erreur'] = _T('form_forum_access_refuse');
117
+                } else {
118
+                    if ($row['statut'] != 'nouveau' && empty($declaration['pass'])) {
119
+                        if ((int) $row['statut'] > (int) $mode) {
120
+                            set_request('_upgrade_auteur', $row['id_auteur']);
121
+                        } else {
122
+                            // deja inscrit
123
+                            $erreurs['message_erreur'] = _T('form_forum_email_deja_enregistre');
124
+                        }
125
+                    }
126
+                }
127
+                spip_log($row['id_auteur'] . ' veut se resinscrire');
128
+            }
129
+        }
130
+    }
131
+
132
+    return $erreurs;
133 133
 }
134 134
 
135 135
 /**
@@ -140,51 +140,51 @@  discard block
 block discarded – undo
140 140
  * @return array
141 141
  */
142 142
 function formulaires_inscription_traiter_dist($mode = '', array $options = [], $retour = '') {
143
-	if ($retour) {
144
-		refuser_traiter_formulaire_ajax();
145
-	}
146
-
147
-	include_spip('inc/filtres');
148
-	include_spip('inc/autoriser');
149
-
150
-	$id = ($options['id'] ?? 0);
151
-
152
-	if (!autoriser('inscrireauteur', $mode, $id)) {
153
-		$desc = 'rien a faire ici';
154
-	} else {
155
-		if ($id_auteur = _request('_upgrade_auteur')) {
156
-			include_spip('action/editer_auteur');
157
-			autoriser_exception('modifier', 'auteur', $id_auteur);
158
-			autoriser_exception('instituer', 'auteur', $id_auteur);
159
-			auteur_modifier($id_auteur, ['statut' => $mode]);
160
-			autoriser_exception('modifier', 'auteur', $id_auteur, false);
161
-			autoriser_exception('instituer', 'auteur', $id_auteur, false);
162
-
163
-			return ['message_ok' => _T('form_forum_email_deja_enregistre'), 'id_auteur' => $id_auteur];
164
-		}
165
-
166
-		$nom = _request('nom_inscription');
167
-		$mail_complet = _request('mail_inscription');
168
-
169
-		$inscrire_auteur = charger_fonction('inscrire_auteur', 'action');
170
-		$desc = $inscrire_auteur($mode, $mail_complet, $nom, $options);
171
-	}
172
-
173
-	// erreur ?
174
-	if (is_string($desc)) {
175
-		return ['message_erreur' => $desc];
176
-	} // OK
177
-	else {
178
-		$retours = [
179
-			'message_ok' => _T('form_forum_identifiant_mail'),
180
-			'id_auteur' => $desc['id_auteur']
181
-		];
182
-
183
-		// Si on demande à rediriger juste après validation du formulaire
184
-		if ($retour) {
185
-			$retours['redirect'] = $retour;
186
-		}
187
-
188
-		return $retours;
189
-	}
143
+    if ($retour) {
144
+        refuser_traiter_formulaire_ajax();
145
+    }
146
+
147
+    include_spip('inc/filtres');
148
+    include_spip('inc/autoriser');
149
+
150
+    $id = ($options['id'] ?? 0);
151
+
152
+    if (!autoriser('inscrireauteur', $mode, $id)) {
153
+        $desc = 'rien a faire ici';
154
+    } else {
155
+        if ($id_auteur = _request('_upgrade_auteur')) {
156
+            include_spip('action/editer_auteur');
157
+            autoriser_exception('modifier', 'auteur', $id_auteur);
158
+            autoriser_exception('instituer', 'auteur', $id_auteur);
159
+            auteur_modifier($id_auteur, ['statut' => $mode]);
160
+            autoriser_exception('modifier', 'auteur', $id_auteur, false);
161
+            autoriser_exception('instituer', 'auteur', $id_auteur, false);
162
+
163
+            return ['message_ok' => _T('form_forum_email_deja_enregistre'), 'id_auteur' => $id_auteur];
164
+        }
165
+
166
+        $nom = _request('nom_inscription');
167
+        $mail_complet = _request('mail_inscription');
168
+
169
+        $inscrire_auteur = charger_fonction('inscrire_auteur', 'action');
170
+        $desc = $inscrire_auteur($mode, $mail_complet, $nom, $options);
171
+    }
172
+
173
+    // erreur ?
174
+    if (is_string($desc)) {
175
+        return ['message_erreur' => $desc];
176
+    } // OK
177
+    else {
178
+        $retours = [
179
+            'message_ok' => _T('form_forum_identifiant_mail'),
180
+            'id_auteur' => $desc['id_auteur']
181
+        ];
182
+
183
+        // Si on demande à rediriger juste après validation du formulaire
184
+        if ($retour) {
185
+            $retours['redirect'] = $retour;
186
+        }
187
+
188
+        return $retours;
189
+    }
190 190
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -108,7 +108,7 @@  discard block
 block discarded – undo
108 108
 				$row = sql_fetsel(
109 109
 					'statut, id_auteur, login, email',
110 110
 					'spip_auteurs',
111
-					'email=' . sql_quote($declaration['email'])
111
+					'email='.sql_quote($declaration['email'])
112 112
 				)
113 113
 			) {
114 114
 				if ($row['statut'] == '5poubelle' && empty($declaration['pass'])) {
@@ -124,7 +124,7 @@  discard block
 block discarded – undo
124 124
 						}
125 125
 					}
126 126
 				}
127
-				spip_log($row['id_auteur'] . ' veut se resinscrire');
127
+				spip_log($row['id_auteur'].' veut se resinscrire');
128 128
 			}
129 129
 		}
130 130
 	}
Please login to merge, or discard this patch.
prive/formulaires/oubli.php 2 patches
Indentation   +62 added lines, -62 removed lines patch added patch discarded remove patch
@@ -10,98 +10,98 @@
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 // chargement des valeurs par defaut des champs du formulaire
17 17
 function formulaires_oubli_charger_dist() {
18
-	return ['oubli' => '', 'nobot' => ''];
18
+    return ['oubli' => '', 'nobot' => ''];
19 19
 }
20 20
 
21 21
 // https://code.spip.net/@message_oubli
22 22
 function message_oubli($email, $param) {
23
-	$r = formulaires_oubli_mail($email);
24
-
25
-	if (is_array($r) && $r[1] && $r[1]['statut'] !== '5poubelle' && $r[1]['pass'] !== '') {
26
-		include_spip('inc/texte'); # pour corriger_typo
27
-
28
-		include_spip('action/inscrire_auteur');
29
-		$cookie = auteur_attribuer_jeton($r[1]['id_auteur']);
30
-
31
-		// l'url_reset doit etre une URL de confiance, on force donc un url_absolue sur adresse_site
32
-		include_spip('inc/filtres');
33
-		$msg = recuperer_fond(
34
-			'modeles/mail_oubli',
35
-			[
36
-				'url_reset' => url_absolue(
37
-					generer_url_public('spip_pass', "$param=$cookie"),
38
-					$GLOBALS['meta']['adresse_site'] . '/'
39
-				)
40
-			]
41
-		);
42
-		include_spip('inc/notifications');
43
-		notifications_envoyer_mails($email, $msg);
44
-	}
45
-
46
-	return _T('pass_recevoir_mail');
23
+    $r = formulaires_oubli_mail($email);
24
+
25
+    if (is_array($r) && $r[1] && $r[1]['statut'] !== '5poubelle' && $r[1]['pass'] !== '') {
26
+        include_spip('inc/texte'); # pour corriger_typo
27
+
28
+        include_spip('action/inscrire_auteur');
29
+        $cookie = auteur_attribuer_jeton($r[1]['id_auteur']);
30
+
31
+        // l'url_reset doit etre une URL de confiance, on force donc un url_absolue sur adresse_site
32
+        include_spip('inc/filtres');
33
+        $msg = recuperer_fond(
34
+            'modeles/mail_oubli',
35
+            [
36
+                'url_reset' => url_absolue(
37
+                    generer_url_public('spip_pass', "$param=$cookie"),
38
+                    $GLOBALS['meta']['adresse_site'] . '/'
39
+                )
40
+            ]
41
+        );
42
+        include_spip('inc/notifications');
43
+        notifications_envoyer_mails($email, $msg);
44
+    }
45
+
46
+    return _T('pass_recevoir_mail');
47 47
 }
48 48
 
49 49
 // la saisie a ete validee, on peut agir
50 50
 function formulaires_oubli_traiter_dist() {
51 51
 
52
-	$message = message_oubli(_request('oubli'), 'p');
52
+    $message = message_oubli(_request('oubli'), 'p');
53 53
 
54
-	return ['message_ok' => $message];
54
+    return ['message_ok' => $message];
55 55
 }
56 56
 
57 57
 
58 58
 // fonction qu'on peut redefinir pour filtrer les adresses mail
59 59
 // https://code.spip.net/@test_oubli
60 60
 function test_oubli_dist($email) {
61
-	include_spip('inc/filtres'); # pour email_valide()
62
-	if (!email_valide($email)) {
63
-		return _T('pass_erreur_non_valide', ['email_oubli' => spip_htmlspecialchars($email)]);
64
-	}
61
+    include_spip('inc/filtres'); # pour email_valide()
62
+    if (!email_valide($email)) {
63
+        return _T('pass_erreur_non_valide', ['email_oubli' => spip_htmlspecialchars($email)]);
64
+    }
65 65
 
66
-	return ['mail' => $email];
66
+    return ['mail' => $email];
67 67
 }
68 68
 
69 69
 function formulaires_oubli_verifier_dist() {
70
-	$erreurs = [];
70
+    $erreurs = [];
71 71
 
72
-	$email = (string) _request('oubli');
72
+    $email = (string) _request('oubli');
73 73
 
74
-	$r = formulaires_oubli_mail($email);
74
+    $r = formulaires_oubli_mail($email);
75 75
 
76
-	if (!is_array($r)) {
77
-		$erreurs['oubli'] = $r;
78
-	} else {
79
-		if (!$r[1]) {
80
-			spip_log("demande de reinitialisation de mot de passe pour $email non enregistre sur le site", 'oubli');
81
-		} elseif ($r[1]['statut'] == '5poubelle' || $r[1]['pass'] == '') {
82
-			spip_log("demande de reinitialisation de mot de passe pour $email sans acces (poubelle ou pass vide)", 'oubli');
83
-		}
84
-	}
76
+    if (!is_array($r)) {
77
+        $erreurs['oubli'] = $r;
78
+    } else {
79
+        if (!$r[1]) {
80
+            spip_log("demande de reinitialisation de mot de passe pour $email non enregistre sur le site", 'oubli');
81
+        } elseif ($r[1]['statut'] == '5poubelle' || $r[1]['pass'] == '') {
82
+            spip_log("demande de reinitialisation de mot de passe pour $email sans acces (poubelle ou pass vide)", 'oubli');
83
+        }
84
+    }
85 85
 
86
-	if (_request('nobot')) {
87
-		$erreurs['message_erreur'] = _T('pass_rien_a_faire_ici');
88
-	}
86
+    if (_request('nobot')) {
87
+        $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici');
88
+    }
89 89
 
90
-	return $erreurs;
90
+    return $erreurs;
91 91
 }
92 92
 
93 93
 function formulaires_oubli_mail($email) {
94
-	$f = function_exists('test_oubli') ? 'test_oubli' : 'test_oubli_dist';
95
-	$declaration = $f($email);
96
-
97
-	if (!is_array($declaration)) {
98
-		return $declaration;
99
-	} else {
100
-		include_spip('base/abstract_sql');
101
-
102
-		return [
103
-			$declaration,
104
-			sql_fetsel('id_auteur,statut,pass', 'spip_auteurs', "login<>'' AND email =" . sql_quote($declaration['mail']))
105
-		];
106
-	}
94
+    $f = function_exists('test_oubli') ? 'test_oubli' : 'test_oubli_dist';
95
+    $declaration = $f($email);
96
+
97
+    if (!is_array($declaration)) {
98
+        return $declaration;
99
+    } else {
100
+        include_spip('base/abstract_sql');
101
+
102
+        return [
103
+            $declaration,
104
+            sql_fetsel('id_auteur,statut,pass', 'spip_auteurs', "login<>'' AND email =" . sql_quote($declaration['mail']))
105
+        ];
106
+    }
107 107
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -35,7 +35,7 @@  discard block
 block discarded – undo
35 35
 			[
36 36
 				'url_reset' => url_absolue(
37 37
 					generer_url_public('spip_pass', "$param=$cookie"),
38
-					$GLOBALS['meta']['adresse_site'] . '/'
38
+					$GLOBALS['meta']['adresse_site'].'/'
39 39
 				)
40 40
 			]
41 41
 		);
@@ -101,7 +101,7 @@  discard block
 block discarded – undo
101 101
 
102 102
 		return [
103 103
 			$declaration,
104
-			sql_fetsel('id_auteur,statut,pass', 'spip_auteurs', "login<>'' AND email =" . sql_quote($declaration['mail']))
104
+			sql_fetsel('id_auteur,statut,pass', 'spip_auteurs', "login<>'' AND email =".sql_quote($declaration['mail']))
105 105
 		];
106 106
 	}
107 107
 }
Please login to merge, or discard this patch.
prive/formulaires/configurer_preferences.php 1 patch
Indentation   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -20,7 +20,7 @@  discard block
 block discarded – undo
20 20
  **/
21 21
 
22 22
 if (!defined('_ECRIRE_INC_VERSION')) {
23
-	return;
23
+    return;
24 24
 }
25 25
 
26 26
 /**
@@ -30,27 +30,27 @@  discard block
 block discarded – undo
30 30
  *     Environnement du formulaire
31 31
  **/
32 32
 function formulaires_configurer_preferences_charger_dist() {
33
-	// travailler sur des meta fraiches
34
-	include_spip('inc/meta');
35
-	lire_metas();
33
+    // travailler sur des meta fraiches
34
+    include_spip('inc/meta');
35
+    lire_metas();
36 36
 
37
-	$valeurs = [];
38
-	$valeurs['display_navigation'] = $GLOBALS['visiteur_session']['prefs']['display_navigation'] ?? 'navigation_avec_icones';
39
-	$valeurs['display'] = (isset($GLOBALS['visiteur_session']['prefs']['display']) && $GLOBALS['visiteur_session']['prefs']['display'] > 0) ? $GLOBALS['visiteur_session']['prefs']['display'] : 2;
40
-	$valeurs['couleur'] = (isset($GLOBALS['visiteur_session']['prefs']['couleur']) && $GLOBALS['visiteur_session']['prefs']['couleur'] > 0) ? $GLOBALS['visiteur_session']['prefs']['couleur'] : 1;
37
+    $valeurs = [];
38
+    $valeurs['display_navigation'] = $GLOBALS['visiteur_session']['prefs']['display_navigation'] ?? 'navigation_avec_icones';
39
+    $valeurs['display'] = (isset($GLOBALS['visiteur_session']['prefs']['display']) && $GLOBALS['visiteur_session']['prefs']['display'] > 0) ? $GLOBALS['visiteur_session']['prefs']['display'] : 2;
40
+    $valeurs['couleur'] = (isset($GLOBALS['visiteur_session']['prefs']['couleur']) && $GLOBALS['visiteur_session']['prefs']['couleur'] > 0) ? $GLOBALS['visiteur_session']['prefs']['couleur'] : 1;
41 41
 
42
-	$couleurs = charger_fonction('couleurs', 'inc');
43
-	$les_couleurs = $couleurs();
44
-	foreach ($les_couleurs as $k => $c) {
45
-		$valeurs['_couleurs_url'][$k] = generer_url_public('style_prive.css', 'ltr='
46
-			. $GLOBALS['spip_lang_left'] . '&'
47
-			. $couleurs($k));
48
-		$valeurs['couleurs'][$k] = $c;
49
-	}
42
+    $couleurs = charger_fonction('couleurs', 'inc');
43
+    $les_couleurs = $couleurs();
44
+    foreach ($les_couleurs as $k => $c) {
45
+        $valeurs['_couleurs_url'][$k] = generer_url_public('style_prive.css', 'ltr='
46
+            . $GLOBALS['spip_lang_left'] . '&'
47
+            . $couleurs($k));
48
+        $valeurs['couleurs'][$k] = $c;
49
+    }
50 50
 
51
-	$valeurs['imessage'] = $GLOBALS['visiteur_session']['imessage'];
51
+    $valeurs['imessage'] = $GLOBALS['visiteur_session']['imessage'];
52 52
 
53
-	return $valeurs;
53
+    return $valeurs;
54 54
 }
55 55
 
56 56
 /**
@@ -61,33 +61,33 @@  discard block
 block discarded – undo
61 61
  **/
62 62
 function formulaires_configurer_preferences_traiter_dist() {
63 63
 
64
-	if ($couleur = _request('couleur')) {
65
-		$couleurs = charger_fonction('couleurs', 'inc');
66
-		$les_couleurs = $couleurs([], true);
67
-		if (isset($les_couleurs[$couleur])) {
68
-			$GLOBALS['visiteur_session']['prefs']['couleur'] = $couleur;
69
-		}
70
-	}
71
-	if ($display = (int) _request('display')) {
72
-		$GLOBALS['visiteur_session']['prefs']['display'] = $display;
73
-	}
74
-	if (
75
-		($display_navigation = _request('display_navigation'))
76
-		&& in_array($display_navigation, ['navigation_sans_icone', 'navigation_avec_icones'])
77
-	) {
78
-		$GLOBALS['visiteur_session']['prefs']['display_navigation'] = $display_navigation;
79
-	}
64
+    if ($couleur = _request('couleur')) {
65
+        $couleurs = charger_fonction('couleurs', 'inc');
66
+        $les_couleurs = $couleurs([], true);
67
+        if (isset($les_couleurs[$couleur])) {
68
+            $GLOBALS['visiteur_session']['prefs']['couleur'] = $couleur;
69
+        }
70
+    }
71
+    if ($display = (int) _request('display')) {
72
+        $GLOBALS['visiteur_session']['prefs']['display'] = $display;
73
+    }
74
+    if (
75
+        ($display_navigation = _request('display_navigation'))
76
+        && in_array($display_navigation, ['navigation_sans_icone', 'navigation_avec_icones'])
77
+    ) {
78
+        $GLOBALS['visiteur_session']['prefs']['display_navigation'] = $display_navigation;
79
+    }
80 80
 
81
-	if ((int) $GLOBALS['visiteur_session']['id_auteur']) {
82
-		include_spip('action/editer_auteur');
83
-		$c = ['prefs' => serialize($GLOBALS['visiteur_session']['prefs'])];
81
+    if ((int) $GLOBALS['visiteur_session']['id_auteur']) {
82
+        include_spip('action/editer_auteur');
83
+        $c = ['prefs' => serialize($GLOBALS['visiteur_session']['prefs'])];
84 84
 
85
-		if (($imessage = _request('imessage')) && in_array($imessage, ['oui', 'non'])) {
86
-			$c['imessage'] = $imessage;
87
-		}
85
+        if (($imessage = _request('imessage')) && in_array($imessage, ['oui', 'non'])) {
86
+            $c['imessage'] = $imessage;
87
+        }
88 88
 
89
-		auteur_modifier($GLOBALS['visiteur_session']['id_auteur'], $c);
90
-	}
89
+        auteur_modifier($GLOBALS['visiteur_session']['id_auteur'], $c);
90
+    }
91 91
 
92
-	return ['message_ok' => _T('config_info_enregistree'), 'editable' => true];
92
+    return ['message_ok' => _T('config_info_enregistree'), 'editable' => true];
93 93
 }
Please login to merge, or discard this patch.