Completed
Push — master ( f2008e...da65df )
by cam
02:08
created
prive/formulaires/configurer_langue.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -30,7 +30,7 @@
 block discarded – undo
30 30
 	foreach ($langues as $l) {
31 31
 		$res .= "<option value='$l'"
32 32
 			. ($l == $l_site ? " selected='selected'" : '')
33
-			. '>' . traduire_nom_langue($l) . "</option>\n";
33
+			. '>'.traduire_nom_langue($l)."</option>\n";
34 34
 	}
35 35
 
36 36
 	return [
Please login to merge, or discard this patch.
Indentation   +40 added lines, -40 removed lines patch added patch discarded remove patch
@@ -10,57 +10,57 @@
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 function formulaires_configurer_langue_charger_dist() {
17
-	$valeurs = [];
17
+    $valeurs = [];
18 18
 
19
-	include_spip('inc/lang');
20
-	$l_site = $GLOBALS['meta']['langue_site'];
21
-	$langue_site = traduire_nom_langue($l_site);
19
+    include_spip('inc/lang');
20
+    $l_site = $GLOBALS['meta']['langue_site'];
21
+    $langue_site = traduire_nom_langue($l_site);
22 22
 
23
-	$langues = explode(',', (string) $GLOBALS['meta']['langues_proposees']);
24
-	if (!in_array($l_site, $langues)) {
25
-		$langues[] = $l_site;
26
-	}
27
-	sort($langues);
23
+    $langues = explode(',', (string) $GLOBALS['meta']['langues_proposees']);
24
+    if (!in_array($l_site, $langues)) {
25
+        $langues[] = $l_site;
26
+    }
27
+    sort($langues);
28 28
 
29
-	$res = '';
30
-	foreach ($langues as $l) {
31
-		$res .= "<option value='$l'"
32
-			. ($l == $l_site ? " selected='selected'" : '')
33
-			. '>' . traduire_nom_langue($l) . "</option>\n";
34
-	}
29
+    $res = '';
30
+    foreach ($langues as $l) {
31
+        $res .= "<option value='$l'"
32
+            . ($l == $l_site ? " selected='selected'" : '')
33
+            . '>' . traduire_nom_langue($l) . "</option>\n";
34
+    }
35 35
 
36
-	return [
37
-		'_langues' => $res,
38
-		'_langue_site' => $langue_site,
39
-		'changer_langue_site' => '',
40
-	];
36
+    return [
37
+        '_langues' => $res,
38
+        '_langue_site' => $langue_site,
39
+        'changer_langue_site' => '',
40
+    ];
41 41
 }
42 42
 
43 43
 
44 44
 function formulaires_configurer_langue_traiter_dist() {
45
-	$res = ['editable' => true];
45
+    $res = ['editable' => true];
46 46
 
47
-	if ($lang = _request('changer_langue_site')) {
48
-		include_spip('inc/lang');
49
-		// verif que la langue demandee est licite
50
-		if (changer_langue($lang)) {
51
-			ecrire_meta('langue_site', $lang);
52
-			// le test a defait ca:
53
-			utiliser_langue_visiteur();
54
-			$res['message_ok'] = _T('config_info_enregistree');
55
-			include_spip('inc/rubriques');
56
-			calculer_langues_rubriques();
57
-		}
58
-		// le test a defait ca:
59
-		utiliser_langue_visiteur();
60
-	}
61
-	if (!$res['message_ok']) {
62
-		$res['message_erreur'] = _L('erreur');
63
-	}
47
+    if ($lang = _request('changer_langue_site')) {
48
+        include_spip('inc/lang');
49
+        // verif que la langue demandee est licite
50
+        if (changer_langue($lang)) {
51
+            ecrire_meta('langue_site', $lang);
52
+            // le test a defait ca:
53
+            utiliser_langue_visiteur();
54
+            $res['message_ok'] = _T('config_info_enregistree');
55
+            include_spip('inc/rubriques');
56
+            calculer_langues_rubriques();
57
+        }
58
+        // le test a defait ca:
59
+        utiliser_langue_visiteur();
60
+    }
61
+    if (!$res['message_ok']) {
62
+        $res['message_erreur'] = _L('erreur');
63
+    }
64 64
 
65
-	return $res;
65
+    return $res;
66 66
 }
Please login to merge, or discard this patch.
prive/formulaires/editer_liens.php 3 patches
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -545,8 +545,7 @@
 block discarded – undo
545 545
 						|| empty($oups['oups_value'])
546 546
 					) {
547 547
 						$oups = null;
548
-					}
549
-					else {
548
+					} else {
550 549
 						$oups = $oups['oups_value'];
551 550
 						// controler le contenu
552 551
 						foreach ($oups as $k => $oup) {
Please login to merge, or discard this patch.
Indentation   +433 added lines, -433 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
  * @package SPIP\Core\Formulaires
16 16
  **/
17 17
 if (!defined('_ECRIRE_INC_VERSION')) {
18
-	return;
18
+    return;
19 19
 }
20 20
 
21 21
 
@@ -35,25 +35,25 @@  discard block
 block discarded – undo
35 35
  *   ($table_source,$objet,$id_objet,$objet_lien)
36 36
  */
37 37
 function determine_source_lien_objet($a, $b, $c) {
38
-	$table_source = $objet_lien = $objet = $id_objet = null;
39
-	// auteurs, article, 23 :
40
-	// associer des auteurs à l'article 23, sur la table pivot spip_auteurs_liens
41
-	if (is_numeric($c) && !is_numeric($b)) {
42
-		$table_source = table_objet($a);
43
-		$objet_lien = objet_type($a);
44
-		$objet = objet_type($b);
45
-		$id_objet = $c;
46
-	}
47
-	// article, 23, auteurs
48
-	// associer des auteurs à l'article 23, sur la table pivot spip_articles_liens
49
-	if (is_numeric($b) && !is_numeric($c)) {
50
-		$table_source = table_objet($c);
51
-		$objet_lien = objet_type($a);
52
-		$objet = objet_type($a);
53
-		$id_objet = $b;
54
-	}
55
-
56
-	return [$table_source, $objet, $id_objet, $objet_lien];
38
+    $table_source = $objet_lien = $objet = $id_objet = null;
39
+    // auteurs, article, 23 :
40
+    // associer des auteurs à l'article 23, sur la table pivot spip_auteurs_liens
41
+    if (is_numeric($c) && !is_numeric($b)) {
42
+        $table_source = table_objet($a);
43
+        $objet_lien = objet_type($a);
44
+        $objet = objet_type($b);
45
+        $id_objet = $c;
46
+    }
47
+    // article, 23, auteurs
48
+    // associer des auteurs à l'article 23, sur la table pivot spip_articles_liens
49
+    if (is_numeric($b) && !is_numeric($c)) {
50
+        $table_source = table_objet($c);
51
+        $objet_lien = objet_type($a);
52
+        $objet = objet_type($a);
53
+        $id_objet = $b;
54
+    }
55
+
56
+    return [$table_source, $objet, $id_objet, $objet_lien];
57 57
 }
58 58
 
59 59
 /**
@@ -79,87 +79,87 @@  discard block
 block discarded – undo
79 79
  */
80 80
 function formulaires_editer_liens_charger_dist($a, $b, $c, $options = []) {
81 81
 
82
-	// compat avec ancienne signature ou le 4eme argument est $editable
83
-	if (!is_array($options)) {
84
-		$options = ['editable' => $options];
85
-	} elseif (!isset($options['editable'])) {
86
-		$options['editable'] = true;
87
-	}
88
-
89
-	$editable = $options['editable'];
90
-
91
-	[$table_source, $objet, $id_objet, $objet_lien] = determine_source_lien_objet($a, $b, $c);
92
-	if (!$table_source || !$objet || !$objet_lien || !$id_objet) {
93
-		return false;
94
-	}
95
-
96
-	$objet_source = objet_type($table_source);
97
-	$table_sql_source = table_objet_sql($objet_source);
98
-
99
-	// verifier existence de la table xxx_liens
100
-	include_spip('action/editer_liens');
101
-	if (!objet_associable($objet_lien)) {
102
-		return false;
103
-	}
104
-
105
-	// L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
106
-	include_spip('inc/autoriser');
107
-	$editable = ($editable
108
-		&& autoriser('associer' . $table_source, $objet, $id_objet)
109
-		&& autoriser('modifier', $objet, $id_objet));
110
-
111
-	if (
112
-		!$editable && !count(objet_trouver_liens(
113
-			[$objet_lien => '*'],
114
-			[($objet_lien == $objet_source ? $objet : $objet_source) => $id_objet]
115
-		))
116
-	) {
117
-		return false;
118
-	}
119
-
120
-	// squelettes de vue et de d'association
121
-	// ils sont différents si des rôles sont définis.
122
-	$skel_vue = $table_source . '_lies';
123
-	$skel_ajout = $table_source . '_associer';
124
-
125
-	// description des roles
126
-	include_spip('inc/roles');
127
-	if ($roles = roles_presents($objet_source, $objet)) {
128
-		// on demande de nouveaux squelettes en conséquence
129
-		$skel_vue = $table_source . '_roles_lies';
130
-		$skel_ajout = $table_source . '_roles_associer';
131
-	}
132
-
133
-	$oups = '';
134
-	if ($editable) {
135
-		$oups = lien_gerer__oups('editer_liens', 'hash');
136
-	}
137
-	$valeurs = [
138
-		'id' => "$table_source-$objet-$id_objet-$objet_lien", // identifiant unique pour les id du form
139
-		'_vue_liee' => $skel_vue,
140
-		'_vue_ajout' => $skel_ajout,
141
-		'_objet_lien' => $objet_lien,
142
-		'id_lien_ajoute' => _request('id_lien_ajoute'),
143
-		'objet' => $objet,
144
-		'id_objet' => $id_objet,
145
-		'objet_source' => $objet_source,
146
-		'table_source' => $table_source,
147
-		'recherche' => '',
148
-		'visible' => 0,
149
-		'ajouter_lien' => '',
150
-		'supprimer_lien' => '',
151
-		'qualifier_lien' => '',
152
-		'ordonner_lien' => '',
153
-		'desordonner_liens' => '',
154
-		'_roles' => $roles, # description des roles
155
-		'_oups' => entites_html($oups),
156
-		'editable' => $editable,
157
-	];
158
-
159
-	// les options non definies dans $valeurs sont passees telles quelles au formulaire html
160
-	$valeurs = array_merge($options, $valeurs);
161
-
162
-	return $valeurs;
82
+    // compat avec ancienne signature ou le 4eme argument est $editable
83
+    if (!is_array($options)) {
84
+        $options = ['editable' => $options];
85
+    } elseif (!isset($options['editable'])) {
86
+        $options['editable'] = true;
87
+    }
88
+
89
+    $editable = $options['editable'];
90
+
91
+    [$table_source, $objet, $id_objet, $objet_lien] = determine_source_lien_objet($a, $b, $c);
92
+    if (!$table_source || !$objet || !$objet_lien || !$id_objet) {
93
+        return false;
94
+    }
95
+
96
+    $objet_source = objet_type($table_source);
97
+    $table_sql_source = table_objet_sql($objet_source);
98
+
99
+    // verifier existence de la table xxx_liens
100
+    include_spip('action/editer_liens');
101
+    if (!objet_associable($objet_lien)) {
102
+        return false;
103
+    }
104
+
105
+    // L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
106
+    include_spip('inc/autoriser');
107
+    $editable = ($editable
108
+        && autoriser('associer' . $table_source, $objet, $id_objet)
109
+        && autoriser('modifier', $objet, $id_objet));
110
+
111
+    if (
112
+        !$editable && !count(objet_trouver_liens(
113
+            [$objet_lien => '*'],
114
+            [($objet_lien == $objet_source ? $objet : $objet_source) => $id_objet]
115
+        ))
116
+    ) {
117
+        return false;
118
+    }
119
+
120
+    // squelettes de vue et de d'association
121
+    // ils sont différents si des rôles sont définis.
122
+    $skel_vue = $table_source . '_lies';
123
+    $skel_ajout = $table_source . '_associer';
124
+
125
+    // description des roles
126
+    include_spip('inc/roles');
127
+    if ($roles = roles_presents($objet_source, $objet)) {
128
+        // on demande de nouveaux squelettes en conséquence
129
+        $skel_vue = $table_source . '_roles_lies';
130
+        $skel_ajout = $table_source . '_roles_associer';
131
+    }
132
+
133
+    $oups = '';
134
+    if ($editable) {
135
+        $oups = lien_gerer__oups('editer_liens', 'hash');
136
+    }
137
+    $valeurs = [
138
+        'id' => "$table_source-$objet-$id_objet-$objet_lien", // identifiant unique pour les id du form
139
+        '_vue_liee' => $skel_vue,
140
+        '_vue_ajout' => $skel_ajout,
141
+        '_objet_lien' => $objet_lien,
142
+        'id_lien_ajoute' => _request('id_lien_ajoute'),
143
+        'objet' => $objet,
144
+        'id_objet' => $id_objet,
145
+        'objet_source' => $objet_source,
146
+        'table_source' => $table_source,
147
+        'recherche' => '',
148
+        'visible' => 0,
149
+        'ajouter_lien' => '',
150
+        'supprimer_lien' => '',
151
+        'qualifier_lien' => '',
152
+        'ordonner_lien' => '',
153
+        'desordonner_liens' => '',
154
+        '_roles' => $roles, # description des roles
155
+        '_oups' => entites_html($oups),
156
+        'editable' => $editable,
157
+    ];
158
+
159
+    // les options non definies dans $valeurs sont passees telles quelles au formulaire html
160
+    $valeurs = array_merge($options, $valeurs);
161
+
162
+    return $valeurs;
163 163
 }
164 164
 
165 165
 /**
@@ -203,170 +203,170 @@  discard block
 block discarded – undo
203 203
  * @return array
204 204
  */
205 205
 function formulaires_editer_liens_traiter_dist($a, $b, $c, $options = []) {
206
-	// compat avec ancienne signature ou le 4eme argument est $editable
207
-	if (!is_array($options)) {
208
-		$options = ['editable' => $options];
209
-	} elseif (!isset($options['editable'])) {
210
-		$options['editable'] = true;
211
-	}
212
-
213
-	$editable = $options['editable'];
214
-
215
-	$res = ['editable' => (bool) $editable];
216
-	[$table_source, $objet, $id_objet, $objet_lien] = determine_source_lien_objet($a, $b, $c);
217
-	if (!$table_source || !$objet || !$objet_lien) {
218
-		return $res;
219
-	}
220
-
221
-
222
-	if (_request('tout_voir')) {
223
-		set_request('recherche', '');
224
-	}
225
-
226
-	include_spip('inc/autoriser');
227
-	if (autoriser('modifier', $objet, $id_objet)) {
228
-		// recuperer le oups du coup d'avant pour le propager à charger() si on ne fait rien par exemple
229
-		lien_gerer__oups('editer_liens', 'request');
230
-
231
-		// annuler les suppressions du coup d'avant ?
232
-		if (
233
-			_request('annuler_oups')
234
-			&& ($oups = lien_gerer__oups('editer_liens', 'get'))
235
-		) {
236
-			if ($oups_objets = charger_fonction("editer_liens_oups_{$table_source}_{$objet}_{$objet_lien}", 'action', true)) {
237
-				$oups_objets($oups);
238
-			} else {
239
-				$objet_source = objet_type($table_source);
240
-				include_spip('action/editer_liens');
241
-				foreach ($oups as $oup) {
242
-					if ($objet_lien == $objet_source) {
243
-						objet_associer([$objet_source => $oup[$objet_source]], [$objet => $oup[$objet]], $oup);
244
-					} else {
245
-						objet_associer([$objet => $oup[$objet]], [$objet_source => $oup[$objet_source]], $oup);
246
-					}
247
-				}
248
-			}
249
-			# oups ne persiste que pour la derniere action, si suppression
250
-			lien_gerer__oups('editer_liens', 'reset');
251
-		}
252
-
253
-		$supprimer = _request('supprimer_lien');
254
-		$ajouter = _request('ajouter_lien');
255
-		$ordonner = _request('ordonner_lien');
256
-
257
-		if (_request('desordonner_liens')) {
258
-			include_spip('action/editer_liens');
259
-			objet_qualifier_liens([$objet_lien => '*'], [$objet => $id_objet], ['rang_lien' => 0]);
260
-		}
261
-
262
-		// il est possible de preciser dans une seule variable un remplacement :
263
-		// remplacer_lien[old][new]
264
-		if ($remplacer = _request('remplacer_lien')) {
265
-			foreach ($remplacer as $k => $v) {
266
-				if ($old = lien_verifier_action($k, '')) {
267
-					foreach (is_array($v) ? $v : [$v] as $kn => $vn) {
268
-						if ($new = lien_verifier_action($kn, $vn)) {
269
-							$supprimer[$old] = 'x';
270
-							$ajouter[$new] = '+';
271
-						}
272
-					}
273
-				}
274
-			}
275
-		}
276
-
277
-		if ($supprimer) {
278
-			if (
279
-				$supprimer_objets = charger_fonction(
280
-					"editer_liens_supprimer_{$table_source}_{$objet}_{$objet_lien}",
281
-					'action',
282
-					true
283
-				)
284
-			) {
285
-				$oups = $supprimer_objets($supprimer);
286
-			} else {
287
-				include_spip('action/editer_liens');
288
-				$oups = [];
289
-
290
-				foreach ($supprimer as $k => $v) {
291
-					if ($lien = lien_verifier_action($k, $v)) {
292
-						$lien = explode('-', $lien);
293
-						[$objet_source, $ids, $objet_lie, $idl, $role] = array_pad($lien, 5, null);
294
-						// appliquer une condition sur le rôle si défini ('*' pour tous les roles)
295
-						$cond = (is_null($role) ? [] : ['role' => $role]);
296
-						if ($objet_lien == $objet_source) {
297
-							$oups = array_merge(
298
-								$oups,
299
-								objet_trouver_liens([$objet_source => $ids], [$objet_lie => $idl], $cond)
300
-							);
301
-							objet_dissocier([$objet_source => $ids], [$objet_lie => $idl], $cond);
302
-						} else {
303
-							$oups = array_merge(
304
-								$oups,
305
-								objet_trouver_liens([$objet_lie => $idl], [$objet_source => $ids], $cond)
306
-							);
307
-							objet_dissocier([$objet_lie => $idl], [$objet_source => $ids], $cond);
308
-						}
309
-					}
310
-				}
311
-			}
312
-			if (!empty($oups)) {
313
-				lien_gerer__oups('editer_liens', 'set', $oups);
314
-			} else {
315
-				lien_gerer__oups('editer_liens', 'reset');
316
-			}
317
-		}
318
-
319
-		if ($ajouter) {
320
-			if (
321
-				$ajouter_objets = charger_fonction("editer_liens_ajouter_{$table_source}_{$objet}_{$objet_lien}", 'action', true)
322
-			) {
323
-				$ajout_ok = $ajouter_objets($ajouter);
324
-			} else {
325
-				$ajout_ok = false;
326
-				include_spip('action/editer_liens');
327
-				foreach ($ajouter as $k => $v) {
328
-					if ($lien = lien_verifier_action($k, $v)) {
329
-						$ajout_ok = true;
330
-						[$objet1, $ids, $objet2, $idl] = explode('-', $lien);
331
-						$qualifs = lien_retrouver_qualif($objet_lien, $lien);
332
-						if ($objet_lien == $objet1) {
333
-							lien_ajouter_liaisons($objet1, $ids, $objet2, $idl, $qualifs);
334
-						} else {
335
-							lien_ajouter_liaisons($objet2, $idl, $objet1, $ids, $qualifs);
336
-						}
337
-						set_request('id_lien_ajoute', $ids);
338
-					}
339
-				}
340
-			}
341
-			# oups ne persiste que pour la derniere action, si suppression
342
-			# une suppression suivie d'un ajout dans le meme hit est un remplacement
343
-			# non annulable !
344
-			if ($ajout_ok) {
345
-				lien_gerer__oups('editer_liens', 'reset');
346
-			}
347
-		}
348
-
349
-		if ($ordonner) {
350
-			include_spip('action/editer_liens');
351
-			foreach ($ordonner as $k => $rang_lien) {
352
-				if ($lien = lien_verifier_action($k, '')) {
353
-					[$objet1, $ids, $objet2, $idl] = explode('-', $lien);
354
-					$qualif = ['rang_lien' => $rang_lien];
355
-
356
-					if ($objet_lien == $objet1) {
357
-						objet_qualifier_liens([$objet1 => $ids], [$objet2 => $idl], $qualif);
358
-					} else {
359
-						objet_qualifier_liens([$objet2 => $idl], [$objet1 => $ids], $qualif);
360
-					}
361
-					set_request('id_lien_ajoute', $ids);
362
-					lien_gerer__oups('editer_liens', 'reset');
363
-				}
364
-			}
365
-		}
366
-	}
367
-
368
-
369
-	return $res;
206
+    // compat avec ancienne signature ou le 4eme argument est $editable
207
+    if (!is_array($options)) {
208
+        $options = ['editable' => $options];
209
+    } elseif (!isset($options['editable'])) {
210
+        $options['editable'] = true;
211
+    }
212
+
213
+    $editable = $options['editable'];
214
+
215
+    $res = ['editable' => (bool) $editable];
216
+    [$table_source, $objet, $id_objet, $objet_lien] = determine_source_lien_objet($a, $b, $c);
217
+    if (!$table_source || !$objet || !$objet_lien) {
218
+        return $res;
219
+    }
220
+
221
+
222
+    if (_request('tout_voir')) {
223
+        set_request('recherche', '');
224
+    }
225
+
226
+    include_spip('inc/autoriser');
227
+    if (autoriser('modifier', $objet, $id_objet)) {
228
+        // recuperer le oups du coup d'avant pour le propager à charger() si on ne fait rien par exemple
229
+        lien_gerer__oups('editer_liens', 'request');
230
+
231
+        // annuler les suppressions du coup d'avant ?
232
+        if (
233
+            _request('annuler_oups')
234
+            && ($oups = lien_gerer__oups('editer_liens', 'get'))
235
+        ) {
236
+            if ($oups_objets = charger_fonction("editer_liens_oups_{$table_source}_{$objet}_{$objet_lien}", 'action', true)) {
237
+                $oups_objets($oups);
238
+            } else {
239
+                $objet_source = objet_type($table_source);
240
+                include_spip('action/editer_liens');
241
+                foreach ($oups as $oup) {
242
+                    if ($objet_lien == $objet_source) {
243
+                        objet_associer([$objet_source => $oup[$objet_source]], [$objet => $oup[$objet]], $oup);
244
+                    } else {
245
+                        objet_associer([$objet => $oup[$objet]], [$objet_source => $oup[$objet_source]], $oup);
246
+                    }
247
+                }
248
+            }
249
+            # oups ne persiste que pour la derniere action, si suppression
250
+            lien_gerer__oups('editer_liens', 'reset');
251
+        }
252
+
253
+        $supprimer = _request('supprimer_lien');
254
+        $ajouter = _request('ajouter_lien');
255
+        $ordonner = _request('ordonner_lien');
256
+
257
+        if (_request('desordonner_liens')) {
258
+            include_spip('action/editer_liens');
259
+            objet_qualifier_liens([$objet_lien => '*'], [$objet => $id_objet], ['rang_lien' => 0]);
260
+        }
261
+
262
+        // il est possible de preciser dans une seule variable un remplacement :
263
+        // remplacer_lien[old][new]
264
+        if ($remplacer = _request('remplacer_lien')) {
265
+            foreach ($remplacer as $k => $v) {
266
+                if ($old = lien_verifier_action($k, '')) {
267
+                    foreach (is_array($v) ? $v : [$v] as $kn => $vn) {
268
+                        if ($new = lien_verifier_action($kn, $vn)) {
269
+                            $supprimer[$old] = 'x';
270
+                            $ajouter[$new] = '+';
271
+                        }
272
+                    }
273
+                }
274
+            }
275
+        }
276
+
277
+        if ($supprimer) {
278
+            if (
279
+                $supprimer_objets = charger_fonction(
280
+                    "editer_liens_supprimer_{$table_source}_{$objet}_{$objet_lien}",
281
+                    'action',
282
+                    true
283
+                )
284
+            ) {
285
+                $oups = $supprimer_objets($supprimer);
286
+            } else {
287
+                include_spip('action/editer_liens');
288
+                $oups = [];
289
+
290
+                foreach ($supprimer as $k => $v) {
291
+                    if ($lien = lien_verifier_action($k, $v)) {
292
+                        $lien = explode('-', $lien);
293
+                        [$objet_source, $ids, $objet_lie, $idl, $role] = array_pad($lien, 5, null);
294
+                        // appliquer une condition sur le rôle si défini ('*' pour tous les roles)
295
+                        $cond = (is_null($role) ? [] : ['role' => $role]);
296
+                        if ($objet_lien == $objet_source) {
297
+                            $oups = array_merge(
298
+                                $oups,
299
+                                objet_trouver_liens([$objet_source => $ids], [$objet_lie => $idl], $cond)
300
+                            );
301
+                            objet_dissocier([$objet_source => $ids], [$objet_lie => $idl], $cond);
302
+                        } else {
303
+                            $oups = array_merge(
304
+                                $oups,
305
+                                objet_trouver_liens([$objet_lie => $idl], [$objet_source => $ids], $cond)
306
+                            );
307
+                            objet_dissocier([$objet_lie => $idl], [$objet_source => $ids], $cond);
308
+                        }
309
+                    }
310
+                }
311
+            }
312
+            if (!empty($oups)) {
313
+                lien_gerer__oups('editer_liens', 'set', $oups);
314
+            } else {
315
+                lien_gerer__oups('editer_liens', 'reset');
316
+            }
317
+        }
318
+
319
+        if ($ajouter) {
320
+            if (
321
+                $ajouter_objets = charger_fonction("editer_liens_ajouter_{$table_source}_{$objet}_{$objet_lien}", 'action', true)
322
+            ) {
323
+                $ajout_ok = $ajouter_objets($ajouter);
324
+            } else {
325
+                $ajout_ok = false;
326
+                include_spip('action/editer_liens');
327
+                foreach ($ajouter as $k => $v) {
328
+                    if ($lien = lien_verifier_action($k, $v)) {
329
+                        $ajout_ok = true;
330
+                        [$objet1, $ids, $objet2, $idl] = explode('-', $lien);
331
+                        $qualifs = lien_retrouver_qualif($objet_lien, $lien);
332
+                        if ($objet_lien == $objet1) {
333
+                            lien_ajouter_liaisons($objet1, $ids, $objet2, $idl, $qualifs);
334
+                        } else {
335
+                            lien_ajouter_liaisons($objet2, $idl, $objet1, $ids, $qualifs);
336
+                        }
337
+                        set_request('id_lien_ajoute', $ids);
338
+                    }
339
+                }
340
+            }
341
+            # oups ne persiste que pour la derniere action, si suppression
342
+            # une suppression suivie d'un ajout dans le meme hit est un remplacement
343
+            # non annulable !
344
+            if ($ajout_ok) {
345
+                lien_gerer__oups('editer_liens', 'reset');
346
+            }
347
+        }
348
+
349
+        if ($ordonner) {
350
+            include_spip('action/editer_liens');
351
+            foreach ($ordonner as $k => $rang_lien) {
352
+                if ($lien = lien_verifier_action($k, '')) {
353
+                    [$objet1, $ids, $objet2, $idl] = explode('-', $lien);
354
+                    $qualif = ['rang_lien' => $rang_lien];
355
+
356
+                    if ($objet_lien == $objet1) {
357
+                        objet_qualifier_liens([$objet1 => $ids], [$objet2 => $idl], $qualif);
358
+                    } else {
359
+                        objet_qualifier_liens([$objet2 => $idl], [$objet1 => $ids], $qualif);
360
+                    }
361
+                    set_request('id_lien_ajoute', $ids);
362
+                    lien_gerer__oups('editer_liens', 'reset');
363
+                }
364
+            }
365
+        }
366
+    }
367
+
368
+
369
+    return $res;
370 370
 }
371 371
 
372 372
 
@@ -389,24 +389,24 @@  discard block
 block discarded – undo
389 389
  * @return string Action demandée si trouvée, sinon ''
390 390
  */
391 391
 function lien_verifier_action($k, $v) {
392
-	$action = '';
393
-	if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $k)) {
394
-		$action = $k;
395
-	}
396
-	if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $v)) {
397
-		if (is_numeric($k)) {
398
-			$action = $v;
399
-		}
400
-		if (_request($k)) {
401
-			$action = $v;
402
-		}
403
-	}
404
-	// ajout un role null fictif (plus pratique) si pas défini
405
-	if ($action && count(explode('-', $action)) == 4) {
406
-		$action .= '-';
407
-	}
408
-
409
-	return $action;
392
+    $action = '';
393
+    if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $k)) {
394
+        $action = $k;
395
+    }
396
+    if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $v)) {
397
+        if (is_numeric($k)) {
398
+            $action = $v;
399
+        }
400
+        if (_request($k)) {
401
+            $action = $v;
402
+        }
403
+    }
404
+    // ajout un role null fictif (plus pratique) si pas défini
405
+    if ($action && count(explode('-', $action)) == 4) {
406
+        $action .= '-';
407
+    }
408
+
409
+    return $action;
410 410
 }
411 411
 
412 412
 
@@ -422,62 +422,62 @@  discard block
 block discarded – undo
422 422
  *   Liste des qualifs pour chaque lien. Tableau vide s'il n'y en a pas.
423 423
  **/
424 424
 function lien_retrouver_qualif($objet_lien, $lien) {
425
-	// un role est défini dans la liaison
426
-	$defs = explode('-', $lien);
427
-	[$objet1, , $objet2, , $role] = array_pad($defs, 5, null);
428
-	$colonne_role = $objet_lien == $objet1 ? roles_colonne($objet1, $objet2) : roles_colonne($objet2, $objet1);
429
-
430
-	// cas ou le role est defini en 5e argument de l'action sur le lien (suppression, ajout rapide sans autre attribut)
431
-	if ($role) {
432
-		return [
433
-			// un seul lien avec ce role
434
-			[$colonne_role => $role]
435
-		];
436
-	}
437
-
438
-	// retrouver les rôles postés pour cette liaison, s'il y en a.
439
-	$qualifier_lien = _request('qualifier_lien');
440
-	if (!$qualifier_lien || !is_array($qualifier_lien)) {
441
-		return [];
442
-	}
443
-
444
-	// pas avec l'action complete (incluant le role)
445
-	$qualif = [];
446
-	if (
447
-		(!isset($qualifier_lien[$lien]) || !$qualif = $qualifier_lien[$lien])
448
-		&& count($defs) == 5
449
-	) {
450
-		// on tente avec l'action sans le role
451
-		array_pop($defs);
452
-		$lien = implode('-', $defs);
453
-		if (!isset($qualifier_lien[$lien]) || !$qualif = $qualifier_lien[$lien]) {
454
-			$qualif = [];
455
-		}
456
-	}
457
-
458
-	// $qualif de la forme array(role=>array(...),valeur=>array(...),....)
459
-	// on le reforme en array(array(role=>..,valeur=>..,..),array(role=>..,valeur=>..,..),...)
460
-	$qualifs = [];
461
-	while (is_countable($qualif) ? count($qualif) : 0) {
462
-		$q = [];
463
-		foreach ($qualif as $att => $values) {
464
-			if (is_array($values)) {
465
-				$q[$att] = array_shift($qualif[$att]);
466
-				if (!(is_countable($qualif[$att]) ? count($qualif[$att]) : 0)) {
467
-					unset($qualif[$att]);
468
-				}
469
-			} else {
470
-				$q[$att] = $values;
471
-				unset($qualif[$att]);
472
-			}
473
-		}
474
-		// pas de rôle vide
475
-		if (!$colonne_role || !isset($q[$colonne_role]) || $q[$colonne_role]) {
476
-			$qualifs[] = $q;
477
-		}
478
-	}
479
-
480
-	return $qualifs;
425
+    // un role est défini dans la liaison
426
+    $defs = explode('-', $lien);
427
+    [$objet1, , $objet2, , $role] = array_pad($defs, 5, null);
428
+    $colonne_role = $objet_lien == $objet1 ? roles_colonne($objet1, $objet2) : roles_colonne($objet2, $objet1);
429
+
430
+    // cas ou le role est defini en 5e argument de l'action sur le lien (suppression, ajout rapide sans autre attribut)
431
+    if ($role) {
432
+        return [
433
+            // un seul lien avec ce role
434
+            [$colonne_role => $role]
435
+        ];
436
+    }
437
+
438
+    // retrouver les rôles postés pour cette liaison, s'il y en a.
439
+    $qualifier_lien = _request('qualifier_lien');
440
+    if (!$qualifier_lien || !is_array($qualifier_lien)) {
441
+        return [];
442
+    }
443
+
444
+    // pas avec l'action complete (incluant le role)
445
+    $qualif = [];
446
+    if (
447
+        (!isset($qualifier_lien[$lien]) || !$qualif = $qualifier_lien[$lien])
448
+        && count($defs) == 5
449
+    ) {
450
+        // on tente avec l'action sans le role
451
+        array_pop($defs);
452
+        $lien = implode('-', $defs);
453
+        if (!isset($qualifier_lien[$lien]) || !$qualif = $qualifier_lien[$lien]) {
454
+            $qualif = [];
455
+        }
456
+    }
457
+
458
+    // $qualif de la forme array(role=>array(...),valeur=>array(...),....)
459
+    // on le reforme en array(array(role=>..,valeur=>..,..),array(role=>..,valeur=>..,..),...)
460
+    $qualifs = [];
461
+    while (is_countable($qualif) ? count($qualif) : 0) {
462
+        $q = [];
463
+        foreach ($qualif as $att => $values) {
464
+            if (is_array($values)) {
465
+                $q[$att] = array_shift($qualif[$att]);
466
+                if (!(is_countable($qualif[$att]) ? count($qualif[$att]) : 0)) {
467
+                    unset($qualif[$att]);
468
+                }
469
+            } else {
470
+                $q[$att] = $values;
471
+                unset($qualif[$att]);
472
+            }
473
+        }
474
+        // pas de rôle vide
475
+        if (!$colonne_role || !isset($q[$colonne_role]) || $q[$colonne_role]) {
476
+            $qualifs[] = $q;
477
+        }
478
+    }
479
+
480
+    return $qualifs;
481 481
 }
482 482
 
483 483
 /**
@@ -496,14 +496,14 @@  discard block
 block discarded – undo
496 496
  **/
497 497
 function lien_ajouter_liaisons($objet_source, $ids, $objet_lien, $idl, $qualifs) {
498 498
 
499
-	// retrouver la colonne de roles s'il y en a a lier
500
-	if (is_array($qualifs) && count($qualifs)) {
501
-		foreach ($qualifs as $qualif) {
502
-			objet_associer([$objet_source => $ids], [$objet_lien => $idl], $qualif);
503
-		}
504
-	} else {
505
-		objet_associer([$objet_source => $ids], [$objet_lien => $idl]);
506
-	}
499
+    // retrouver la colonne de roles s'il y en a a lier
500
+    if (is_array($qualifs) && count($qualifs)) {
501
+        foreach ($qualifs as $qualif) {
502
+            objet_associer([$objet_source => $ids], [$objet_lien => $idl], $qualif);
503
+        }
504
+    } else {
505
+        objet_associer([$objet_source => $ids], [$objet_lien => $idl]);
506
+    }
507 507
 }
508 508
 
509 509
 
@@ -513,77 +513,77 @@  discard block
 block discarded – undo
513 513
  * @return array|string|null
514 514
  */
515 515
 function lien_gerer__oups(string $form, string $action, ?array $valeur = null) {
516
-	static $_oups_value;
517
-
518
-	switch ($action) {
519
-		case 'reset':
520
-			$res = !empty($_oups_value);
521
-			$_oups_value = null;
522
-			return $res;
523
-
524
-		case 'get':
525
-			return $_oups_value ?: null;
526
-
527
-		case 'set':
528
-			$_oups_value = $valeur;
529
-			return true;
530
-
531
-		case 'request':
532
-			$_oups_value = null;
533
-			if ($oups = _request('_oups')) {
534
-				include_spip('inc/filtres');
535
-				// on accepte uniquement une valeur signée
536
-				if ($oups = decoder_contexte_ajax($oups, $form)) {
537
-					if (
538
-						!is_array($oups)
539
-						|| empty($oups['id_auteur'])
540
-						|| $oups['id_auteur'] !== $GLOBALS['visiteur_session']['id_auteur']
541
-						|| empty($oups['time'])
542
-						|| $oups['time'] < $_SERVER['REQUEST_TIME'] - 86400
543
-						|| empty($oups['args'])
544
-						|| $oups['args'] !== lien_gerer__oups_collecter_args($form, debug_backtrace(0, 5))
545
-						|| empty($oups['oups_value'])
546
-					) {
547
-						$oups = null;
548
-					}
549
-					else {
550
-						$oups = $oups['oups_value'];
551
-						// controler le contenu
552
-						foreach ($oups as $k => $oup) {
553
-							if (!is_array($oup)) {
554
-								unset($oups[$k]);
555
-							} else {
556
-								foreach ($oup as $champ => $valeur) {
557
-									if (!is_scalar($champ) || !is_scalar($valeur) || preg_match(',\W,', $champ)) {
558
-										unset($oups[$k][$champ]);
559
-									}
560
-								}
561
-								if (empty($oups[$k])) {
562
-									unset($oups[$k]);
563
-								}
564
-							}
565
-						}
566
-					}
567
-					$_oups_value = $oups;
568
-					return $_oups_value;
569
-				}
570
-			}
571
-			break;
572
-
573
-		case 'hash':
574
-			if (!$_oups_value) {
575
-				return '';
576
-			}
577
-
578
-			include_spip('inc/filtres');
579
-			$oups = [
580
-				'id_auteur' => $GLOBALS['visiteur_session']['id_auteur'] ?? 0,
581
-				'time' => strtotime(date('Y-m-d H:00:00')),
582
-				'args' => lien_gerer__oups_collecter_args($form, debug_backtrace(0, 5)),
583
-				'oups_value' => $_oups_value,
584
-			];
585
-			return encoder_contexte_ajax($oups, $form);
586
-	}
516
+    static $_oups_value;
517
+
518
+    switch ($action) {
519
+        case 'reset':
520
+            $res = !empty($_oups_value);
521
+            $_oups_value = null;
522
+            return $res;
523
+
524
+        case 'get':
525
+            return $_oups_value ?: null;
526
+
527
+        case 'set':
528
+            $_oups_value = $valeur;
529
+            return true;
530
+
531
+        case 'request':
532
+            $_oups_value = null;
533
+            if ($oups = _request('_oups')) {
534
+                include_spip('inc/filtres');
535
+                // on accepte uniquement une valeur signée
536
+                if ($oups = decoder_contexte_ajax($oups, $form)) {
537
+                    if (
538
+                        !is_array($oups)
539
+                        || empty($oups['id_auteur'])
540
+                        || $oups['id_auteur'] !== $GLOBALS['visiteur_session']['id_auteur']
541
+                        || empty($oups['time'])
542
+                        || $oups['time'] < $_SERVER['REQUEST_TIME'] - 86400
543
+                        || empty($oups['args'])
544
+                        || $oups['args'] !== lien_gerer__oups_collecter_args($form, debug_backtrace(0, 5))
545
+                        || empty($oups['oups_value'])
546
+                    ) {
547
+                        $oups = null;
548
+                    }
549
+                    else {
550
+                        $oups = $oups['oups_value'];
551
+                        // controler le contenu
552
+                        foreach ($oups as $k => $oup) {
553
+                            if (!is_array($oup)) {
554
+                                unset($oups[$k]);
555
+                            } else {
556
+                                foreach ($oup as $champ => $valeur) {
557
+                                    if (!is_scalar($champ) || !is_scalar($valeur) || preg_match(',\W,', $champ)) {
558
+                                        unset($oups[$k][$champ]);
559
+                                    }
560
+                                }
561
+                                if (empty($oups[$k])) {
562
+                                    unset($oups[$k]);
563
+                                }
564
+                            }
565
+                        }
566
+                    }
567
+                    $_oups_value = $oups;
568
+                    return $_oups_value;
569
+                }
570
+            }
571
+            break;
572
+
573
+        case 'hash':
574
+            if (!$_oups_value) {
575
+                return '';
576
+            }
577
+
578
+            include_spip('inc/filtres');
579
+            $oups = [
580
+                'id_auteur' => $GLOBALS['visiteur_session']['id_auteur'] ?? 0,
581
+                'time' => strtotime(date('Y-m-d H:00:00')),
582
+                'args' => lien_gerer__oups_collecter_args($form, debug_backtrace(0, 5)),
583
+                'oups_value' => $_oups_value,
584
+            ];
585
+            return encoder_contexte_ajax($oups, $form);
586
+    }
587 587
 }
588 588
 
589 589
 /**
@@ -593,19 +593,19 @@  discard block
 block discarded – undo
593 593
  * @return string
594 594
  */
595 595
 function lien_gerer__oups_collecter_args($form, $trace) {
596
-	$args = '';
597
-	if (!empty($trace)) {
598
-		do {
599
-			$t = array_shift($trace);
600
-			$function = $t['function'] ?? '';
601
-			if (str_starts_with((string) $function, 'formulaires_' . $form)) {
602
-				if (isset($t['args'])) {
603
-					$args = json_encode($t['args'], JSON_THROW_ON_ERROR);
604
-				}
605
-				break;
606
-			}
607
-		}
608
-		while (count($trace));
609
-	}
610
-	return $args;
596
+    $args = '';
597
+    if (!empty($trace)) {
598
+        do {
599
+            $t = array_shift($trace);
600
+            $function = $t['function'] ?? '';
601
+            if (str_starts_with((string) $function, 'formulaires_' . $form)) {
602
+                if (isset($t['args'])) {
603
+                    $args = json_encode($t['args'], JSON_THROW_ON_ERROR);
604
+                }
605
+                break;
606
+            }
607
+        }
608
+        while (count($trace));
609
+    }
610
+    return $args;
611 611
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -105,7 +105,7 @@  discard block
 block discarded – undo
105 105
 	// L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
106 106
 	include_spip('inc/autoriser');
107 107
 	$editable = ($editable
108
-		&& autoriser('associer' . $table_source, $objet, $id_objet)
108
+		&& autoriser('associer'.$table_source, $objet, $id_objet)
109 109
 		&& autoriser('modifier', $objet, $id_objet));
110 110
 
111 111
 	if (
@@ -119,15 +119,15 @@  discard block
 block discarded – undo
119 119
 
120 120
 	// squelettes de vue et de d'association
121 121
 	// ils sont différents si des rôles sont définis.
122
-	$skel_vue = $table_source . '_lies';
123
-	$skel_ajout = $table_source . '_associer';
122
+	$skel_vue = $table_source.'_lies';
123
+	$skel_ajout = $table_source.'_associer';
124 124
 
125 125
 	// description des roles
126 126
 	include_spip('inc/roles');
127 127
 	if ($roles = roles_presents($objet_source, $objet)) {
128 128
 		// on demande de nouveaux squelettes en conséquence
129
-		$skel_vue = $table_source . '_roles_lies';
130
-		$skel_ajout = $table_source . '_roles_associer';
129
+		$skel_vue = $table_source.'_roles_lies';
130
+		$skel_ajout = $table_source.'_roles_associer';
131 131
 	}
132 132
 
133 133
 	$oups = '';
@@ -424,7 +424,7 @@  discard block
 block discarded – undo
424 424
 function lien_retrouver_qualif($objet_lien, $lien) {
425 425
 	// un role est défini dans la liaison
426 426
 	$defs = explode('-', $lien);
427
-	[$objet1, , $objet2, , $role] = array_pad($defs, 5, null);
427
+	[$objet1,, $objet2,, $role] = array_pad($defs, 5, null);
428 428
 	$colonne_role = $objet_lien == $objet1 ? roles_colonne($objet1, $objet2) : roles_colonne($objet2, $objet1);
429 429
 
430 430
 	// cas ou le role est defini en 5e argument de l'action sur le lien (suppression, ajout rapide sans autre attribut)
@@ -598,7 +598,7 @@  discard block
 block discarded – undo
598 598
 		do {
599 599
 			$t = array_shift($trace);
600 600
 			$function = $t['function'] ?? '';
601
-			if (str_starts_with((string) $function, 'formulaires_' . $form)) {
601
+			if (str_starts_with((string) $function, 'formulaires_'.$form)) {
602 602
 				if (isset($t['args'])) {
603 603
 					$args = json_encode($t['args'], JSON_THROW_ON_ERROR);
604 604
 				}
Please login to merge, or discard this patch.
prive/formulaires/editer_auteur.php 3 patches
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.
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((string) $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((string) $url, ':')
239 239
 		&& strncasecmp((string) $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.
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((string) $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((string) $url, ':')
239
-		&& strncasecmp((string) $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((string) $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((string) $url, ':')
239
+        && strncasecmp((string) $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((string) $v, 'rubrique|')) {
365
-				$restreintes[$k] = substr((string) $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 ((bool) $objet && (bool) $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((string) $v, 'rubrique|')) {
365
+                $restreintes[$k] = substr((string) $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 ((bool) $objet && (bool) $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.
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/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
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.
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((string) ($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((string) ($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.
prive/formulaires/inscription.php 2 patches
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.
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((string) _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((string) _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.
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/rediriger_article.php 2 patches
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -20,7 +20,7 @@  discard block
 block discarded – undo
20 20
 		return false;
21 21
 	}
22 22
 
23
-	$row = sql_fetsel('id_article,virtuel', 'spip_articles', 'id_article=' . (int) $id_article);
23
+	$row = sql_fetsel('id_article,virtuel', 'spip_articles', 'id_article='.(int) $id_article);
24 24
 	if (!$row['id_article']) {
25 25
 		return false;
26 26
 	}
@@ -47,7 +47,7 @@  discard block
 block discarded – undo
47 47
 function formulaires_rediriger_article_verifier_dist($id_article, $retour = '') {
48 48
 	$erreurs = [];
49 49
 
50
-	if (($redirection = _request('redirection')) == $id_article || $redirection == 'art' . $id_article) {
50
+	if (($redirection = _request('redirection')) == $id_article || $redirection == 'art'.$id_article) {
51 51
 		$erreurs['redirection'] = _T('info_redirection_boucle');
52 52
 	}
53 53
 
@@ -67,7 +67,7 @@  discard block
 block discarded – undo
67 67
 	$js = _AJAX ? '<script type="text/javascript">if (window.ajaxReload) ajaxReload("wysiwyg");</script>' : '';
68 68
 
69 69
 	return [
70
-		'message_ok' => ($url ? _T('info_redirection_activee') : _T('info_redirection_desactivee')) . $js,
70
+		'message_ok' => ($url ? _T('info_redirection_activee') : _T('info_redirection_desactivee')).$js,
71 71
 		'editable' => true
72 72
 	];
73 73
 }
Please login to merge, or discard this patch.
Indentation   +45 added lines, -45 removed lines patch added patch discarded remove patch
@@ -10,65 +10,65 @@
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 function formulaires_rediriger_article_charger_dist($id_article, $retour = '') {
17 17
 
18
-	include_spip('inc/autoriser');
19
-	if (!autoriser('modifier', 'article', $id_article)) {
20
-		return false;
21
-	}
22
-
23
-	$row = sql_fetsel('id_article,virtuel', 'spip_articles', 'id_article=' . (int) $id_article);
24
-	if (!$row['id_article']) {
25
-		return false;
26
-	}
27
-	include_spip('inc/lien');
28
-	$redirection = virtuel_redirige($row['virtuel']);
29
-
30
-	if (
31
-		!$redirection
32
-		&& $GLOBALS['meta']['articles_redirection'] != 'oui'
33
-	) {
34
-		return false;
35
-	}
36
-
37
-
38
-	include_spip('inc/texte');
39
-	include_spip('inc/filtres_ecrire');
40
-
41
-	return [
42
-		'redirection' => $redirection,
43
-		'id' => $id_article,
44
-		'_afficher_url' => ($redirection ? lien_article_virtuel($redirection) : ''),
45
-	];
18
+    include_spip('inc/autoriser');
19
+    if (!autoriser('modifier', 'article', $id_article)) {
20
+        return false;
21
+    }
22
+
23
+    $row = sql_fetsel('id_article,virtuel', 'spip_articles', 'id_article=' . (int) $id_article);
24
+    if (!$row['id_article']) {
25
+        return false;
26
+    }
27
+    include_spip('inc/lien');
28
+    $redirection = virtuel_redirige($row['virtuel']);
29
+
30
+    if (
31
+        !$redirection
32
+        && $GLOBALS['meta']['articles_redirection'] != 'oui'
33
+    ) {
34
+        return false;
35
+    }
36
+
37
+
38
+    include_spip('inc/texte');
39
+    include_spip('inc/filtres_ecrire');
40
+
41
+    return [
42
+        'redirection' => $redirection,
43
+        'id' => $id_article,
44
+        '_afficher_url' => ($redirection ? lien_article_virtuel($redirection) : ''),
45
+    ];
46 46
 }
47 47
 
48 48
 function formulaires_rediriger_article_verifier_dist($id_article, $retour = '') {
49
-	$erreurs = [];
49
+    $erreurs = [];
50 50
 
51
-	if (($redirection = _request('redirection')) == $id_article || $redirection == 'art' . $id_article) {
52
-		$erreurs['redirection'] = _T('info_redirection_boucle');
53
-	}
51
+    if (($redirection = _request('redirection')) == $id_article || $redirection == 'art' . $id_article) {
52
+        $erreurs['redirection'] = _T('info_redirection_boucle');
53
+    }
54 54
 
55
-	return $erreurs;
55
+    return $erreurs;
56 56
 }
57 57
 
58 58
 function formulaires_rediriger_article_traiter_dist($id_article, $retour = '') {
59 59
 
60
-	$url = preg_replace(',^\s*https?://$,i', '', rtrim((string) _request('redirection')));
61
-	if ($url) {
62
-		$url = corriger_caracteres($url);
63
-	}
60
+    $url = preg_replace(',^\s*https?://$,i', '', rtrim((string) _request('redirection')));
61
+    if ($url) {
62
+        $url = corriger_caracteres($url);
63
+    }
64 64
 
65
-	include_spip('action/editer_article');
66
-	article_modifier($id_article, ['virtuel' => $url]);
65
+    include_spip('action/editer_article');
66
+    article_modifier($id_article, ['virtuel' => $url]);
67 67
 
68
-	$js = _AJAX ? '<script type="text/javascript">if (window.ajaxReload) ajaxReload("wysiwyg");</script>' : '';
68
+    $js = _AJAX ? '<script type="text/javascript">if (window.ajaxReload) ajaxReload("wysiwyg");</script>' : '';
69 69
 
70
-	return [
71
-		'message_ok' => ($url ? _T('info_redirection_activee') : _T('info_redirection_desactivee')) . $js,
72
-		'editable' => true
73
-	];
70
+    return [
71
+        'message_ok' => ($url ? _T('info_redirection_activee') : _T('info_redirection_desactivee')) . $js,
72
+        'editable' => true
73
+    ];
74 74
 }
Please login to merge, or discard this patch.