Completed
Push — master ( 9b54d2...c65e43 )
by cam
01:57
created
ecrire/action/editer_auteur.php 2 patches
Indentation   +317 added lines, -317 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  */
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -36,40 +36,40 @@  discard block
 block discarded – undo
36 36
  */
37 37
 function action_editer_auteur_dist($arg = null) {
38 38
 
39
-	if (is_null($arg)) {
40
-		$securiser_action = charger_fonction('securiser_action', 'inc');
41
-		$arg = $securiser_action();
42
-	}
43
-
44
-
45
-	// si id_auteur n'est pas un nombre, c'est une creation
46
-	if (
47
-		!($id_auteur = (int) $arg)
48
-		&& ($id_auteur = auteur_inserer()) > 0
49
-	) {
50
-		# cf. GROS HACK
51
-		# recuperer l'eventuel logo charge avant la creation
52
-		# ils ont un id = 0-id_auteur de la session
53
-		$id_hack = 0 - $GLOBALS['visiteur_session']['id_auteur'];
54
-		$chercher_logo = charger_fonction('chercher_logo', 'inc');
55
-		foreach (['on', 'off'] as $type) {
56
-			if (($logo = $chercher_logo($id_hack, 'id_auteur', $type)) && ($logo = reset($logo))) {
57
-				rename($logo, str_replace($id_hack, $id_auteur, (string) $logo));
58
-			}
59
-		}
60
-	}
61
-
62
-	// Enregistre l'envoi dans la BD
63
-	$err = '';
64
-	if ($id_auteur > 0) {
65
-		$err = auteur_modifier($id_auteur);
66
-	}
67
-
68
-	if ($err) {
69
-		spip_log("echec editeur auteur: $err", _LOG_ERREUR);
70
-	}
71
-
72
-	return [$id_auteur, $err];
39
+    if (is_null($arg)) {
40
+        $securiser_action = charger_fonction('securiser_action', 'inc');
41
+        $arg = $securiser_action();
42
+    }
43
+
44
+
45
+    // si id_auteur n'est pas un nombre, c'est une creation
46
+    if (
47
+        !($id_auteur = (int) $arg)
48
+        && ($id_auteur = auteur_inserer()) > 0
49
+    ) {
50
+        # cf. GROS HACK
51
+        # recuperer l'eventuel logo charge avant la creation
52
+        # ils ont un id = 0-id_auteur de la session
53
+        $id_hack = 0 - $GLOBALS['visiteur_session']['id_auteur'];
54
+        $chercher_logo = charger_fonction('chercher_logo', 'inc');
55
+        foreach (['on', 'off'] as $type) {
56
+            if (($logo = $chercher_logo($id_hack, 'id_auteur', $type)) && ($logo = reset($logo))) {
57
+                rename($logo, str_replace($id_hack, $id_auteur, (string) $logo));
58
+            }
59
+        }
60
+    }
61
+
62
+    // Enregistre l'envoi dans la BD
63
+    $err = '';
64
+    if ($id_auteur > 0) {
65
+        $err = auteur_modifier($id_auteur);
66
+    }
67
+
68
+    if ($err) {
69
+        spip_log("echec editeur auteur: $err", _LOG_ERREUR);
70
+    }
71
+
72
+    return [$id_auteur, $err];
73 73
 }
74 74
 
75 75
 /**
@@ -86,64 +86,64 @@  discard block
 block discarded – undo
86 86
  */
87 87
 function auteur_inserer($source = null, $set = null) {
88 88
 
89
-	// Ce qu'on va demander comme modifications
90
-	$champs = [];
91
-	$champs['source'] = $source ?: 'spip';
92
-
93
-	$champs['login'] = '';
94
-	$champs['statut'] = '5poubelle';  // inutilisable tant qu'il n'a pas ete renseigne et institue
95
-	$champs['webmestre'] = 'non';
96
-	if (empty($champs['imessage'])) {
97
-		$champs['imessage'] = 'oui';
98
-	}
99
-
100
-	if ($set) {
101
-		$champs = array_merge($champs, $set);
102
-	}
103
-
104
-	// Envoyer aux plugins
105
-	$champs = pipeline(
106
-		'pre_insertion',
107
-		[
108
-			'args' => [
109
-				'table' => 'spip_auteurs',
110
-			],
111
-			'data' => $champs
112
-		]
113
-	);
114
-	$id_auteur = sql_insertq('spip_auteurs', $champs);
115
-	pipeline(
116
-		'post_insertion',
117
-		[
118
-			'args' => [
119
-				'table' => 'spip_auteurs',
120
-				'id_objet' => $id_auteur
121
-			],
122
-			'data' => $champs
123
-		]
124
-	);
125
-
126
-	// Appeler une notification
127
-	if ($notifications = charger_fonction('notifications', 'inc')) {
128
-		$notifications(
129
-			'auteur_inserer',
130
-			$id_auteur,
131
-			[
132
-				'champs' => $champs,
133
-			]
134
-		);
135
-		$notifications(
136
-			'objet_inserer',
137
-			$id_auteur,
138
-			[
139
-				'objet' => 'auteur',
140
-				'id_objet' => $id_auteur,
141
-				'champs' => $champs,
142
-			]
143
-		);
144
-	}
145
-
146
-	return $id_auteur;
89
+    // Ce qu'on va demander comme modifications
90
+    $champs = [];
91
+    $champs['source'] = $source ?: 'spip';
92
+
93
+    $champs['login'] = '';
94
+    $champs['statut'] = '5poubelle';  // inutilisable tant qu'il n'a pas ete renseigne et institue
95
+    $champs['webmestre'] = 'non';
96
+    if (empty($champs['imessage'])) {
97
+        $champs['imessage'] = 'oui';
98
+    }
99
+
100
+    if ($set) {
101
+        $champs = array_merge($champs, $set);
102
+    }
103
+
104
+    // Envoyer aux plugins
105
+    $champs = pipeline(
106
+        'pre_insertion',
107
+        [
108
+            'args' => [
109
+                'table' => 'spip_auteurs',
110
+            ],
111
+            'data' => $champs
112
+        ]
113
+    );
114
+    $id_auteur = sql_insertq('spip_auteurs', $champs);
115
+    pipeline(
116
+        'post_insertion',
117
+        [
118
+            'args' => [
119
+                'table' => 'spip_auteurs',
120
+                'id_objet' => $id_auteur
121
+            ],
122
+            'data' => $champs
123
+        ]
124
+    );
125
+
126
+    // Appeler une notification
127
+    if ($notifications = charger_fonction('notifications', 'inc')) {
128
+        $notifications(
129
+            'auteur_inserer',
130
+            $id_auteur,
131
+            [
132
+                'champs' => $champs,
133
+            ]
134
+        );
135
+        $notifications(
136
+            'objet_inserer',
137
+            $id_auteur,
138
+            [
139
+                'objet' => 'auteur',
140
+                'id_objet' => $id_auteur,
141
+                'champs' => $champs,
142
+            ]
143
+        );
144
+    }
145
+
146
+    return $id_auteur;
147 147
 }
148 148
 
149 149
 
@@ -168,70 +168,70 @@  discard block
 block discarded – undo
168 168
  */
169 169
 function auteur_modifier($id_auteur, $set = null, $force_update = false) {
170 170
 
171
-	include_spip('inc/modifier');
172
-	include_spip('inc/filtres');
173
-	$c = collecter_requests(
174
-		// include list
175
-		objet_info('auteur', 'champs_editables'),
176
-		// exclude list
177
-		$force_update ? [] : ['webmestre', 'pass', 'login'],
178
-		// donnees eventuellement fournies
179
-		$set
180
-	);
181
-
182
-	if (
183
-		$err = objet_modifier_champs(
184
-			'auteur',
185
-			$id_auteur,
186
-			[
187
-			'data' => $set,
188
-			'nonvide' => ['nom' => _T('ecrire:item_nouvel_auteur')]
189
-			],
190
-			$c
191
-		)
192
-	) {
193
-		return $err;
194
-	}
195
-	$session = $c;
196
-
197
-	$err = '';
198
-	if (!$force_update) {
199
-		// Modification de statut, changement de rubrique ?
200
-		$c = collecter_requests(
201
-		// include list
202
-			[
203
-				'statut',
204
-				'new_login',
205
-				'new_pass',
206
-				'login',
207
-				'pass',
208
-				'webmestre',
209
-				'restreintes',
210
-				'id_parent'
211
-			],
212
-			// exclude list
213
-			[],
214
-			// donnees eventuellement fournies
215
-			$set
216
-		);
217
-		if (isset($c['new_login']) && !isset($c['login'])) {
218
-			$c['login'] = $c['new_login'];
219
-		}
220
-		if (isset($c['new_pass']) && !isset($c['pass'])) {
221
-			$c['pass'] = $c['new_pass'];
222
-		}
223
-		$err = auteur_instituer($id_auteur, $c);
224
-		$session = array_merge($session, $c);
225
-	}
226
-
227
-	// .. mettre a jour les sessions de cet auteur
228
-	include_spip('inc/session');
229
-	$session['id_auteur'] = $id_auteur;
230
-	unset($session['new_login']);
231
-	unset($session['new_pass']);
232
-	actualiser_sessions($session);
233
-
234
-	return $err;
171
+    include_spip('inc/modifier');
172
+    include_spip('inc/filtres');
173
+    $c = collecter_requests(
174
+        // include list
175
+        objet_info('auteur', 'champs_editables'),
176
+        // exclude list
177
+        $force_update ? [] : ['webmestre', 'pass', 'login'],
178
+        // donnees eventuellement fournies
179
+        $set
180
+    );
181
+
182
+    if (
183
+        $err = objet_modifier_champs(
184
+            'auteur',
185
+            $id_auteur,
186
+            [
187
+            'data' => $set,
188
+            'nonvide' => ['nom' => _T('ecrire:item_nouvel_auteur')]
189
+            ],
190
+            $c
191
+        )
192
+    ) {
193
+        return $err;
194
+    }
195
+    $session = $c;
196
+
197
+    $err = '';
198
+    if (!$force_update) {
199
+        // Modification de statut, changement de rubrique ?
200
+        $c = collecter_requests(
201
+        // include list
202
+            [
203
+                'statut',
204
+                'new_login',
205
+                'new_pass',
206
+                'login',
207
+                'pass',
208
+                'webmestre',
209
+                'restreintes',
210
+                'id_parent'
211
+            ],
212
+            // exclude list
213
+            [],
214
+            // donnees eventuellement fournies
215
+            $set
216
+        );
217
+        if (isset($c['new_login']) && !isset($c['login'])) {
218
+            $c['login'] = $c['new_login'];
219
+        }
220
+        if (isset($c['new_pass']) && !isset($c['pass'])) {
221
+            $c['pass'] = $c['new_pass'];
222
+        }
223
+        $err = auteur_instituer($id_auteur, $c);
224
+        $session = array_merge($session, $c);
225
+    }
226
+
227
+    // .. mettre a jour les sessions de cet auteur
228
+    include_spip('inc/session');
229
+    $session['id_auteur'] = $id_auteur;
230
+    unset($session['new_login']);
231
+    unset($session['new_pass']);
232
+    actualiser_sessions($session);
233
+
234
+    return $err;
235 235
 }
236 236
 
237 237
 /**
@@ -252,9 +252,9 @@  discard block
 block discarded – undo
252 252
  * @return string
253 253
  */
254 254
 function auteur_associer($id_auteur, $objets, $qualif = null) {
255
-	include_spip('action/editer_liens');
255
+    include_spip('action/editer_liens');
256 256
 
257
-	return objet_associer(['auteur' => $id_auteur], $objets, $qualif);
257
+    return objet_associer(['auteur' => $id_auteur], $objets, $qualif);
258 258
 }
259 259
 
260 260
 /**
@@ -273,9 +273,9 @@  discard block
 block discarded – undo
273 273
  * @return string
274 274
  */
275 275
 function auteur_dissocier($id_auteur, $objets) {
276
-	include_spip('action/editer_liens');
276
+    include_spip('action/editer_liens');
277 277
 
278
-	return objet_dissocier(['auteur' => $id_auteur], $objets);
278
+    return objet_dissocier(['auteur' => $id_auteur], $objets);
279 279
 }
280 280
 
281 281
 /**
@@ -296,9 +296,9 @@  discard block
 block discarded – undo
296 296
  * @return bool|int
297 297
  */
298 298
 function auteur_qualifier($id_auteur, $objets, $qualif) {
299
-	include_spip('action/editer_liens');
299
+    include_spip('action/editer_liens');
300 300
 
301
-	return objet_qualifier_liens(['auteur' => $id_auteur], $objets, $qualif);
301
+    return objet_qualifier_liens(['auteur' => $id_auteur], $objets, $qualif);
302 302
 }
303 303
 
304 304
 
@@ -317,158 +317,158 @@  discard block
 block discarded – undo
317 317
  * @return bool|string
318 318
  */
319 319
 function auteur_instituer($id_auteur, $c, $force_webmestre = false) {
320
-	if (!$id_auteur = (int) $id_auteur) {
321
-		return false;
322
-	}
323
-	$erreurs = []; // contiendra les differentes erreurs a traduire par _T()
324
-	$champs = [];
325
-
326
-	// les memoriser pour les faire passer dans le pipeline pre_edition
327
-	if (isset($c['login']) && strlen((string) $c['login'])) {
328
-		$champs['login'] = $c['login'];
329
-	}
330
-	if (isset($c['pass']) && strlen((string) $c['pass'])) {
331
-		$champs['pass'] = $c['pass'];
332
-	}
333
-
334
-	$statut = $statut_ancien = sql_getfetsel('statut', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
335
-
336
-	if (
337
-		isset($c['statut']) && autoriser('modifier', 'auteur', $id_auteur, null, ['statut' => $c['statut']])
338
-	) {
339
-		$statut = $champs['statut'] = $c['statut'];
340
-	}
341
-
342
-	// Restreindre avant de declarer l'auteur
343
-	// (section critique sur les droits)
344
-	if (isset($c['id_parent']) && $c['id_parent']) {
345
-		if (is_array($c['restreintes'])) {
346
-			$c['restreintes'][] = $c['id_parent'];
347
-		} else {
348
-			$c['restreintes'] = [$c['id_parent']];
349
-		}
350
-	}
351
-
352
-	if (
353
-		isset($c['webmestre'])
354
-		&& ($force_webmestre || autoriser('modifier', 'auteur', $id_auteur, null, ['webmestre' => '?']))
355
-	) {
356
-		$champs['webmestre'] = $c['webmestre'] == 'oui' ? 'oui' : 'non';
357
-	}
358
-
359
-	// si statut change et n'est pas 0minirezo, on force webmestre a non
360
-	if (isset($c['statut']) && $c['statut'] !== '0minirezo') {
361
-		$champs['webmestre'] = $c['webmestre'] = 'non';
362
-	}
363
-
364
-	// Envoyer aux plugins
365
-	$champs = pipeline(
366
-		'pre_edition',
367
-		[
368
-			'args' => [
369
-				'table' => 'spip_auteurs',
370
-				'id_objet' => $id_auteur,
371
-				'action' => 'instituer',
372
-				'statut_ancien' => $statut_ancien,
373
-			],
374
-			'data' => $champs
375
-		]
376
-	);
377
-
378
-	if (
379
-		isset($c['restreintes']) && is_array($c['restreintes'])
380
-		&& autoriser('modifier', 'auteur', $id_auteur, null, ['restreint' => $c['restreintes']])
381
-	) {
382
-		$rubriques = array_map('intval', $c['restreintes']);
383
-		$rubriques = array_unique($rubriques);
384
-		$rubriques = array_diff($rubriques, [0]);
385
-		auteur_dissocier($id_auteur, ['rubrique' => '*']);
386
-		auteur_associer($id_auteur, ['rubrique' => $rubriques]);
387
-	}
388
-
389
-	$flag_ecrire_acces = false;
390
-	// commencer par traiter les cas particuliers des logins et pass
391
-	// avant les autres ecritures en base
392
-	if (isset($champs['login']) || isset($champs['pass'])) {
393
-		$auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
394
-		include_spip('inc/auth');
395
-		if (
396
-			isset($champs['login'])
397
-			&& strlen((string) $champs['login'])
398
-			&& !auth_modifier_login($auth_methode, $champs['login'], $id_auteur)
399
-		) {
400
-			$erreurs[] = 'ecrire:impossible_modifier_login_auteur';
401
-		}
402
-		if (isset($champs['pass']) && strlen((string) $champs['pass'])) {
403
-			$champs['login'] = sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
404
-			if (!auth_modifier_pass($auth_methode, $champs['login'], $champs['pass'], $id_auteur)) {
405
-				$erreurs[] = 'ecrire:impossible_modifier_pass_auteur';
406
-			}
407
-		}
408
-		unset($champs['login']);
409
-		unset($champs['pass']);
410
-		$flag_ecrire_acces = true;
411
-	}
412
-
413
-	if (!(is_countable($champs) ? count($champs) : 0)) {
414
-		return implode(' ', array_map('_T', $erreurs));
415
-	}
416
-	sql_updateq('spip_auteurs', $champs, 'id_auteur=' . $id_auteur);
417
-
418
-	// .. mettre a jour les fichiers .htpasswd et .htpasswd-admin
419
-	if ($flag_ecrire_acces || isset($champs['statut'])) {
420
-		include_spip('inc/acces');
421
-		ecrire_acces();
422
-	}
423
-
424
-	// Invalider les caches
425
-	include_spip('inc/invalideur');
426
-	suivre_invalideur("id='auteur/$id_auteur'");
427
-
428
-	// Pipeline
429
-	pipeline(
430
-		'post_edition',
431
-		[
432
-			'args' => [
433
-				'table' => 'spip_auteurs',
434
-				'id_objet' => $id_auteur,
435
-				'action' => 'instituer',
436
-				'statut_ancien' => $statut_ancien,
437
-			],
438
-			'data' => $champs
439
-		]
440
-	);
441
-
442
-	// Notifications
443
-	if ($notifications = charger_fonction('notifications', 'inc')) {
444
-		$notifications(
445
-			'auteur_instituer',
446
-			$id_auteur,
447
-			[
448
-				'statut' => $statut,
449
-				'statut_ancien' => $statut_ancien,
450
-				'champs' => $champs,
451
-			]
452
-		);
453
-		$notifications(
454
-			'objet_instituer',
455
-			$id_auteur,
456
-			[
457
-				'objet' => 'auteur',
458
-				'id_objet' => $id_auteur,
459
-				'statut' => $statut,
460
-				'statut_ancien' => $statut_ancien,
461
-				'champs' => $champs,
462
-			]
463
-		);
464
-
465
-		// Rétro-compat
466
-		$notifications(
467
-			'instituerauteur',
468
-			$id_auteur,
469
-			['statut' => $statut, 'statut_ancien' => $statut_ancien]
470
-		);
471
-	}
472
-
473
-	return implode(' ', array_map('_T', $erreurs));
320
+    if (!$id_auteur = (int) $id_auteur) {
321
+        return false;
322
+    }
323
+    $erreurs = []; // contiendra les differentes erreurs a traduire par _T()
324
+    $champs = [];
325
+
326
+    // les memoriser pour les faire passer dans le pipeline pre_edition
327
+    if (isset($c['login']) && strlen((string) $c['login'])) {
328
+        $champs['login'] = $c['login'];
329
+    }
330
+    if (isset($c['pass']) && strlen((string) $c['pass'])) {
331
+        $champs['pass'] = $c['pass'];
332
+    }
333
+
334
+    $statut = $statut_ancien = sql_getfetsel('statut', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
335
+
336
+    if (
337
+        isset($c['statut']) && autoriser('modifier', 'auteur', $id_auteur, null, ['statut' => $c['statut']])
338
+    ) {
339
+        $statut = $champs['statut'] = $c['statut'];
340
+    }
341
+
342
+    // Restreindre avant de declarer l'auteur
343
+    // (section critique sur les droits)
344
+    if (isset($c['id_parent']) && $c['id_parent']) {
345
+        if (is_array($c['restreintes'])) {
346
+            $c['restreintes'][] = $c['id_parent'];
347
+        } else {
348
+            $c['restreintes'] = [$c['id_parent']];
349
+        }
350
+    }
351
+
352
+    if (
353
+        isset($c['webmestre'])
354
+        && ($force_webmestre || autoriser('modifier', 'auteur', $id_auteur, null, ['webmestre' => '?']))
355
+    ) {
356
+        $champs['webmestre'] = $c['webmestre'] == 'oui' ? 'oui' : 'non';
357
+    }
358
+
359
+    // si statut change et n'est pas 0minirezo, on force webmestre a non
360
+    if (isset($c['statut']) && $c['statut'] !== '0minirezo') {
361
+        $champs['webmestre'] = $c['webmestre'] = 'non';
362
+    }
363
+
364
+    // Envoyer aux plugins
365
+    $champs = pipeline(
366
+        'pre_edition',
367
+        [
368
+            'args' => [
369
+                'table' => 'spip_auteurs',
370
+                'id_objet' => $id_auteur,
371
+                'action' => 'instituer',
372
+                'statut_ancien' => $statut_ancien,
373
+            ],
374
+            'data' => $champs
375
+        ]
376
+    );
377
+
378
+    if (
379
+        isset($c['restreintes']) && is_array($c['restreintes'])
380
+        && autoriser('modifier', 'auteur', $id_auteur, null, ['restreint' => $c['restreintes']])
381
+    ) {
382
+        $rubriques = array_map('intval', $c['restreintes']);
383
+        $rubriques = array_unique($rubriques);
384
+        $rubriques = array_diff($rubriques, [0]);
385
+        auteur_dissocier($id_auteur, ['rubrique' => '*']);
386
+        auteur_associer($id_auteur, ['rubrique' => $rubriques]);
387
+    }
388
+
389
+    $flag_ecrire_acces = false;
390
+    // commencer par traiter les cas particuliers des logins et pass
391
+    // avant les autres ecritures en base
392
+    if (isset($champs['login']) || isset($champs['pass'])) {
393
+        $auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
394
+        include_spip('inc/auth');
395
+        if (
396
+            isset($champs['login'])
397
+            && strlen((string) $champs['login'])
398
+            && !auth_modifier_login($auth_methode, $champs['login'], $id_auteur)
399
+        ) {
400
+            $erreurs[] = 'ecrire:impossible_modifier_login_auteur';
401
+        }
402
+        if (isset($champs['pass']) && strlen((string) $champs['pass'])) {
403
+            $champs['login'] = sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
404
+            if (!auth_modifier_pass($auth_methode, $champs['login'], $champs['pass'], $id_auteur)) {
405
+                $erreurs[] = 'ecrire:impossible_modifier_pass_auteur';
406
+            }
407
+        }
408
+        unset($champs['login']);
409
+        unset($champs['pass']);
410
+        $flag_ecrire_acces = true;
411
+    }
412
+
413
+    if (!(is_countable($champs) ? count($champs) : 0)) {
414
+        return implode(' ', array_map('_T', $erreurs));
415
+    }
416
+    sql_updateq('spip_auteurs', $champs, 'id_auteur=' . $id_auteur);
417
+
418
+    // .. mettre a jour les fichiers .htpasswd et .htpasswd-admin
419
+    if ($flag_ecrire_acces || isset($champs['statut'])) {
420
+        include_spip('inc/acces');
421
+        ecrire_acces();
422
+    }
423
+
424
+    // Invalider les caches
425
+    include_spip('inc/invalideur');
426
+    suivre_invalideur("id='auteur/$id_auteur'");
427
+
428
+    // Pipeline
429
+    pipeline(
430
+        'post_edition',
431
+        [
432
+            'args' => [
433
+                'table' => 'spip_auteurs',
434
+                'id_objet' => $id_auteur,
435
+                'action' => 'instituer',
436
+                'statut_ancien' => $statut_ancien,
437
+            ],
438
+            'data' => $champs
439
+        ]
440
+    );
441
+
442
+    // Notifications
443
+    if ($notifications = charger_fonction('notifications', 'inc')) {
444
+        $notifications(
445
+            'auteur_instituer',
446
+            $id_auteur,
447
+            [
448
+                'statut' => $statut,
449
+                'statut_ancien' => $statut_ancien,
450
+                'champs' => $champs,
451
+            ]
452
+        );
453
+        $notifications(
454
+            'objet_instituer',
455
+            $id_auteur,
456
+            [
457
+                'objet' => 'auteur',
458
+                'id_objet' => $id_auteur,
459
+                'statut' => $statut,
460
+                'statut_ancien' => $statut_ancien,
461
+                'champs' => $champs,
462
+            ]
463
+        );
464
+
465
+        // Rétro-compat
466
+        $notifications(
467
+            'instituerauteur',
468
+            $id_auteur,
469
+            ['statut' => $statut, 'statut_ancien' => $statut_ancien]
470
+        );
471
+    }
472
+
473
+    return implode(' ', array_map('_T', $erreurs));
474 474
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -91,7 +91,7 @@  discard block
 block discarded – undo
91 91
 	$champs['source'] = $source ?: 'spip';
92 92
 
93 93
 	$champs['login'] = '';
94
-	$champs['statut'] = '5poubelle';  // inutilisable tant qu'il n'a pas ete renseigne et institue
94
+	$champs['statut'] = '5poubelle'; // inutilisable tant qu'il n'a pas ete renseigne et institue
95 95
 	$champs['webmestre'] = 'non';
96 96
 	if (empty($champs['imessage'])) {
97 97
 		$champs['imessage'] = 'oui';
@@ -331,7 +331,7 @@  discard block
 block discarded – undo
331 331
 		$champs['pass'] = $c['pass'];
332 332
 	}
333 333
 
334
-	$statut = $statut_ancien = sql_getfetsel('statut', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
334
+	$statut = $statut_ancien = sql_getfetsel('statut', 'spip_auteurs', 'id_auteur='.(int) $id_auteur);
335 335
 
336 336
 	if (
337 337
 		isset($c['statut']) && autoriser('modifier', 'auteur', $id_auteur, null, ['statut' => $c['statut']])
@@ -390,7 +390,7 @@  discard block
 block discarded – undo
390 390
 	// commencer par traiter les cas particuliers des logins et pass
391 391
 	// avant les autres ecritures en base
392 392
 	if (isset($champs['login']) || isset($champs['pass'])) {
393
-		$auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
393
+		$auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur='.(int) $id_auteur);
394 394
 		include_spip('inc/auth');
395 395
 		if (
396 396
 			isset($champs['login'])
@@ -400,7 +400,7 @@  discard block
 block discarded – undo
400 400
 			$erreurs[] = 'ecrire:impossible_modifier_login_auteur';
401 401
 		}
402 402
 		if (isset($champs['pass']) && strlen((string) $champs['pass'])) {
403
-			$champs['login'] = sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
403
+			$champs['login'] = sql_getfetsel('login', 'spip_auteurs', 'id_auteur='.(int) $id_auteur);
404 404
 			if (!auth_modifier_pass($auth_methode, $champs['login'], $champs['pass'], $id_auteur)) {
405 405
 				$erreurs[] = 'ecrire:impossible_modifier_pass_auteur';
406 406
 			}
@@ -413,7 +413,7 @@  discard block
 block discarded – undo
413 413
 	if (!(is_countable($champs) ? count($champs) : 0)) {
414 414
 		return implode(' ', array_map('_T', $erreurs));
415 415
 	}
416
-	sql_updateq('spip_auteurs', $champs, 'id_auteur=' . $id_auteur);
416
+	sql_updateq('spip_auteurs', $champs, 'id_auteur='.$id_auteur);
417 417
 
418 418
 	// .. mettre a jour les fichiers .htpasswd et .htpasswd-admin
419 419
 	if ($flag_ecrire_acces || isset($champs['statut'])) {
Please login to merge, or discard this patch.
ecrire/action/ajouter_lien.php 1 patch
Indentation   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -33,14 +33,14 @@  discard block
 block discarded – undo
33 33
  * @return void
34 34
  */
35 35
 function action_ajouter_lien_dist($arg = null) {
36
-	if (is_null($arg)) {
37
-		$securiser_action = charger_fonction('securiser_action', 'inc');
38
-		$arg = $securiser_action();
39
-	}
36
+    if (is_null($arg)) {
37
+        $securiser_action = charger_fonction('securiser_action', 'inc');
38
+        $arg = $securiser_action();
39
+    }
40 40
 
41
-	$arg = explode('-', (string) $arg);
42
-	[$objet_source, $ids, $objet_lie, $idl] = $arg;
41
+    $arg = explode('-', (string) $arg);
42
+    [$objet_source, $ids, $objet_lie, $idl] = $arg;
43 43
 
44
-	include_spip('action/editer_liens');
45
-	objet_associer([$objet_source => $ids], [$objet_lie => $idl]);
44
+    include_spip('action/editer_liens');
45
+    objet_associer([$objet_source => $ids], [$objet_lie => $idl]);
46 46
 }
Please login to merge, or discard this patch.
ecrire/action/redirect.php 1 patch
Indentation   +69 added lines, -69 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -35,53 +35,53 @@  discard block
 block discarded – undo
35 35
  *   ```
36 36
  **/
37 37
 function action_redirect_dist() {
38
-	$type = _request('type');
39
-	$id = (int) _request('id');
40
-	$page = false;
38
+    $type = _request('type');
39
+    $id = (int) _request('id');
40
+    $page = false;
41 41
 
42
-	// verifier le type ou page transmis
43
-	if (!preg_match('/^\w+$/', (string) $type)) {
44
-		$page = _request('page');
45
-		if (!preg_match('/^\w+$/', (string) $page)) {
46
-			return;
47
-		}
48
-	}
42
+    // verifier le type ou page transmis
43
+    if (!preg_match('/^\w+$/', (string) $type)) {
44
+        $page = _request('page');
45
+        if (!preg_match('/^\w+$/', (string) $page)) {
46
+            return;
47
+        }
48
+    }
49 49
 
50
-	$var_mode = _request('var_mode');
51
-	// forcer la mise a jour de l'url de cet objet !
52
-	if ($var_mode && !defined('_VAR_URLS')) {
53
-		define('_VAR_URLS', true);
54
-	}
50
+    $var_mode = _request('var_mode');
51
+    // forcer la mise a jour de l'url de cet objet !
52
+    if ($var_mode && !defined('_VAR_URLS')) {
53
+        define('_VAR_URLS', true);
54
+    }
55 55
 
56
-	$url = $page
57
-		? generer_url_public($page, '', true)
58
-		: calculer_url_redirect_entite($type, $id, $var_mode);
56
+    $url = $page
57
+        ? generer_url_public($page, '', true)
58
+        : calculer_url_redirect_entite($type, $id, $var_mode);
59 59
 
60
-	$status = '302';
61
-	if ($url) {
62
-		if ($var_mode) {
63
-			$url = parametre_url($url, 'var_mode', $var_mode, '&');
64
-		}
60
+    $status = '302';
61
+    if ($url) {
62
+        if ($var_mode) {
63
+            $url = parametre_url($url, 'var_mode', $var_mode, '&');
64
+        }
65 65
 
66
-		if (
67
-			$var_mode == 'preview'
68
-			&& defined('_PREVIEW_TOKEN')
69
-			&& _PREVIEW_TOKEN
70
-			&& autoriser('previsualiser')
71
-		) {
72
-			include_spip('inc/securiser_action');
73
-			$token = calculer_token_previsu($url);
74
-			$url = parametre_url($url, 'var_previewtoken', $token);
75
-		}
66
+        if (
67
+            $var_mode == 'preview'
68
+            && defined('_PREVIEW_TOKEN')
69
+            && _PREVIEW_TOKEN
70
+            && autoriser('previsualiser')
71
+        ) {
72
+            include_spip('inc/securiser_action');
73
+            $token = calculer_token_previsu($url);
74
+            $url = parametre_url($url, 'var_previewtoken', $token);
75
+        }
76 76
 
77
-		if (_request('status') && _request('status') == '301') {
78
-			$status = '301';
79
-		}
80
-	} else {
81
-		$url = generer_url_public('404', '', true);
82
-	}
77
+        if (_request('status') && _request('status') == '301') {
78
+            $status = '301';
79
+        }
80
+    } else {
81
+        $url = generer_url_public('404', '', true);
82
+    }
83 83
 
84
-	redirige_par_entete(str_replace('&', '&', (string) $url), '', $status);
84
+    redirige_par_entete(str_replace('&', '&', (string) $url), '', $status);
85 85
 }
86 86
 
87 87
 /**
@@ -96,35 +96,35 @@  discard block
 block discarded – undo
96 96
  * @return string|null
97 97
  */
98 98
 function calculer_url_redirect_entite($type, $id, $var_mode) {
99
-	$desc = null;
100
-	$publie = null;
101
-	$url = null;
102
-	// invalider le cache à chaque modif en bdd
103
-	$date = 0;
104
-	if (isset($GLOBALS['meta']['derniere_modif'])) {
105
-		$date = $GLOBALS['meta']['derniere_modif'];
106
-	}
107
-	$key = "url-$date-$type-$id";
99
+    $desc = null;
100
+    $publie = null;
101
+    $url = null;
102
+    // invalider le cache à chaque modif en bdd
103
+    $date = 0;
104
+    if (isset($GLOBALS['meta']['derniere_modif'])) {
105
+        $date = $GLOBALS['meta']['derniere_modif'];
106
+    }
107
+    $key = "url-$date-$type-$id";
108 108
 
109
-	// Obtenir l’url et si elle est publié du cache memoization
110
-	if (function_exists('cache_get') && ($desc = cache_get($key))) {
111
-		[$url, $publie] = $desc;
112
-	}
113
-	// Si on ne l’a pas trouvé, ou si var mode, on calcule l’url et son état publie
114
-	if (empty($desc) || $var_mode) {
115
-		$publie = objet_test_si_publie($type, $id);
116
-		$url = generer_objet_url_absolue($id, $type, '', '', true);
117
-		if (function_exists('cache_set')) {
118
-			cache_set($key, [$url, $publie], 3600);
119
-		}
120
-	}
109
+    // Obtenir l’url et si elle est publié du cache memoization
110
+    if (function_exists('cache_get') && ($desc = cache_get($key))) {
111
+        [$url, $publie] = $desc;
112
+    }
113
+    // Si on ne l’a pas trouvé, ou si var mode, on calcule l’url et son état publie
114
+    if (empty($desc) || $var_mode) {
115
+        $publie = objet_test_si_publie($type, $id);
116
+        $url = generer_objet_url_absolue($id, $type, '', '', true);
117
+        if (function_exists('cache_set')) {
118
+            cache_set($key, [$url, $publie], 3600);
119
+        }
120
+    }
121 121
 
122
-	// On valide l’url si elle est publiee ; sinon si preview on teste l’autorisation
123
-	if ($publie) {
124
-		return $url;
125
-	} elseif (defined('_VAR_PREVIEW') && _VAR_PREVIEW && autoriser('voir', $type, $id)) {
126
-		return $url;
127
-	}
122
+    // On valide l’url si elle est publiee ; sinon si preview on teste l’autorisation
123
+    if ($publie) {
124
+        return $url;
125
+    } elseif (defined('_VAR_PREVIEW') && _VAR_PREVIEW && autoriser('voir', $type, $id)) {
126
+        return $url;
127
+    }
128 128
 
129
-	return;
129
+    return;
130 130
 }
Please login to merge, or discard this patch.
ecrire/action/editer_objet.php 2 patches
Spacing   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -75,11 +75,11 @@  discard block
 block discarded – undo
75 75
  */
76 76
 function objet_modifier($objet, $id, $set = null) {
77 77
 	if (($t = objet_type($objet)) !== $objet) {
78
-		spip_log("objet_modifier: appel avec type $objet invalide au lieu de $t", 'editer' . _LOG_INFO_IMPORTANTE);
78
+		spip_log("objet_modifier: appel avec type $objet invalide au lieu de $t", 'editer'._LOG_INFO_IMPORTANTE);
79 79
 		$objet = $t;
80 80
 	}
81 81
 	if (
82
-		include_spip('action/editer_' . $objet) && function_exists($modifier = $objet . '_modifier')
82
+		include_spip('action/editer_'.$objet) && function_exists($modifier = $objet.'_modifier')
83 83
 	) {
84 84
 		return $modifier($id, $set);
85 85
 	}
@@ -88,7 +88,7 @@  discard block
 block discarded – undo
88 88
 	$trouver_table = charger_fonction('trouver_table', 'base');
89 89
 	$desc = $trouver_table($table_sql);
90 90
 	if (!$desc || !isset($desc['field'])) {
91
-		spip_log("Objet $objet inconnu dans objet_modifier", 'editer' . _LOG_ERREUR);
91
+		spip_log("Objet $objet inconnu dans objet_modifier", 'editer'._LOG_ERREUR);
92 92
 
93 93
 		return _L("Erreur objet $objet inconnu");
94 94
 	}
@@ -167,12 +167,12 @@  discard block
 block discarded – undo
167 167
 function objet_inserer($objet, $id_parent = null, $set = null) {
168 168
 	$d = null;
169 169
 	if (($t = objet_type($objet)) !== $objet) {
170
-		spip_log("objet_inserer: appel avec type $objet invalide au lieu de $t", 'editer' . _LOG_INFO_IMPORTANTE);
170
+		spip_log("objet_inserer: appel avec type $objet invalide au lieu de $t", 'editer'._LOG_INFO_IMPORTANTE);
171 171
 		$objet = $t;
172 172
 	}
173 173
 	if (
174
-		include_spip('action/editer_' . $objet)
175
-		&& function_exists($inserer = $objet . '_inserer')
174
+		include_spip('action/editer_'.$objet)
175
+		&& function_exists($inserer = $objet.'_inserer')
176 176
 	) {
177 177
 		return $inserer($id_parent, $set);
178 178
 	}
@@ -193,7 +193,7 @@  discard block
 block discarded – undo
193 193
 			$row = sql_fetsel('id_rubrique, id_secteur, lang', 'spip_rubriques', 'id_parent=0', '', '0+titre,titre', '1');
194 194
 			$id_rubrique = $row['id_rubrique'];
195 195
 		} else {
196
-			$row = sql_fetsel('lang, id_secteur', 'spip_rubriques', 'id_rubrique=' . (int) $id_rubrique);
196
+			$row = sql_fetsel('lang, id_secteur', 'spip_rubriques', 'id_rubrique='.(int) $id_rubrique);
197 197
 		}
198 198
 
199 199
 		$champs['id_rubrique'] = $id_rubrique;
@@ -330,11 +330,11 @@  discard block
 block discarded – undo
330 330
  */
331 331
 function objet_instituer($objet, $id, $c, $calcul_rub = true) {
332 332
 	if (($t = objet_type($objet)) !== $objet) {
333
-		spip_log("objet_instituer: appel avec type $objet invalide au lieu de $t", 'editer' . _LOG_INFO_IMPORTANTE);
333
+		spip_log("objet_instituer: appel avec type $objet invalide au lieu de $t", 'editer'._LOG_INFO_IMPORTANTE);
334 334
 		$objet = $t;
335 335
 	}
336 336
 	if (
337
-		include_spip('action/editer_' . $objet) && function_exists($instituer = $objet . '_instituer')
337
+		include_spip('action/editer_'.$objet) && function_exists($instituer = $objet.'_instituer')
338 338
 	) {
339 339
 		return $instituer($id, $c, $calcul_rub);
340 340
 	}
@@ -363,7 +363,7 @@  discard block
 block discarded – undo
363 363
 	$sel[] = ($champ_date ? "$champ_date as date" : "'' as date");
364 364
 	$sel[] = (isset($desc['field']['id_rubrique']) ? 'id_rubrique' : '0 as id_rubrique');
365 365
 
366
-	$row = sql_fetsel($sel, $table_sql, id_table_objet($objet) . '=' . (int) $id);
366
+	$row = sql_fetsel($sel, $table_sql, id_table_objet($objet).'='.(int) $id);
367 367
 
368 368
 	$id_rubrique = $row['id_rubrique'];
369 369
 	$statut_ancien = $statut = $row['statut'];
@@ -386,7 +386,7 @@  discard block
 block discarded – undo
386 386
 			if ($s != 'publie' && autoriser('modifier', $objet, $id)) {
387 387
 				$statut = $champs['statut'] = $s;
388 388
 			} else {
389
-				spip_log("editer_objet $objet #$id refus " . json_encode($c, JSON_THROW_ON_ERROR), 'editer' . _LOG_INFO_IMPORTANTE);
389
+				spip_log("editer_objet $objet #$id refus ".json_encode($c, JSON_THROW_ON_ERROR), 'editer'._LOG_INFO_IMPORTANTE);
390 390
 			}
391 391
 		}
392 392
 
@@ -414,7 +414,7 @@  discard block
 block discarded – undo
414 414
 		&& isset($c['id_parent'])
415 415
 		&& ($id_parent = $c['id_parent'])
416 416
 		&& $id_parent != $id_rubrique
417
-		&& sql_fetsel('1', 'spip_rubriques', 'id_rubrique=' . (int) $id_parent)
417
+		&& sql_fetsel('1', 'spip_rubriques', 'id_rubrique='.(int) $id_parent)
418 418
 	) {
419 419
 		$champs['id_rubrique'] = $id_parent;
420 420
 
@@ -541,7 +541,7 @@  discard block
 block discarded – undo
541 541
 	// Si on deplace l'objet
542 542
 	// changer aussi son secteur et sa langue (si heritee)
543 543
 	if (isset($champs['id_rubrique'])) {
544
-		$row_rub = sql_fetsel('id_secteur, lang', 'spip_rubriques', 'id_rubrique=' . sql_quote($champs['id_rubrique']));
544
+		$row_rub = sql_fetsel('id_secteur, lang', 'spip_rubriques', 'id_rubrique='.sql_quote($champs['id_rubrique']));
545 545
 		$langue = $row_rub['lang'];
546 546
 
547 547
 		if (isset($desc['field']['id_secteur'])) {
@@ -554,7 +554,7 @@  discard block
 block discarded – undo
554 554
 			&& sql_fetsel(
555 555
 				'1',
556 556
 				$table_sql,
557
-				id_table_objet($objet) . '=' . (int) $id . " AND langue_choisie<>'oui' AND lang<>" . sql_quote($langue)
557
+				id_table_objet($objet).'='.(int) $id." AND langue_choisie<>'oui' AND lang<>".sql_quote($langue)
558 558
 			)
559 559
 		) {
560 560
 			$champs['lang'] = $langue;
@@ -564,7 +564,7 @@  discard block
 block discarded – undo
564 564
 	if (!$champs) {
565 565
 		return;
566 566
 	}
567
-	sql_updateq($table_sql, $champs, id_table_objet($objet) . '=' . (int) $id);
567
+	sql_updateq($table_sql, $champs, id_table_objet($objet).'='.(int) $id);
568 568
 
569 569
 	// Changer le statut des rubriques concernees
570 570
 	if ($cond) {
@@ -608,7 +608,7 @@  discard block
 block discarded – undo
608 608
  */
609 609
 function objet_lire($objet, $valeur_id, $options = []) {
610 610
 	if (($t = objet_type($objet)) !== $objet) {
611
-		spip_log("objet_lire: appel avec type $objet invalide au lieu de $t", 'editer' . _LOG_INFO_IMPORTANTE);
611
+		spip_log("objet_lire: appel avec type $objet invalide au lieu de $t", 'editer'._LOG_INFO_IMPORTANTE);
612 612
 		$objet = $t;
613 613
 	}
614 614
 
@@ -630,7 +630,7 @@  discard block
 block discarded – undo
630 630
 	) {
631 631
 		// Il est possible pour un type d'objet de fournir une fonction de lecture de tous les champs d'un objet.
632 632
 		if (
633
-			include_spip('action/editer_' . $objet)
633
+			include_spip('action/editer_'.$objet)
634 634
 			&& function_exists($lire = "{$objet}_lire_champs")
635 635
 		) {
636 636
 			$valeurs = $lire($objet, $valeur_id, $champ_id);
@@ -640,7 +640,7 @@  discard block
 block discarded – undo
640 640
 
641 641
 			// La condition est appliquée sur le champ désigné par l'utilisateur.
642 642
 			$where = [
643
-				$champ_id . '=' . sql_quote($valeur_id)
643
+				$champ_id.'='.sql_quote($valeur_id)
644 644
 			];
645 645
 
646 646
 			// Acquisition de tous les champs de l'objet : si l'accès SQL retourne une erreur on renvoie un tableau vide.
Please login to merge, or discard this patch.
Indentation   +551 added lines, -551 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  */
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -32,36 +32,36 @@  discard block
 block discarded – undo
32 32
  */
33 33
 function action_editer_objet_dist($id = null, $objet = null, $set = null) {
34 34
 
35
-	// appel direct depuis une url avec arg = "objet/id"
36
-	if (is_null($id) || is_null($objet)) {
37
-		$securiser_action = charger_fonction('securiser_action', 'inc');
38
-		$arg = $securiser_action();
39
-		[$objet, $id] = array_pad(explode('/', (string) $arg, 2), 2, null);
40
-	}
41
-
42
-	// appel incorrect ou depuis une url erronnée interdit
43
-	if (is_null($id) || is_null($objet)) {
44
-		include_spip('inc/minipres');
45
-		echo minipres(_T('info_acces_interdit'));
46
-		die();
47
-	}
48
-
49
-	// si id n'est pas un nombre, c'est une creation
50
-	// mais on verifie qu'on a toutes les donnees qu'il faut.
51
-	if (!$id = (int) $id) {
52
-		// on ne sait pas si un parent existe mais on essaye
53
-		$id_parent = _request('id_parent');
54
-		$id = objet_inserer($objet, $id_parent);
55
-	}
56
-
57
-	if (!($id = (int) $id) > 0) {
58
-		return [$id, _L('echec enregistrement en base')];
59
-	}
60
-
61
-	// Enregistre l'envoi dans la BD
62
-	$err = objet_modifier($objet, $id, $set);
63
-
64
-	return [$id, $err];
35
+    // appel direct depuis une url avec arg = "objet/id"
36
+    if (is_null($id) || is_null($objet)) {
37
+        $securiser_action = charger_fonction('securiser_action', 'inc');
38
+        $arg = $securiser_action();
39
+        [$objet, $id] = array_pad(explode('/', (string) $arg, 2), 2, null);
40
+    }
41
+
42
+    // appel incorrect ou depuis une url erronnée interdit
43
+    if (is_null($id) || is_null($objet)) {
44
+        include_spip('inc/minipres');
45
+        echo minipres(_T('info_acces_interdit'));
46
+        die();
47
+    }
48
+
49
+    // si id n'est pas un nombre, c'est une creation
50
+    // mais on verifie qu'on a toutes les donnees qu'il faut.
51
+    if (!$id = (int) $id) {
52
+        // on ne sait pas si un parent existe mais on essaye
53
+        $id_parent = _request('id_parent');
54
+        $id = objet_inserer($objet, $id_parent);
55
+    }
56
+
57
+    if (!($id = (int) $id) > 0) {
58
+        return [$id, _L('echec enregistrement en base')];
59
+    }
60
+
61
+    // Enregistre l'envoi dans la BD
62
+    $err = objet_modifier($objet, $id, $set);
63
+
64
+    return [$id, $err];
65 65
 }
66 66
 
67 67
 /**
@@ -90,83 +90,83 @@  discard block
 block discarded – undo
90 90
  *   - En cas d'erreur : (string) message d'erreur
91 91
  */
92 92
 function objet_modifier($objet, $id, $set = null) {
93
-	if (($t = objet_type($objet)) !== $objet) {
94
-		spip_log("objet_modifier: appel avec type $objet invalide au lieu de $t", 'editer' . _LOG_INFO_IMPORTANTE);
95
-		$objet = $t;
96
-	}
97
-	if (
98
-		include_spip('action/editer_' . $objet) && function_exists($modifier = $objet . '_modifier')
99
-	) {
100
-		return $modifier($id, $set);
101
-	}
102
-
103
-	$table_sql = table_objet_sql($objet);
104
-	$trouver_table = charger_fonction('trouver_table', 'base');
105
-	$desc = $trouver_table($table_sql);
106
-	if (!$desc || !isset($desc['field'])) {
107
-		spip_log("Objet $objet inconnu dans objet_modifier", 'editer' . _LOG_ERREUR);
108
-
109
-		return _L("Erreur objet $objet inconnu");
110
-	}
111
-	include_spip('inc/modifier');
112
-
113
-	$champ_date = '';
114
-	if (isset($desc['date']) && $desc['date']) {
115
-		$champ_date = $desc['date'];
116
-	} elseif (isset($desc['field']['date'])) {
117
-		$champ_date = 'date';
118
-	}
119
-
120
-	$include_list = array_keys($desc['field']);
121
-	// on ne traite pas la cle primaire par defaut, notamment car
122
-	// sur une creation, id_x vaut 'oui', et serait enregistre en id_x=0 dans la base
123
-	$include_list = array_diff($include_list, [$desc['key']['PRIMARY KEY']]);
124
-
125
-	if (isset($desc['champs_editables']) && is_array($desc['champs_editables'])) {
126
-		$include_list = $desc['champs_editables'];
127
-	}
128
-	$c = collecter_requests(
129
-		// include list
130
-		$include_list,
131
-		// exclude list
132
-		[$champ_date, 'statut', 'id_parent', 'id_secteur'],
133
-		// donnees eventuellement fournies
134
-		$set
135
-	);
136
-
137
-	// Si l'objet est publie, invalider les caches et demander sa reindexation
138
-	if (objet_test_si_publie($objet, $id)) {
139
-		$invalideur = "id='$objet/$id'";
140
-		$indexation = true;
141
-	} else {
142
-		$invalideur = '';
143
-		$indexation = false;
144
-	}
145
-
146
-	if (
147
-		$err = objet_modifier_champs(
148
-			$objet,
149
-			$id,
150
-			[
151
-			'data' => $set,
152
-			'nonvide' => '',
153
-			'invalideur' => $invalideur,
154
-			'indexation' => $indexation,
155
-			// champ a mettre a date('Y-m-d H:i:s') s'il y a modif
156
-			'date_modif' => (isset($desc['field']['date_modif']) ? 'date_modif' : '')
157
-			],
158
-			$c
159
-		)
160
-	) {
161
-		return $err;
162
-	}
163
-
164
-	// Modification de statut, changement de rubrique ?
165
-	// FIXME: Ici lorsqu'un $set est passé, la fonction collecter_requests() retourne tout
166
-	//         le tableau $set hors liste d’exclusion, mais du coup on a possiblement des champs en trop.
167
-	$c = collecter_requests([$champ_date, 'statut', 'id_parent'], [], $set);
168
-
169
-	return objet_instituer($objet, $id, $c);
93
+    if (($t = objet_type($objet)) !== $objet) {
94
+        spip_log("objet_modifier: appel avec type $objet invalide au lieu de $t", 'editer' . _LOG_INFO_IMPORTANTE);
95
+        $objet = $t;
96
+    }
97
+    if (
98
+        include_spip('action/editer_' . $objet) && function_exists($modifier = $objet . '_modifier')
99
+    ) {
100
+        return $modifier($id, $set);
101
+    }
102
+
103
+    $table_sql = table_objet_sql($objet);
104
+    $trouver_table = charger_fonction('trouver_table', 'base');
105
+    $desc = $trouver_table($table_sql);
106
+    if (!$desc || !isset($desc['field'])) {
107
+        spip_log("Objet $objet inconnu dans objet_modifier", 'editer' . _LOG_ERREUR);
108
+
109
+        return _L("Erreur objet $objet inconnu");
110
+    }
111
+    include_spip('inc/modifier');
112
+
113
+    $champ_date = '';
114
+    if (isset($desc['date']) && $desc['date']) {
115
+        $champ_date = $desc['date'];
116
+    } elseif (isset($desc['field']['date'])) {
117
+        $champ_date = 'date';
118
+    }
119
+
120
+    $include_list = array_keys($desc['field']);
121
+    // on ne traite pas la cle primaire par defaut, notamment car
122
+    // sur une creation, id_x vaut 'oui', et serait enregistre en id_x=0 dans la base
123
+    $include_list = array_diff($include_list, [$desc['key']['PRIMARY KEY']]);
124
+
125
+    if (isset($desc['champs_editables']) && is_array($desc['champs_editables'])) {
126
+        $include_list = $desc['champs_editables'];
127
+    }
128
+    $c = collecter_requests(
129
+        // include list
130
+        $include_list,
131
+        // exclude list
132
+        [$champ_date, 'statut', 'id_parent', 'id_secteur'],
133
+        // donnees eventuellement fournies
134
+        $set
135
+    );
136
+
137
+    // Si l'objet est publie, invalider les caches et demander sa reindexation
138
+    if (objet_test_si_publie($objet, $id)) {
139
+        $invalideur = "id='$objet/$id'";
140
+        $indexation = true;
141
+    } else {
142
+        $invalideur = '';
143
+        $indexation = false;
144
+    }
145
+
146
+    if (
147
+        $err = objet_modifier_champs(
148
+            $objet,
149
+            $id,
150
+            [
151
+            'data' => $set,
152
+            'nonvide' => '',
153
+            'invalideur' => $invalideur,
154
+            'indexation' => $indexation,
155
+            // champ a mettre a date('Y-m-d H:i:s') s'il y a modif
156
+            'date_modif' => (isset($desc['field']['date_modif']) ? 'date_modif' : '')
157
+            ],
158
+            $c
159
+        )
160
+    ) {
161
+        return $err;
162
+    }
163
+
164
+    // Modification de statut, changement de rubrique ?
165
+    // FIXME: Ici lorsqu'un $set est passé, la fonction collecter_requests() retourne tout
166
+    //         le tableau $set hors liste d’exclusion, mais du coup on a possiblement des champs en trop.
167
+    $c = collecter_requests([$champ_date, 'statut', 'id_parent'], [], $set);
168
+
169
+    return objet_instituer($objet, $id, $c);
170 170
 }
171 171
 
172 172
 /**
@@ -197,154 +197,154 @@  discard block
 block discarded – undo
197 197
  *     - (int) 0 si le type d'objet n'existe pas ou que la table est mal déclarée
198 198
  */
199 199
 function objet_inserer($objet, $id_parent = null, $set = null) {
200
-	$d = null;
201
-	if (($t = objet_type($objet)) !== $objet) {
202
-		spip_log("objet_inserer: appel avec type $objet invalide au lieu de $t", 'editer' . _LOG_INFO_IMPORTANTE);
203
-		$objet = $t;
204
-	}
205
-	if (
206
-		include_spip('action/editer_' . $objet)
207
-		&& function_exists($inserer = $objet . '_inserer')
208
-	) {
209
-		return $inserer($id_parent, $set);
210
-	}
211
-
212
-	$table_sql = table_objet_sql($objet);
213
-	$trouver_table = charger_fonction('trouver_table', 'base');
214
-	$desc = $trouver_table($table_sql);
215
-	if (!$desc || !isset($desc['field'])) {
216
-		return 0;
217
-	}
218
-
219
-	$lang_rub = '';
220
-	$champs = [];
221
-	if (isset($desc['field']['id_rubrique'])) {
222
-		// Si id_rubrique vaut 0 ou n'est pas definie, creer l'objet
223
-		// dans la premiere rubrique racine
224
-		if (!$id_rubrique = (int) $id_parent) {
225
-			$row = sql_fetsel('id_rubrique, id_secteur, lang', 'spip_rubriques', 'id_parent=0', '', '0+titre,titre', '1');
226
-			$id_rubrique = $row['id_rubrique'];
227
-		} else {
228
-			$row = sql_fetsel('lang, id_secteur', 'spip_rubriques', 'id_rubrique=' . (int) $id_rubrique);
229
-		}
230
-
231
-		$champs['id_rubrique'] = $id_rubrique;
232
-		if (isset($desc['field']['id_secteur'])) {
233
-			$champs['id_secteur'] = $row['id_secteur'];
234
-		}
235
-		$lang_rub = $row['lang'];
236
-	}
237
-
238
-	// La langue a la creation : si les liens de traduction sont autorises
239
-	// dans les rubriques, on essaie avec la langue de l'auteur,
240
-	// ou a defaut celle de la rubrique
241
-	// Sinon c'est la langue de la rubrique qui est choisie + heritee
242
-	if (
243
-		isset($desc['field']['lang']) && !empty($GLOBALS['meta']['multi_objets']) && in_array(
244
-			$table_sql,
245
-			explode(',', (string) $GLOBALS['meta']['multi_objets'])
246
-		)
247
-	) {
248
-		lang_select($GLOBALS['visiteur_session']['lang']);
249
-		if (
250
-			in_array(
251
-				$GLOBALS['spip_lang'],
252
-				explode(',', (string) $GLOBALS['meta']['langues_multilingue'])
253
-			)
254
-		) {
255
-			$champs['lang'] = $GLOBALS['spip_lang'];
256
-			if (isset($desc['field']['langue_choisie'])) {
257
-				$champs['langue_choisie'] = 'oui';
258
-			}
259
-		}
260
-	} elseif (isset($desc['field']['lang']) && isset($desc['field']['langue_choisie'])) {
261
-		$champs['lang'] = ($lang_rub ?: $GLOBALS['meta']['langue_site']);
262
-		$champs['langue_choisie'] = 'non';
263
-	}
264
-
265
-	if (isset($desc['field']['statut'])) {
266
-		if (isset($desc['statut_textes_instituer'])) {
267
-			$cles_statut = array_keys($desc['statut_textes_instituer']);
268
-			$champs['statut'] = reset($cles_statut);
269
-		} else {
270
-			$champs['statut'] = 'prepa';
271
-		}
272
-	}
273
-
274
-
275
-	if (isset($desc['date']) && ($d = $desc['date']) || isset($desc['field'][$d = 'date'])) {
276
-		$champs[$d] = date('Y-m-d H:i:s');
277
-	}
278
-
279
-	if ($set) {
280
-		$champs = array_merge($champs, $set);
281
-	}
282
-
283
-	// Envoyer aux plugins
284
-	$champs = pipeline(
285
-		'pre_insertion',
286
-		[
287
-			'args' => [
288
-				'table' => $table_sql,
289
-				'id_parent' => $id_parent,
290
-			],
291
-			'data' => $champs
292
-		]
293
-	);
294
-
295
-	$id = sql_insertq($table_sql, $champs);
296
-
297
-	if ($id) {
298
-		// controler si le serveur n'a pas renvoye une erreur
299
-		// et associer l'auteur sinon
300
-		// si la table n'a pas deja un champ id_auteur
301
-		// et si le form n'a pas poste un id_auteur (meme vide, ce qui sert a annuler cette auto association)
302
-		if ($id > 0 && !isset($desc['field']['id_auteur'])) {
303
-			$id_auteur = ((is_null(_request('id_auteur')) && isset($GLOBALS['visiteur_session']['id_auteur']))
304
-				? $GLOBALS['visiteur_session']['id_auteur']
305
-				: _request('id_auteur'));
306
-			if ($id_auteur) {
307
-				include_spip('action/editer_auteur');
308
-				auteur_associer($id_auteur, [$objet => $id]);
309
-			}
310
-		}
311
-
312
-		pipeline(
313
-			'post_insertion',
314
-			[
315
-				'args' => [
316
-					'table' => $table_sql,
317
-					'id_parent' => $id_parent,
318
-					'id_objet' => $id,
319
-				],
320
-				'data' => $champs
321
-			]
322
-		);
323
-	}
324
-
325
-	// Appeler une notification
326
-	if ($notifications = charger_fonction('notifications', 'inc')) {
327
-		$notifications(
328
-			"{$objet}_inserer",
329
-			$id,
330
-			[
331
-				'id_parent' => $id_parent,
332
-				'champs' => $champs,
333
-			]
334
-		);
335
-		$notifications(
336
-			'objet_inserer',
337
-			$id,
338
-			[
339
-				'objet' => $objet,
340
-				'id_objet' => $id,
341
-				'id_parent' => $id_parent,
342
-				'champs' => $champs,
343
-			]
344
-		);
345
-	}
346
-
347
-	return $id;
200
+    $d = null;
201
+    if (($t = objet_type($objet)) !== $objet) {
202
+        spip_log("objet_inserer: appel avec type $objet invalide au lieu de $t", 'editer' . _LOG_INFO_IMPORTANTE);
203
+        $objet = $t;
204
+    }
205
+    if (
206
+        include_spip('action/editer_' . $objet)
207
+        && function_exists($inserer = $objet . '_inserer')
208
+    ) {
209
+        return $inserer($id_parent, $set);
210
+    }
211
+
212
+    $table_sql = table_objet_sql($objet);
213
+    $trouver_table = charger_fonction('trouver_table', 'base');
214
+    $desc = $trouver_table($table_sql);
215
+    if (!$desc || !isset($desc['field'])) {
216
+        return 0;
217
+    }
218
+
219
+    $lang_rub = '';
220
+    $champs = [];
221
+    if (isset($desc['field']['id_rubrique'])) {
222
+        // Si id_rubrique vaut 0 ou n'est pas definie, creer l'objet
223
+        // dans la premiere rubrique racine
224
+        if (!$id_rubrique = (int) $id_parent) {
225
+            $row = sql_fetsel('id_rubrique, id_secteur, lang', 'spip_rubriques', 'id_parent=0', '', '0+titre,titre', '1');
226
+            $id_rubrique = $row['id_rubrique'];
227
+        } else {
228
+            $row = sql_fetsel('lang, id_secteur', 'spip_rubriques', 'id_rubrique=' . (int) $id_rubrique);
229
+        }
230
+
231
+        $champs['id_rubrique'] = $id_rubrique;
232
+        if (isset($desc['field']['id_secteur'])) {
233
+            $champs['id_secteur'] = $row['id_secteur'];
234
+        }
235
+        $lang_rub = $row['lang'];
236
+    }
237
+
238
+    // La langue a la creation : si les liens de traduction sont autorises
239
+    // dans les rubriques, on essaie avec la langue de l'auteur,
240
+    // ou a defaut celle de la rubrique
241
+    // Sinon c'est la langue de la rubrique qui est choisie + heritee
242
+    if (
243
+        isset($desc['field']['lang']) && !empty($GLOBALS['meta']['multi_objets']) && in_array(
244
+            $table_sql,
245
+            explode(',', (string) $GLOBALS['meta']['multi_objets'])
246
+        )
247
+    ) {
248
+        lang_select($GLOBALS['visiteur_session']['lang']);
249
+        if (
250
+            in_array(
251
+                $GLOBALS['spip_lang'],
252
+                explode(',', (string) $GLOBALS['meta']['langues_multilingue'])
253
+            )
254
+        ) {
255
+            $champs['lang'] = $GLOBALS['spip_lang'];
256
+            if (isset($desc['field']['langue_choisie'])) {
257
+                $champs['langue_choisie'] = 'oui';
258
+            }
259
+        }
260
+    } elseif (isset($desc['field']['lang']) && isset($desc['field']['langue_choisie'])) {
261
+        $champs['lang'] = ($lang_rub ?: $GLOBALS['meta']['langue_site']);
262
+        $champs['langue_choisie'] = 'non';
263
+    }
264
+
265
+    if (isset($desc['field']['statut'])) {
266
+        if (isset($desc['statut_textes_instituer'])) {
267
+            $cles_statut = array_keys($desc['statut_textes_instituer']);
268
+            $champs['statut'] = reset($cles_statut);
269
+        } else {
270
+            $champs['statut'] = 'prepa';
271
+        }
272
+    }
273
+
274
+
275
+    if (isset($desc['date']) && ($d = $desc['date']) || isset($desc['field'][$d = 'date'])) {
276
+        $champs[$d] = date('Y-m-d H:i:s');
277
+    }
278
+
279
+    if ($set) {
280
+        $champs = array_merge($champs, $set);
281
+    }
282
+
283
+    // Envoyer aux plugins
284
+    $champs = pipeline(
285
+        'pre_insertion',
286
+        [
287
+            'args' => [
288
+                'table' => $table_sql,
289
+                'id_parent' => $id_parent,
290
+            ],
291
+            'data' => $champs
292
+        ]
293
+    );
294
+
295
+    $id = sql_insertq($table_sql, $champs);
296
+
297
+    if ($id) {
298
+        // controler si le serveur n'a pas renvoye une erreur
299
+        // et associer l'auteur sinon
300
+        // si la table n'a pas deja un champ id_auteur
301
+        // et si le form n'a pas poste un id_auteur (meme vide, ce qui sert a annuler cette auto association)
302
+        if ($id > 0 && !isset($desc['field']['id_auteur'])) {
303
+            $id_auteur = ((is_null(_request('id_auteur')) && isset($GLOBALS['visiteur_session']['id_auteur']))
304
+                ? $GLOBALS['visiteur_session']['id_auteur']
305
+                : _request('id_auteur'));
306
+            if ($id_auteur) {
307
+                include_spip('action/editer_auteur');
308
+                auteur_associer($id_auteur, [$objet => $id]);
309
+            }
310
+        }
311
+
312
+        pipeline(
313
+            'post_insertion',
314
+            [
315
+                'args' => [
316
+                    'table' => $table_sql,
317
+                    'id_parent' => $id_parent,
318
+                    'id_objet' => $id,
319
+                ],
320
+                'data' => $champs
321
+            ]
322
+        );
323
+    }
324
+
325
+    // Appeler une notification
326
+    if ($notifications = charger_fonction('notifications', 'inc')) {
327
+        $notifications(
328
+            "{$objet}_inserer",
329
+            $id,
330
+            [
331
+                'id_parent' => $id_parent,
332
+                'champs' => $champs,
333
+            ]
334
+        );
335
+        $notifications(
336
+            'objet_inserer',
337
+            $id,
338
+            [
339
+                'objet' => $objet,
340
+                'id_objet' => $id,
341
+                'id_parent' => $id_parent,
342
+                'champs' => $champs,
343
+            ]
344
+        );
345
+    }
346
+
347
+    return $id;
348 348
 }
349 349
 
350 350
 
@@ -361,135 +361,135 @@  discard block
 block discarded – undo
361 361
  * @return string
362 362
  */
363 363
 function objet_instituer($objet, $id, $c, $calcul_rub = true) {
364
-	if (($t = objet_type($objet)) !== $objet) {
365
-		spip_log("objet_instituer: appel avec type $objet invalide au lieu de $t", 'editer' . _LOG_INFO_IMPORTANTE);
366
-		$objet = $t;
367
-	}
368
-	if (
369
-		include_spip('action/editer_' . $objet) && function_exists($instituer = $objet . '_instituer')
370
-	) {
371
-		return $instituer($id, $c, $calcul_rub);
372
-	}
373
-
374
-	$table_sql = table_objet_sql($objet);
375
-	$trouver_table = charger_fonction('trouver_table', 'base');
376
-	$desc = $trouver_table($table_sql);
377
-	if (!$desc || !isset($desc['field'])) {
378
-		return _L("Impossible d'instituer $objet : non connu en base");
379
-	}
380
-
381
-	include_spip('inc/autoriser');
382
-	include_spip('inc/rubriques');
383
-	include_spip('inc/modifier');
384
-
385
-	$sel = [];
386
-	$sel[] = (isset($desc['field']['statut']) ? 'statut' : "'' as statut");
387
-
388
-	$champ_date = '';
389
-	if (isset($desc['date']) && $desc['date']) {
390
-		$champ_date = $desc['date'];
391
-	} elseif (isset($desc['field']['date'])) {
392
-		$champ_date = 'date';
393
-	}
394
-
395
-	$sel[] = ($champ_date ? "$champ_date as date" : "'' as date");
396
-	$sel[] = (isset($desc['field']['id_rubrique']) ? 'id_rubrique' : '0 as id_rubrique');
397
-
398
-	$row = sql_fetsel($sel, $table_sql, id_table_objet($objet) . '=' . (int) $id);
399
-
400
-	$id_rubrique = $row['id_rubrique'];
401
-	$statut_ancien = $statut = $row['statut'];
402
-	$date_ancienne = $date = $row['date'];
403
-	$champs = [];
404
-
405
-	$d = ($date && isset($c[$champ_date])) ? $c[$champ_date] : null;
406
-	$s = (isset($desc['field']['statut']) && isset($c['statut'])) ? $c['statut'] : $statut;
407
-
408
-	// cf autorisations dans inc/instituer_objet
409
-	if ($s != $statut || $d && $d != $date) {
410
-		if (
411
-			$id_rubrique ?
412
-			autoriser('publierdans', 'rubrique', $id_rubrique)
413
-			:
414
-			autoriser('instituer', $objet, $id, null, ['statut' => $s])
415
-		) {
416
-			$statut = $champs['statut'] = $s;
417
-		} else {
418
-			if ($s != 'publie' && autoriser('modifier', $objet, $id)) {
419
-				$statut = $champs['statut'] = $s;
420
-			} else {
421
-				spip_log("editer_objet $objet #$id refus " . json_encode($c, JSON_THROW_ON_ERROR), 'editer' . _LOG_INFO_IMPORTANTE);
422
-			}
423
-		}
424
-
425
-		// En cas de publication, fixer la date a "maintenant"
426
-		// sauf si $c commande autre chose
427
-		// ou si l'objet est deja date dans le futur
428
-		// En cas de proposition d'un objet (mais pas depublication), idem
429
-		if (
430
-			$champ_date
431
-			&& (
432
-				$champs['statut'] == 'publie'
433
-				|| $champs['statut'] == 'prop' && !in_array($statut_ancien, ['publie', 'prop'])
434
-				|| $d
435
-			)
436
-		) {
437
-			$date = ($d || strtotime((string) ($d = $date)) > time()) ? $d : date('Y-m-d H:i:s');
438
-			$champs[$champ_date] = $date;
439
-		}
440
-	}
441
-
442
-	// Verifier que la rubrique demandee existe et est differente
443
-	// de la rubrique actuelle
444
-	if (
445
-		$id_rubrique
446
-		&& isset($c['id_parent'])
447
-		&& ($id_parent = $c['id_parent'])
448
-		&& $id_parent != $id_rubrique
449
-		&& sql_fetsel('1', 'spip_rubriques', 'id_rubrique=' . (int) $id_parent)
450
-	) {
451
-		$champs['id_rubrique'] = $id_parent;
452
-
453
-		// si l'objet etait publie
454
-		// et que le demandeur n'est pas admin de la rubrique
455
-		// repasser l'objet en statut 'propose'.
456
-		if (
457
-			$statut == 'publie'
458
-			&& !autoriser('publierdans', 'rubrique', $id_rubrique)
459
-		) {
460
-			$champs['statut'] = 'prop';
461
-		}
462
-	}
463
-
464
-
465
-	// Envoyer aux plugins
466
-	$champs = pipeline(
467
-		'pre_edition',
468
-		[
469
-			'args' => [
470
-				'table' => $table_sql,
471
-				'id_objet' => $id,
472
-				'action' => 'instituer',
473
-				'statut_ancien' => $statut_ancien,
474
-				'date_ancienne' => $date_ancienne,
475
-				'id_parent_ancien' => $id_rubrique,
476
-			],
477
-			'data' => $champs
478
-		]
479
-	);
480
-
481
-	if (!(is_countable($champs) ? count($champs) : 0)) {
482
-		return '';
483
-	}
484
-
485
-	// Envoyer les modifs.
486
-	objet_editer_heritage($objet, $id, $id_rubrique, $statut_ancien, $champs, $calcul_rub);
487
-
488
-	// Invalider les caches
489
-	include_spip('inc/invalideur');
490
-	suivre_invalideur("id='$objet/$id'");
491
-
492
-	/*
364
+    if (($t = objet_type($objet)) !== $objet) {
365
+        spip_log("objet_instituer: appel avec type $objet invalide au lieu de $t", 'editer' . _LOG_INFO_IMPORTANTE);
366
+        $objet = $t;
367
+    }
368
+    if (
369
+        include_spip('action/editer_' . $objet) && function_exists($instituer = $objet . '_instituer')
370
+    ) {
371
+        return $instituer($id, $c, $calcul_rub);
372
+    }
373
+
374
+    $table_sql = table_objet_sql($objet);
375
+    $trouver_table = charger_fonction('trouver_table', 'base');
376
+    $desc = $trouver_table($table_sql);
377
+    if (!$desc || !isset($desc['field'])) {
378
+        return _L("Impossible d'instituer $objet : non connu en base");
379
+    }
380
+
381
+    include_spip('inc/autoriser');
382
+    include_spip('inc/rubriques');
383
+    include_spip('inc/modifier');
384
+
385
+    $sel = [];
386
+    $sel[] = (isset($desc['field']['statut']) ? 'statut' : "'' as statut");
387
+
388
+    $champ_date = '';
389
+    if (isset($desc['date']) && $desc['date']) {
390
+        $champ_date = $desc['date'];
391
+    } elseif (isset($desc['field']['date'])) {
392
+        $champ_date = 'date';
393
+    }
394
+
395
+    $sel[] = ($champ_date ? "$champ_date as date" : "'' as date");
396
+    $sel[] = (isset($desc['field']['id_rubrique']) ? 'id_rubrique' : '0 as id_rubrique');
397
+
398
+    $row = sql_fetsel($sel, $table_sql, id_table_objet($objet) . '=' . (int) $id);
399
+
400
+    $id_rubrique = $row['id_rubrique'];
401
+    $statut_ancien = $statut = $row['statut'];
402
+    $date_ancienne = $date = $row['date'];
403
+    $champs = [];
404
+
405
+    $d = ($date && isset($c[$champ_date])) ? $c[$champ_date] : null;
406
+    $s = (isset($desc['field']['statut']) && isset($c['statut'])) ? $c['statut'] : $statut;
407
+
408
+    // cf autorisations dans inc/instituer_objet
409
+    if ($s != $statut || $d && $d != $date) {
410
+        if (
411
+            $id_rubrique ?
412
+            autoriser('publierdans', 'rubrique', $id_rubrique)
413
+            :
414
+            autoriser('instituer', $objet, $id, null, ['statut' => $s])
415
+        ) {
416
+            $statut = $champs['statut'] = $s;
417
+        } else {
418
+            if ($s != 'publie' && autoriser('modifier', $objet, $id)) {
419
+                $statut = $champs['statut'] = $s;
420
+            } else {
421
+                spip_log("editer_objet $objet #$id refus " . json_encode($c, JSON_THROW_ON_ERROR), 'editer' . _LOG_INFO_IMPORTANTE);
422
+            }
423
+        }
424
+
425
+        // En cas de publication, fixer la date a "maintenant"
426
+        // sauf si $c commande autre chose
427
+        // ou si l'objet est deja date dans le futur
428
+        // En cas de proposition d'un objet (mais pas depublication), idem
429
+        if (
430
+            $champ_date
431
+            && (
432
+                $champs['statut'] == 'publie'
433
+                || $champs['statut'] == 'prop' && !in_array($statut_ancien, ['publie', 'prop'])
434
+                || $d
435
+            )
436
+        ) {
437
+            $date = ($d || strtotime((string) ($d = $date)) > time()) ? $d : date('Y-m-d H:i:s');
438
+            $champs[$champ_date] = $date;
439
+        }
440
+    }
441
+
442
+    // Verifier que la rubrique demandee existe et est differente
443
+    // de la rubrique actuelle
444
+    if (
445
+        $id_rubrique
446
+        && isset($c['id_parent'])
447
+        && ($id_parent = $c['id_parent'])
448
+        && $id_parent != $id_rubrique
449
+        && sql_fetsel('1', 'spip_rubriques', 'id_rubrique=' . (int) $id_parent)
450
+    ) {
451
+        $champs['id_rubrique'] = $id_parent;
452
+
453
+        // si l'objet etait publie
454
+        // et que le demandeur n'est pas admin de la rubrique
455
+        // repasser l'objet en statut 'propose'.
456
+        if (
457
+            $statut == 'publie'
458
+            && !autoriser('publierdans', 'rubrique', $id_rubrique)
459
+        ) {
460
+            $champs['statut'] = 'prop';
461
+        }
462
+    }
463
+
464
+
465
+    // Envoyer aux plugins
466
+    $champs = pipeline(
467
+        'pre_edition',
468
+        [
469
+            'args' => [
470
+                'table' => $table_sql,
471
+                'id_objet' => $id,
472
+                'action' => 'instituer',
473
+                'statut_ancien' => $statut_ancien,
474
+                'date_ancienne' => $date_ancienne,
475
+                'id_parent_ancien' => $id_rubrique,
476
+            ],
477
+            'data' => $champs
478
+        ]
479
+    );
480
+
481
+    if (!(is_countable($champs) ? count($champs) : 0)) {
482
+        return '';
483
+    }
484
+
485
+    // Envoyer les modifs.
486
+    objet_editer_heritage($objet, $id, $id_rubrique, $statut_ancien, $champs, $calcul_rub);
487
+
488
+    // Invalider les caches
489
+    include_spip('inc/invalideur');
490
+    suivre_invalideur("id='$objet/$id'");
491
+
492
+    /*
493 493
 	if ($date) {
494 494
 		$t = strtotime($date);
495 495
 		$p = @$GLOBALS['meta']['date_prochain_postdate'];
@@ -498,60 +498,60 @@  discard block
 block discarded – undo
498 498
 		}
499 499
 	}*/
500 500
 
501
-	// Pipeline
502
-	pipeline(
503
-		'post_edition',
504
-		[
505
-			'args' => [
506
-				'table' => $table_sql,
507
-				'id_objet' => $id,
508
-				'action' => 'instituer',
509
-				'statut_ancien' => $statut_ancien,
510
-				'date_ancienne' => $date_ancienne,
511
-				'id_parent_ancien' => $id_rubrique,
512
-			],
513
-			'data' => $champs
514
-		]
515
-	);
516
-
517
-	// Notifications
518
-	if ($notifications = charger_fonction('notifications', 'inc')) {
519
-		$notifications(
520
-			"{$objet}_instituer",
521
-			$id,
522
-			[
523
-				'statut' => $statut,
524
-				'statut_ancien' => $statut_ancien,
525
-				'date' => $date,
526
-				'date_ancienne' => $date_ancienne,
527
-				'id_parent_ancien' => $id_rubrique,
528
-				'champs' => $champs,
529
-			]
530
-		);
531
-		$notifications(
532
-			'objet_instituer',
533
-			$id,
534
-			[
535
-				'objet' => $objet,
536
-				'id_objet' => $id,
537
-				'statut' => $statut,
538
-				'statut_ancien' => $statut_ancien,
539
-				'date' => $date,
540
-				'date_ancienne' => $date_ancienne,
541
-				'id_parent_ancien' => $id_rubrique,
542
-				'champs' => $champs,
543
-			]
544
-		);
545
-
546
-		// Rétro-compat
547
-		$notifications(
548
-			"instituer$objet",
549
-			$id,
550
-			['statut' => $statut, 'statut_ancien' => $statut_ancien, 'date' => $date, 'date_ancienne' => $date_ancienne]
551
-		);
552
-	}
553
-
554
-	return ''; // pas d'erreur
501
+    // Pipeline
502
+    pipeline(
503
+        'post_edition',
504
+        [
505
+            'args' => [
506
+                'table' => $table_sql,
507
+                'id_objet' => $id,
508
+                'action' => 'instituer',
509
+                'statut_ancien' => $statut_ancien,
510
+                'date_ancienne' => $date_ancienne,
511
+                'id_parent_ancien' => $id_rubrique,
512
+            ],
513
+            'data' => $champs
514
+        ]
515
+    );
516
+
517
+    // Notifications
518
+    if ($notifications = charger_fonction('notifications', 'inc')) {
519
+        $notifications(
520
+            "{$objet}_instituer",
521
+            $id,
522
+            [
523
+                'statut' => $statut,
524
+                'statut_ancien' => $statut_ancien,
525
+                'date' => $date,
526
+                'date_ancienne' => $date_ancienne,
527
+                'id_parent_ancien' => $id_rubrique,
528
+                'champs' => $champs,
529
+            ]
530
+        );
531
+        $notifications(
532
+            'objet_instituer',
533
+            $id,
534
+            [
535
+                'objet' => $objet,
536
+                'id_objet' => $id,
537
+                'statut' => $statut,
538
+                'statut_ancien' => $statut_ancien,
539
+                'date' => $date,
540
+                'date_ancienne' => $date_ancienne,
541
+                'id_parent_ancien' => $id_rubrique,
542
+                'champs' => $champs,
543
+            ]
544
+        );
545
+
546
+        // Rétro-compat
547
+        $notifications(
548
+            "instituer$objet",
549
+            $id,
550
+            ['statut' => $statut, 'statut_ancien' => $statut_ancien, 'date' => $date, 'date_ancienne' => $date_ancienne]
551
+        );
552
+    }
553
+
554
+    return ''; // pas d'erreur
555 555
 }
556 556
 
557 557
 /**
@@ -566,51 +566,51 @@  discard block
 block discarded – undo
566 566
  * @return void
567 567
  */
568 568
 function objet_editer_heritage($objet, $id, $id_rubrique, $statut, $champs, $cond = true) {
569
-	$table_sql = table_objet_sql($objet);
570
-	$trouver_table = charger_fonction('trouver_table', 'base');
571
-	$desc = $trouver_table($table_sql);
572
-
573
-	// Si on deplace l'objet
574
-	// changer aussi son secteur et sa langue (si heritee)
575
-	if (isset($champs['id_rubrique'])) {
576
-		$row_rub = sql_fetsel('id_secteur, lang', 'spip_rubriques', 'id_rubrique=' . sql_quote($champs['id_rubrique']));
577
-		$langue = $row_rub['lang'];
578
-
579
-		if (isset($desc['field']['id_secteur'])) {
580
-			$champs['id_secteur'] = $row_rub['id_secteur'];
581
-		}
582
-
583
-		if (
584
-			isset($desc['field']['lang'])
585
-			&& isset($desc['field']['langue_choisie'])
586
-			&& sql_fetsel(
587
-				'1',
588
-				$table_sql,
589
-				id_table_objet($objet) . '=' . (int) $id . " AND langue_choisie<>'oui' AND lang<>" . sql_quote($langue)
590
-			)
591
-		) {
592
-			$champs['lang'] = $langue;
593
-		}
594
-	}
595
-
596
-	if (!$champs) {
597
-		return;
598
-	}
599
-	sql_updateq($table_sql, $champs, id_table_objet($objet) . '=' . (int) $id);
600
-
601
-	// Changer le statut des rubriques concernees
602
-	if ($cond) {
603
-		include_spip('inc/rubriques');
604
-		//$postdate = ($GLOBALS['meta']["post_dates"] == "non" AND isset($champs['date']) AND (strtotime($champs['date']) < time()))?$champs['date']:false;
605
-		$postdate = false;
606
-		// On rajoute les infos de l'objet
607
-		$infos = [
608
-			'objet' => $objet,
609
-			'id_objet' => $id,
610
-			'statut_ancien' => $statut,
611
-		];
612
-		calculer_rubriques_if($id_rubrique, $champs, $infos, $postdate);
613
-	}
569
+    $table_sql = table_objet_sql($objet);
570
+    $trouver_table = charger_fonction('trouver_table', 'base');
571
+    $desc = $trouver_table($table_sql);
572
+
573
+    // Si on deplace l'objet
574
+    // changer aussi son secteur et sa langue (si heritee)
575
+    if (isset($champs['id_rubrique'])) {
576
+        $row_rub = sql_fetsel('id_secteur, lang', 'spip_rubriques', 'id_rubrique=' . sql_quote($champs['id_rubrique']));
577
+        $langue = $row_rub['lang'];
578
+
579
+        if (isset($desc['field']['id_secteur'])) {
580
+            $champs['id_secteur'] = $row_rub['id_secteur'];
581
+        }
582
+
583
+        if (
584
+            isset($desc['field']['lang'])
585
+            && isset($desc['field']['langue_choisie'])
586
+            && sql_fetsel(
587
+                '1',
588
+                $table_sql,
589
+                id_table_objet($objet) . '=' . (int) $id . " AND langue_choisie<>'oui' AND lang<>" . sql_quote($langue)
590
+            )
591
+        ) {
592
+            $champs['lang'] = $langue;
593
+        }
594
+    }
595
+
596
+    if (!$champs) {
597
+        return;
598
+    }
599
+    sql_updateq($table_sql, $champs, id_table_objet($objet) . '=' . (int) $id);
600
+
601
+    // Changer le statut des rubriques concernees
602
+    if ($cond) {
603
+        include_spip('inc/rubriques');
604
+        //$postdate = ($GLOBALS['meta']["post_dates"] == "non" AND isset($champs['date']) AND (strtotime($champs['date']) < time()))?$champs['date']:false;
605
+        $postdate = false;
606
+        // On rajoute les infos de l'objet
607
+        $infos = [
608
+            'objet' => $objet,
609
+            'id_objet' => $id,
610
+            'statut_ancien' => $statut,
611
+        ];
612
+        calculer_rubriques_if($id_rubrique, $champs, $infos, $postdate);
613
+    }
614 614
 }
615 615
 
616 616
 
@@ -639,71 +639,71 @@  discard block
 block discarded – undo
639 639
  *     string|int : valeur du champ demande pour l'objet demande
640 640
  */
641 641
 function objet_lire($objet, $valeur_id, $options = []) {
642
-	if (($t = objet_type($objet)) !== $objet) {
643
-		spip_log("objet_lire: appel avec type $objet invalide au lieu de $t", 'editer' . _LOG_INFO_IMPORTANTE);
644
-		$objet = $t;
645
-	}
646
-
647
-	// tableau du cache des descriptions et des id d'objet (au sens id_xxx).
648
-	// Les tableaux sont toujours indexés par le trio [objet][cle][valeur_cle]
649
-	static $descriptions = [];
650
-
651
-	// On détermine le nom du champ id de la table.
652
-	include_spip('base/objets');
653
-	$primary = id_table_objet($objet);
654
-
655
-	// On détermine l'id à utiliser.
656
-	$champ_id = (empty($options['champ_id']) ? $primary : $options['champ_id']);
657
-
658
-	// Si l'objet n'a pas encore été stocké, il faut récupérer sa description complète.
659
-	if (
660
-		!isset($descriptions[$objet][$champ_id][$valeur_id])
661
-		|| isset($options['force']) && $options['force']
662
-	) {
663
-		// Il est possible pour un type d'objet de fournir une fonction de lecture de tous les champs d'un objet.
664
-		if (
665
-			include_spip('action/editer_' . $objet)
666
-			&& function_exists($lire = "{$objet}_lire_champs")
667
-		) {
668
-			$valeurs = $lire($objet, $valeur_id, $champ_id);
669
-		} else {
670
-			// On récupère la table SQL à partir du type d'objet.
671
-			$table = table_objet_sql($objet);
672
-
673
-			// La condition est appliquée sur le champ désigné par l'utilisateur.
674
-			$where = [
675
-				$champ_id . '=' . sql_quote($valeur_id)
676
-			];
677
-
678
-			// Acquisition de tous les champs de l'objet : si l'accès SQL retourne une erreur on renvoie un tableau vide.
679
-			$valeurs = sql_fetsel('*', $table, $where);
680
-		}
681
-
682
-		if (!$valeurs) {
683
-			$valeurs = false;
684
-		}
685
-
686
-		$descriptions[$objet][$champ_id][$valeur_id] = $valeurs;
687
-
688
-		if ($champ_id !== $primary && isset($valeurs[$primary])) {
689
-			$descriptions[$objet][$primary][$valeurs[$primary]] = $valeurs;
690
-			$descriptions[$objet][$champ_id][$valeur_id] = &$descriptions[$objet][$primary][$valeurs[$primary]];
691
-		}
692
-	}
693
-
694
-	$retour = $descriptions[$objet][$champ_id][$valeur_id];
695
-
696
-	// On ne retourne maintenant que les champs demandés.
697
-	// - on détermine les informations à renvoyer.
698
-	if ($retour && !empty($options['champs'])) {
699
-		$champs = $options['champs'];
700
-		// Extraction des seules informations demandées.
701
-		// -- si on demande une information unique on renvoie la valeur simple, sinon on renvoie un tableau.
702
-		// -- si une information n'est pas un champ valide elle n'est pas renvoyée sans renvoyer d'erreur.
703
-		$retour = is_array($champs)
704
-			? array_intersect_key($retour, array_flip($champs))
705
-			: $retour[$champs] ?? false;
706
-	}
707
-
708
-	return $retour;
642
+    if (($t = objet_type($objet)) !== $objet) {
643
+        spip_log("objet_lire: appel avec type $objet invalide au lieu de $t", 'editer' . _LOG_INFO_IMPORTANTE);
644
+        $objet = $t;
645
+    }
646
+
647
+    // tableau du cache des descriptions et des id d'objet (au sens id_xxx).
648
+    // Les tableaux sont toujours indexés par le trio [objet][cle][valeur_cle]
649
+    static $descriptions = [];
650
+
651
+    // On détermine le nom du champ id de la table.
652
+    include_spip('base/objets');
653
+    $primary = id_table_objet($objet);
654
+
655
+    // On détermine l'id à utiliser.
656
+    $champ_id = (empty($options['champ_id']) ? $primary : $options['champ_id']);
657
+
658
+    // Si l'objet n'a pas encore été stocké, il faut récupérer sa description complète.
659
+    if (
660
+        !isset($descriptions[$objet][$champ_id][$valeur_id])
661
+        || isset($options['force']) && $options['force']
662
+    ) {
663
+        // Il est possible pour un type d'objet de fournir une fonction de lecture de tous les champs d'un objet.
664
+        if (
665
+            include_spip('action/editer_' . $objet)
666
+            && function_exists($lire = "{$objet}_lire_champs")
667
+        ) {
668
+            $valeurs = $lire($objet, $valeur_id, $champ_id);
669
+        } else {
670
+            // On récupère la table SQL à partir du type d'objet.
671
+            $table = table_objet_sql($objet);
672
+
673
+            // La condition est appliquée sur le champ désigné par l'utilisateur.
674
+            $where = [
675
+                $champ_id . '=' . sql_quote($valeur_id)
676
+            ];
677
+
678
+            // Acquisition de tous les champs de l'objet : si l'accès SQL retourne une erreur on renvoie un tableau vide.
679
+            $valeurs = sql_fetsel('*', $table, $where);
680
+        }
681
+
682
+        if (!$valeurs) {
683
+            $valeurs = false;
684
+        }
685
+
686
+        $descriptions[$objet][$champ_id][$valeur_id] = $valeurs;
687
+
688
+        if ($champ_id !== $primary && isset($valeurs[$primary])) {
689
+            $descriptions[$objet][$primary][$valeurs[$primary]] = $valeurs;
690
+            $descriptions[$objet][$champ_id][$valeur_id] = &$descriptions[$objet][$primary][$valeurs[$primary]];
691
+        }
692
+    }
693
+
694
+    $retour = $descriptions[$objet][$champ_id][$valeur_id];
695
+
696
+    // On ne retourne maintenant que les champs demandés.
697
+    // - on détermine les informations à renvoyer.
698
+    if ($retour && !empty($options['champs'])) {
699
+        $champs = $options['champs'];
700
+        // Extraction des seules informations demandées.
701
+        // -- si on demande une information unique on renvoie la valeur simple, sinon on renvoie un tableau.
702
+        // -- si une information n'est pas un champ valide elle n'est pas renvoyée sans renvoyer d'erreur.
703
+        $retour = is_array($champs)
704
+            ? array_intersect_key($retour, array_flip($champs))
705
+            : $retour[$champs] ?? false;
706
+    }
707
+
708
+    return $retour;
709 709
 }
Please login to merge, or discard this patch.
ecrire/action/confirmer_email.php 2 patches
Indentation   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  */
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -27,23 +27,23 @@  discard block
 block discarded – undo
27 27
  * @return void
28 28
  */
29 29
 function action_confirmer_email_dist() {
30
-	$securiser_action = charger_fonction('securiser_action', 'inc');
31
-	$arg = $securiser_action();
30
+    $securiser_action = charger_fonction('securiser_action', 'inc');
31
+    $arg = $securiser_action();
32 32
 
33
-	include_spip('inc/filtres');
34
-	if ($GLOBALS['visiteur_session']['id_auteur'] && email_valide($arg)) {
35
-		include_spip('action/editer_auteur');
36
-		auteur_modifier($GLOBALS['visiteur_session']['id_auteur'], ['email' => $arg]);
37
-	}
38
-	// verifier avant de rediriger pour invalider le message de confirmation
39
-	// si ca n'a pas marche
40
-	if (
41
-		($redirect = _request('redirect')) && !$arg == sql_getfetsel(
42
-			'email',
43
-			'spip_auteurs',
44
-			'id_auteur=' . (int) $GLOBALS['visiteur_session']
45
-		)
46
-	) {
47
-		$GLOBALS['redirect'] = parametre_url($redirect, 'email_modif', '');
48
-	}
33
+    include_spip('inc/filtres');
34
+    if ($GLOBALS['visiteur_session']['id_auteur'] && email_valide($arg)) {
35
+        include_spip('action/editer_auteur');
36
+        auteur_modifier($GLOBALS['visiteur_session']['id_auteur'], ['email' => $arg]);
37
+    }
38
+    // verifier avant de rediriger pour invalider le message de confirmation
39
+    // si ca n'a pas marche
40
+    if (
41
+        ($redirect = _request('redirect')) && !$arg == sql_getfetsel(
42
+            'email',
43
+            'spip_auteurs',
44
+            'id_auteur=' . (int) $GLOBALS['visiteur_session']
45
+        )
46
+    ) {
47
+        $GLOBALS['redirect'] = parametre_url($redirect, 'email_modif', '');
48
+    }
49 49
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -41,7 +41,7 @@
 block discarded – undo
41 41
 		($redirect = _request('redirect')) && !$arg == sql_getfetsel(
42 42
 			'email',
43 43
 			'spip_auteurs',
44
-			'id_auteur=' . (int) $GLOBALS['visiteur_session']
44
+			'id_auteur='.(int) $GLOBALS['visiteur_session']
45 45
 		)
46 46
 	) {
47 47
 		$GLOBALS['redirect'] = parametre_url($redirect, 'email_modif', '');
Please login to merge, or discard this patch.
ecrire/action/debloquer_edition.php 1 patch
Indentation   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  */
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -30,17 +30,17 @@  discard block
 block discarded – undo
30 30
  */
31 31
 function action_debloquer_edition_dist() {
32 32
 
33
-	$securiser_action = charger_fonction('securiser_action', 'inc');
34
-	$arg = $securiser_action();
33
+    $securiser_action = charger_fonction('securiser_action', 'inc');
34
+    $arg = $securiser_action();
35 35
 
36
-	if ($arg) {
37
-		include_spip('inc/drapeau_edition');
38
-		if ($arg == 'tous') {
39
-			debloquer_tous($GLOBALS['visiteur_session']['id_auteur']);
40
-		} else {
41
-			$arg = explode('-', (string) $arg);
42
-			[$objet, $id_objet] = $arg;
43
-			debloquer_edition($GLOBALS['visiteur_session']['id_auteur'], $id_objet, $objet);
44
-		}
45
-	}
36
+    if ($arg) {
37
+        include_spip('inc/drapeau_edition');
38
+        if ($arg == 'tous') {
39
+            debloquer_tous($GLOBALS['visiteur_session']['id_auteur']);
40
+        } else {
41
+            $arg = explode('-', (string) $arg);
42
+            [$objet, $id_objet] = $arg;
43
+            debloquer_edition($GLOBALS['visiteur_session']['id_auteur'], $id_objet, $objet);
44
+        }
45
+    }
46 46
 }
Please login to merge, or discard this patch.
ecrire/action/calculer_taille_cache.php 2 patches
Indentation   +57 added lines, -57 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
  * @package SPIP\Core\Cache
16 16
  **/
17 17
 if (!defined('_ECRIRE_INC_VERSION')) {
18
-	return;
18
+    return;
19 19
 }
20 20
 
21 21
 
@@ -30,41 +30,41 @@  discard block
 block discarded – undo
30 30
  *     de l'action sécurisée.
31 31
  */
32 32
 function action_calculer_taille_cache_dist($arg = null) {
33
-	if (is_null($arg)) {
34
-		$securiser_action = charger_fonction('securiser_action', 'inc');
35
-		$arg = $securiser_action();
36
-	}
37
-	include_spip('inc/filtres');
33
+    if (is_null($arg)) {
34
+        $securiser_action = charger_fonction('securiser_action', 'inc');
35
+        $arg = $securiser_action();
36
+    }
37
+    include_spip('inc/filtres');
38 38
 
39
-	if ($arg == 'images') {
40
-		$taille = calculer_taille_dossier(_DIR_VAR);
41
-		$res = _T(
42
-			'ecrire:taille_cache_image',
43
-			[
44
-				'dir' => joli_repertoire(_DIR_VAR),
45
-				'taille' => '<b>' . (taille_en_octets($taille) > 0 ? taille_en_octets($taille) : '0 octet') . '</b>'
46
-			]
47
-		);
48
-	} else {
49
-		include_spip('inc/invalideur');
50
-		$taille =
51
-			calculer_taille_dossier(_DIR_CACHE_XML)
52
-			+ calculer_taille_dossier(_DIR_CACHE . 'skel/')
53
-			+ calculer_taille_dossier(_DIR_CACHE . 'wheels/')
54
-			+ calculer_taille_dossier(_DIR_CACHE . 'contextes/');
55
-		$taille += (int) taille_du_cache();
56
-		if ($taille <= 150000) {
57
-			$res = _T('taille_cache_vide');
58
-		} elseif ($taille <= 1024 * 1024) {
59
-			$res = _T('taille_cache_moins_de', ['octets' => taille_en_octets(1024 * 1024)]);
60
-		} else {
61
-			$res = _T('taille_cache_octets', ['octets' => taille_en_octets($taille)]);
62
-		}
63
-		$res = "<b>$res</b>";
64
-	}
39
+    if ($arg == 'images') {
40
+        $taille = calculer_taille_dossier(_DIR_VAR);
41
+        $res = _T(
42
+            'ecrire:taille_cache_image',
43
+            [
44
+                'dir' => joli_repertoire(_DIR_VAR),
45
+                'taille' => '<b>' . (taille_en_octets($taille) > 0 ? taille_en_octets($taille) : '0 octet') . '</b>'
46
+            ]
47
+        );
48
+    } else {
49
+        include_spip('inc/invalideur');
50
+        $taille =
51
+            calculer_taille_dossier(_DIR_CACHE_XML)
52
+            + calculer_taille_dossier(_DIR_CACHE . 'skel/')
53
+            + calculer_taille_dossier(_DIR_CACHE . 'wheels/')
54
+            + calculer_taille_dossier(_DIR_CACHE . 'contextes/');
55
+        $taille += (int) taille_du_cache();
56
+        if ($taille <= 150000) {
57
+            $res = _T('taille_cache_vide');
58
+        } elseif ($taille <= 1024 * 1024) {
59
+            $res = _T('taille_cache_moins_de', ['octets' => taille_en_octets(1024 * 1024)]);
60
+        } else {
61
+            $res = _T('taille_cache_octets', ['octets' => taille_en_octets($taille)]);
62
+        }
63
+        $res = "<b>$res</b>";
64
+    }
65 65
 
66
-	$res = "<p>$res</p>";
67
-	ajax_retour($res);
66
+    $res = "<p>$res</p>";
67
+    ajax_retour($res);
68 68
 }
69 69
 
70 70
 
@@ -75,28 +75,28 @@  discard block
 block discarded – undo
75 75
  * @return int Taille en octets
76 76
  */
77 77
 function calculer_taille_dossier($dir) {
78
-	if (!is_dir($dir) || !is_readable($dir)) {
79
-		return 0;
80
-	}
81
-	$handle = opendir($dir);
82
-	if (!$handle) {
83
-		return 0;
84
-	}
85
-	$taille = 0;
86
-	while (($fichier = @readdir($handle)) !== false) {
87
-		// Eviter ".", "..", ".htaccess", etc.
88
-		if ($fichier[0] == '.') {
89
-			continue;
90
-		}
91
-		if (is_file($d = "$dir/$fichier")) {
92
-			$taille += filesize($d);
93
-		} else {
94
-			if (is_dir($d)) {
95
-				$taille += calculer_taille_dossier($d);
96
-			}
97
-		}
98
-	}
99
-	closedir($handle);
78
+    if (!is_dir($dir) || !is_readable($dir)) {
79
+        return 0;
80
+    }
81
+    $handle = opendir($dir);
82
+    if (!$handle) {
83
+        return 0;
84
+    }
85
+    $taille = 0;
86
+    while (($fichier = @readdir($handle)) !== false) {
87
+        // Eviter ".", "..", ".htaccess", etc.
88
+        if ($fichier[0] == '.') {
89
+            continue;
90
+        }
91
+        if (is_file($d = "$dir/$fichier")) {
92
+            $taille += filesize($d);
93
+        } else {
94
+            if (is_dir($d)) {
95
+                $taille += calculer_taille_dossier($d);
96
+            }
97
+        }
98
+    }
99
+    closedir($handle);
100 100
 
101
-	return $taille;
101
+    return $taille;
102 102
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -42,16 +42,16 @@
 block discarded – undo
42 42
 			'ecrire:taille_cache_image',
43 43
 			[
44 44
 				'dir' => joli_repertoire(_DIR_VAR),
45
-				'taille' => '<b>' . (taille_en_octets($taille) > 0 ? taille_en_octets($taille) : '0 octet') . '</b>'
45
+				'taille' => '<b>'.(taille_en_octets($taille) > 0 ? taille_en_octets($taille) : '0 octet').'</b>'
46 46
 			]
47 47
 		);
48 48
 	} else {
49 49
 		include_spip('inc/invalideur');
50 50
 		$taille =
51 51
 			calculer_taille_dossier(_DIR_CACHE_XML)
52
-			+ calculer_taille_dossier(_DIR_CACHE . 'skel/')
53
-			+ calculer_taille_dossier(_DIR_CACHE . 'wheels/')
54
-			+ calculer_taille_dossier(_DIR_CACHE . 'contextes/');
52
+			+ calculer_taille_dossier(_DIR_CACHE.'skel/')
53
+			+ calculer_taille_dossier(_DIR_CACHE.'wheels/')
54
+			+ calculer_taille_dossier(_DIR_CACHE.'contextes/');
55 55
 		$taille += (int) taille_du_cache();
56 56
 		if ($taille <= 150000) {
57 57
 			$res = _T('taille_cache_vide');
Please login to merge, or discard this patch.
ecrire/action/menu_rubriques.php 2 patches
Indentation   +155 added lines, -155 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 include_spip('inc/autoriser');
@@ -34,42 +34,42 @@  discard block
 block discarded – undo
34 34
  **/
35 35
 function action_menu_rubriques_dist() {
36 36
 
37
-	// si pas acces a ecrire, pas acces au menu
38
-	// on renvoi un 401 qui fait echouer la requete ajax silencieusement
39
-	if (!autoriser('ecrire')) {
40
-		$retour =
41
-		'<ul class="deroulant__sous-menu" data-profondeur="1">' .
42
-			'<li class="deroulant__item deroulant__item_plan plan_site" data-profondeur="1">' .
43
-				'<a class="deroulant__lien" href="' . generer_url_ecrire('accueil') . '" data-profondeur="1">' .
44
-					'<span class="libelle">' . _T('public:lien_connecter') . '</span>' .
45
-				'</a>' .
46
-			'</li>' .
47
-		'</ul>';
48
-		include_spip('inc/actions');
49
-		ajax_retour($retour);
50
-		exit;
51
-	}
52
-
53
-	if ($date = (int) _request('date')) {
54
-		header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $date) . ' GMT');
55
-	}
56
-
57
-	$r = gen_liste_rubriques();
58
-	if (
59
-		!$r
60
-		&& isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])
61
-		&& !strstr((string) $_SERVER['SERVER_SOFTWARE'], 'IIS/')
62
-	) {
63
-		include_spip('inc/headers');
64
-		header('Content-Type: text/html; charset=' . $GLOBALS['meta']['charset']);
65
-		http_response_code(304);
66
-		exit;
67
-	} else {
68
-		include_spip('inc/actions');
69
-		$ret = menu_rubriques();
70
-		ajax_retour($ret);
71
-		exit;
72
-	}
37
+    // si pas acces a ecrire, pas acces au menu
38
+    // on renvoi un 401 qui fait echouer la requete ajax silencieusement
39
+    if (!autoriser('ecrire')) {
40
+        $retour =
41
+        '<ul class="deroulant__sous-menu" data-profondeur="1">' .
42
+            '<li class="deroulant__item deroulant__item_plan plan_site" data-profondeur="1">' .
43
+                '<a class="deroulant__lien" href="' . generer_url_ecrire('accueil') . '" data-profondeur="1">' .
44
+                    '<span class="libelle">' . _T('public:lien_connecter') . '</span>' .
45
+                '</a>' .
46
+            '</li>' .
47
+        '</ul>';
48
+        include_spip('inc/actions');
49
+        ajax_retour($retour);
50
+        exit;
51
+    }
52
+
53
+    if ($date = (int) _request('date')) {
54
+        header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $date) . ' GMT');
55
+    }
56
+
57
+    $r = gen_liste_rubriques();
58
+    if (
59
+        !$r
60
+        && isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])
61
+        && !strstr((string) $_SERVER['SERVER_SOFTWARE'], 'IIS/')
62
+    ) {
63
+        include_spip('inc/headers');
64
+        header('Content-Type: text/html; charset=' . $GLOBALS['meta']['charset']);
65
+        http_response_code(304);
66
+        exit;
67
+    } else {
68
+        include_spip('inc/actions');
69
+        $ret = menu_rubriques();
70
+        ajax_retour($ret);
71
+        exit;
72
+    }
73 73
 }
74 74
 
75 75
 /**
@@ -83,44 +83,44 @@  discard block
 block discarded – undo
83 83
  *     Code HTML présentant la liste des rubriques
84 84
  **/
85 85
 function menu_rubriques($complet = true) {
86
-	$ret = '<li class="deroulant__item deroulant__item_tout toutsite" data-profondeur="1">'
87
-		. '<a class="deroulant__lien" href="' . generer_url_ecrire('plan') . '" data-profondeur="1">'
88
-		. '<span class="libelle">' . _T('info_tout_site') . '</span>'
89
-		. '</a>'
90
-		. '</li>';
91
-
92
-	if (!$complet) {
93
-		return "<ul class=\"deroulant__sous-menu\" data-profondeur=\"1\">$ret\n</ul>\n";
94
-	}
95
-
96
-	if (!isset($GLOBALS['db_art_cache'])) {
97
-		gen_liste_rubriques();
98
-	}
99
-	$arr_low = extraire_article(0, $GLOBALS['db_art_cache']);
100
-
101
-	$total_lignes = $i = count($arr_low);
102
-
103
-	if ($i > 0) {
104
-		$nb_col = min(8, ceil($total_lignes / 30));
105
-		if ($nb_col <= 1) {
106
-			$nb_col = ceil($total_lignes / 10);
107
-		}
108
-		foreach ($arr_low as $id_rubrique => $titre_rubrique) {
109
-			if (autoriser('voir', 'rubrique', $id_rubrique)) {
110
-				$ret .= bandeau_rubrique($id_rubrique, $titre_rubrique, $i);
111
-				$i++;
112
-			}
113
-		}
114
-
115
-		$class_cols = ($nb_col > 1 ? "cols-$nb_col" : '');
116
-		$ret = "<ul class=\"deroulant__sous-menu $class_cols\" data-profondeur=\"1\">"
117
-			. $ret
118
-			. "\n</ul>\n";
119
-	} else {
120
-		$ret = "<ul class=\"deroulant__sous-menu\" data-profondeur=\"1\">$ret\n</ul>\n";
121
-	}
122
-
123
-	return $ret;
86
+    $ret = '<li class="deroulant__item deroulant__item_tout toutsite" data-profondeur="1">'
87
+        . '<a class="deroulant__lien" href="' . generer_url_ecrire('plan') . '" data-profondeur="1">'
88
+        . '<span class="libelle">' . _T('info_tout_site') . '</span>'
89
+        . '</a>'
90
+        . '</li>';
91
+
92
+    if (!$complet) {
93
+        return "<ul class=\"deroulant__sous-menu\" data-profondeur=\"1\">$ret\n</ul>\n";
94
+    }
95
+
96
+    if (!isset($GLOBALS['db_art_cache'])) {
97
+        gen_liste_rubriques();
98
+    }
99
+    $arr_low = extraire_article(0, $GLOBALS['db_art_cache']);
100
+
101
+    $total_lignes = $i = count($arr_low);
102
+
103
+    if ($i > 0) {
104
+        $nb_col = min(8, ceil($total_lignes / 30));
105
+        if ($nb_col <= 1) {
106
+            $nb_col = ceil($total_lignes / 10);
107
+        }
108
+        foreach ($arr_low as $id_rubrique => $titre_rubrique) {
109
+            if (autoriser('voir', 'rubrique', $id_rubrique)) {
110
+                $ret .= bandeau_rubrique($id_rubrique, $titre_rubrique, $i);
111
+                $i++;
112
+            }
113
+        }
114
+
115
+        $class_cols = ($nb_col > 1 ? "cols-$nb_col" : '');
116
+        $ret = "<ul class=\"deroulant__sous-menu $class_cols\" data-profondeur=\"1\">"
117
+            . $ret
118
+            . "\n</ul>\n";
119
+    } else {
120
+        $ret = "<ul class=\"deroulant__sous-menu\" data-profondeur=\"1\">$ret\n</ul>\n";
121
+    }
122
+
123
+    return $ret;
124 124
 }
125 125
 
126 126
 /**
@@ -141,47 +141,47 @@  discard block
 block discarded – undo
141 141
  *     Code HTML présentant la liste des rubriques
142 142
  **/
143 143
 function bandeau_rubrique($id_rubrique, $titre_rubrique, $zdecal, $profondeur = 1) {
144
-	static $zmax = 6;
145
-	$profondeur_next = $profondeur + 1;
146
-
147
-	$nav = '<a class="deroulant__lien" href="' . generer_objet_url($id_rubrique, 'rubrique', '', '', false) . "\" data-profondeur=\"$profondeur\">"
148
-		. '<span class="libelle">' . supprimer_tags(preg_replace(',[\x00-\x1f]+,', ' ', $titre_rubrique)) . '</span>'
149
-		. "</a>\n";
150
-
151
-	// Limiter volontairement le nombre de sous-menus
152
-	if (!(--$zmax)) {
153
-		$zmax++;
154
-
155
-		return "\n<li class=\"deroulant__item\" data-profondeur=\"$profondeur\">$nav</li>";
156
-	}
157
-
158
-	$arr_rub = extraire_article($id_rubrique, $GLOBALS['db_art_cache']);
159
-	$i = count($arr_rub);
160
-	if (!$i) {
161
-		$zmax++;
162
-
163
-		return "\n<li class=\"deroulant__item\" data-profondeur=\"$profondeur\">$nav</li>";
164
-	}
165
-
166
-
167
-	$nb_col = 1;
168
-	if ($nb_rub = count($arr_rub)) {
169
-		$nb_col = min(10, max(1, ceil($nb_rub / 10)));
170
-	}
171
-	$class_cols = ($nb_col > 1 ? "cols-$nb_col" : '');
172
-	$ret = "<li class=\"deroulant__item deroulant__item_parent\" data-profondeur=\"$profondeur\">"
173
-	 . $nav
174
-	 . "<ul class=\"deroulant__sous-menu $class_cols\" data-profondeur=\"$profondeur_next\">";
175
-	foreach ($arr_rub as $id_rub => $titre_rub) {
176
-		if (autoriser('voir', 'rubrique', $id_rub)) {
177
-			$titre = supprimer_numero(typo($titre_rub));
178
-			$ret .= bandeau_rubrique($id_rub, $titre, $zdecal + $i, $profondeur_next);
179
-			$i++;
180
-		}
181
-	}
182
-	$zmax++;
183
-
184
-	return $ret . "</ul></li>\n";
144
+    static $zmax = 6;
145
+    $profondeur_next = $profondeur + 1;
146
+
147
+    $nav = '<a class="deroulant__lien" href="' . generer_objet_url($id_rubrique, 'rubrique', '', '', false) . "\" data-profondeur=\"$profondeur\">"
148
+        . '<span class="libelle">' . supprimer_tags(preg_replace(',[\x00-\x1f]+,', ' ', $titre_rubrique)) . '</span>'
149
+        . "</a>\n";
150
+
151
+    // Limiter volontairement le nombre de sous-menus
152
+    if (!(--$zmax)) {
153
+        $zmax++;
154
+
155
+        return "\n<li class=\"deroulant__item\" data-profondeur=\"$profondeur\">$nav</li>";
156
+    }
157
+
158
+    $arr_rub = extraire_article($id_rubrique, $GLOBALS['db_art_cache']);
159
+    $i = count($arr_rub);
160
+    if (!$i) {
161
+        $zmax++;
162
+
163
+        return "\n<li class=\"deroulant__item\" data-profondeur=\"$profondeur\">$nav</li>";
164
+    }
165
+
166
+
167
+    $nb_col = 1;
168
+    if ($nb_rub = count($arr_rub)) {
169
+        $nb_col = min(10, max(1, ceil($nb_rub / 10)));
170
+    }
171
+    $class_cols = ($nb_col > 1 ? "cols-$nb_col" : '');
172
+    $ret = "<li class=\"deroulant__item deroulant__item_parent\" data-profondeur=\"$profondeur\">"
173
+        . $nav
174
+        . "<ul class=\"deroulant__sous-menu $class_cols\" data-profondeur=\"$profondeur_next\">";
175
+    foreach ($arr_rub as $id_rub => $titre_rub) {
176
+        if (autoriser('voir', 'rubrique', $id_rub)) {
177
+            $titre = supprimer_numero(typo($titre_rub));
178
+            $ret .= bandeau_rubrique($id_rub, $titre, $zdecal + $i, $profondeur_next);
179
+            $i++;
180
+        }
181
+    }
182
+    $zmax++;
183
+
184
+    return $ret . "</ul></li>\n";
185 185
 }
186 186
 
187 187
 
@@ -199,7 +199,7 @@  discard block
 block discarded – undo
199 199
  *     Liste des rubriques enfants de la rubrique (et leur titre)
200 200
  **/
201 201
 function extraire_article($id_p, $t) {
202
-	return array_key_exists($id_p, $t) ? $t[$id_p] : [];
202
+    return array_key_exists($id_p, $t) ? $t[$id_p] : [];
203 203
 }
204 204
 
205 205
 /**
@@ -215,42 +215,42 @@  discard block
 block discarded – undo
215 215
  **/
216 216
 function gen_liste_rubriques() {
217 217
 
218
-	$cache = null;
219
-	include_spip('inc/config');
220
-	// ici, un petit fichier cache ne fait pas de mal
221
-	$last = lire_config('date_calcul_rubriques', 0);
222
-	if (lire_fichier(_CACHE_RUBRIQUES, $cache)) {
223
-		[$date, $GLOBALS['db_art_cache']] = @unserialize($cache);
224
-		if ($date == $last) {
225
-			return false;
226
-		} // c'etait en cache :-)
227
-	}
228
-	// se restreindre aux rubriques utilisees recemment +secteurs
229
-
230
-	$where = sql_in_select(
231
-		'id_rubrique',
232
-		'id_rubrique',
233
-		'spip_rubriques',
234
-		'',
235
-		'',
236
-		'id_parent=0 DESC, date DESC',
237
-		_CACHE_RUBRIQUES_MAX
238
-	);
239
-
240
-	// puis refaire la requete pour avoir l'ordre alphabetique
241
-
242
-	$res = sql_select('id_rubrique, titre, id_parent', 'spip_rubriques', $where, '', 'id_parent, 0+titre, titre');
243
-
244
-	// il ne faut pas filtrer le autoriser voir ici
245
-	// car on met le resultat en cache, commun a tout le monde
246
-	$GLOBALS['db_art_cache'] = [];
247
-	while ($r = sql_fetch($res)) {
248
-		$t = sinon($r['titre'], _T('ecrire:info_sans_titre'));
249
-		$GLOBALS['db_art_cache'][$r['id_parent']][$r['id_rubrique']] = supprimer_numero(typo($t));
250
-	}
251
-
252
-	$t = [$last ?: time(), $GLOBALS['db_art_cache']];
253
-	ecrire_fichier(_CACHE_RUBRIQUES, serialize($t));
254
-
255
-	return true;
218
+    $cache = null;
219
+    include_spip('inc/config');
220
+    // ici, un petit fichier cache ne fait pas de mal
221
+    $last = lire_config('date_calcul_rubriques', 0);
222
+    if (lire_fichier(_CACHE_RUBRIQUES, $cache)) {
223
+        [$date, $GLOBALS['db_art_cache']] = @unserialize($cache);
224
+        if ($date == $last) {
225
+            return false;
226
+        } // c'etait en cache :-)
227
+    }
228
+    // se restreindre aux rubriques utilisees recemment +secteurs
229
+
230
+    $where = sql_in_select(
231
+        'id_rubrique',
232
+        'id_rubrique',
233
+        'spip_rubriques',
234
+        '',
235
+        '',
236
+        'id_parent=0 DESC, date DESC',
237
+        _CACHE_RUBRIQUES_MAX
238
+    );
239
+
240
+    // puis refaire la requete pour avoir l'ordre alphabetique
241
+
242
+    $res = sql_select('id_rubrique, titre, id_parent', 'spip_rubriques', $where, '', 'id_parent, 0+titre, titre');
243
+
244
+    // il ne faut pas filtrer le autoriser voir ici
245
+    // car on met le resultat en cache, commun a tout le monde
246
+    $GLOBALS['db_art_cache'] = [];
247
+    while ($r = sql_fetch($res)) {
248
+        $t = sinon($r['titre'], _T('ecrire:info_sans_titre'));
249
+        $GLOBALS['db_art_cache'][$r['id_parent']][$r['id_rubrique']] = supprimer_numero(typo($t));
250
+    }
251
+
252
+    $t = [$last ?: time(), $GLOBALS['db_art_cache']];
253
+    ecrire_fichier(_CACHE_RUBRIQUES, serialize($t));
254
+
255
+    return true;
256 256
 }
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -38,12 +38,12 @@  discard block
 block discarded – undo
38 38
 	// on renvoi un 401 qui fait echouer la requete ajax silencieusement
39 39
 	if (!autoriser('ecrire')) {
40 40
 		$retour =
41
-		'<ul class="deroulant__sous-menu" data-profondeur="1">' .
42
-			'<li class="deroulant__item deroulant__item_plan plan_site" data-profondeur="1">' .
43
-				'<a class="deroulant__lien" href="' . generer_url_ecrire('accueil') . '" data-profondeur="1">' .
44
-					'<span class="libelle">' . _T('public:lien_connecter') . '</span>' .
45
-				'</a>' .
46
-			'</li>' .
41
+		'<ul class="deroulant__sous-menu" data-profondeur="1">'.
42
+			'<li class="deroulant__item deroulant__item_plan plan_site" data-profondeur="1">'.
43
+				'<a class="deroulant__lien" href="'.generer_url_ecrire('accueil').'" data-profondeur="1">'.
44
+					'<span class="libelle">'._T('public:lien_connecter').'</span>'.
45
+				'</a>'.
46
+			'</li>'.
47 47
 		'</ul>';
48 48
 		include_spip('inc/actions');
49 49
 		ajax_retour($retour);
@@ -51,7 +51,7 @@  discard block
 block discarded – undo
51 51
 	}
52 52
 
53 53
 	if ($date = (int) _request('date')) {
54
-		header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $date) . ' GMT');
54
+		header('Last-Modified: '.gmdate('D, d M Y H:i:s', $date).' GMT');
55 55
 	}
56 56
 
57 57
 	$r = gen_liste_rubriques();
@@ -61,7 +61,7 @@  discard block
 block discarded – undo
61 61
 		&& !strstr((string) $_SERVER['SERVER_SOFTWARE'], 'IIS/')
62 62
 	) {
63 63
 		include_spip('inc/headers');
64
-		header('Content-Type: text/html; charset=' . $GLOBALS['meta']['charset']);
64
+		header('Content-Type: text/html; charset='.$GLOBALS['meta']['charset']);
65 65
 		http_response_code(304);
66 66
 		exit;
67 67
 	} else {
@@ -84,8 +84,8 @@  discard block
 block discarded – undo
84 84
  **/
85 85
 function menu_rubriques($complet = true) {
86 86
 	$ret = '<li class="deroulant__item deroulant__item_tout toutsite" data-profondeur="1">'
87
-		. '<a class="deroulant__lien" href="' . generer_url_ecrire('plan') . '" data-profondeur="1">'
88
-		. '<span class="libelle">' . _T('info_tout_site') . '</span>'
87
+		. '<a class="deroulant__lien" href="'.generer_url_ecrire('plan').'" data-profondeur="1">'
88
+		. '<span class="libelle">'._T('info_tout_site').'</span>'
89 89
 		. '</a>'
90 90
 		. '</li>';
91 91
 
@@ -144,8 +144,8 @@  discard block
 block discarded – undo
144 144
 	static $zmax = 6;
145 145
 	$profondeur_next = $profondeur + 1;
146 146
 
147
-	$nav = '<a class="deroulant__lien" href="' . generer_objet_url($id_rubrique, 'rubrique', '', '', false) . "\" data-profondeur=\"$profondeur\">"
148
-		. '<span class="libelle">' . supprimer_tags(preg_replace(',[\x00-\x1f]+,', ' ', $titre_rubrique)) . '</span>'
147
+	$nav = '<a class="deroulant__lien" href="'.generer_objet_url($id_rubrique, 'rubrique', '', '', false)."\" data-profondeur=\"$profondeur\">"
148
+		. '<span class="libelle">'.supprimer_tags(preg_replace(',[\x00-\x1f]+,', ' ', $titre_rubrique)).'</span>'
149 149
 		. "</a>\n";
150 150
 
151 151
 	// Limiter volontairement le nombre de sous-menus
@@ -181,7 +181,7 @@  discard block
 block discarded – undo
181 181
 	}
182 182
 	$zmax++;
183 183
 
184
-	return $ret . "</ul></li>\n";
184
+	return $ret."</ul></li>\n";
185 185
 }
186 186
 
187 187
 
Please login to merge, or discard this patch.
ecrire/action/auth.php 1 patch
Indentation   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -24,25 +24,25 @@  discard block
 block discarded – undo
24 24
  */
25 25
 function action_auth_dist() {
26 26
 
27
-	$securiser_action = charger_fonction('securiser_action', 'inc');
28
-	$arg = $securiser_action();
29
-
30
-	if (!preg_match(',^(\w+)[/](.+)$,', (string) $arg, $r)) {
31
-		spip_log("action_auth_dist $arg pas compris");
32
-	} else {
33
-		$auth_methode = $r[1];
34
-		$login = $r[2];
35
-		include_spip('inc/auth');
36
-		$res = auth_terminer_identifier_login($auth_methode, $login);
37
-
38
-		if (is_string($res)) { // Erreur
39
-			$redirect = _request('redirect');
40
-			$redirect = parametre_url($redirect, 'var_erreur', $res, '&');
41
-			include_spip('inc/headers');
42
-			redirige_par_entete($redirect);
43
-		}
44
-
45
-		// sinon on loge l'auteur identifie, et on finit (redirection automatique)
46
-		auth_loger($res);
47
-	}
27
+    $securiser_action = charger_fonction('securiser_action', 'inc');
28
+    $arg = $securiser_action();
29
+
30
+    if (!preg_match(',^(\w+)[/](.+)$,', (string) $arg, $r)) {
31
+        spip_log("action_auth_dist $arg pas compris");
32
+    } else {
33
+        $auth_methode = $r[1];
34
+        $login = $r[2];
35
+        include_spip('inc/auth');
36
+        $res = auth_terminer_identifier_login($auth_methode, $login);
37
+
38
+        if (is_string($res)) { // Erreur
39
+            $redirect = _request('redirect');
40
+            $redirect = parametre_url($redirect, 'var_erreur', $res, '&');
41
+            include_spip('inc/headers');
42
+            redirige_par_entete($redirect);
43
+        }
44
+
45
+        // sinon on loge l'auteur identifie, et on finit (redirection automatique)
46
+        auth_loger($res);
47
+    }
48 48
 }
Please login to merge, or discard this patch.