Completed
Push — master ( fd36a8...e88bd7 )
by cam
01:03
created
ecrire/inc/modifier.php 2 patches
Indentation   +259 added lines, -259 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
 /**
@@ -39,28 +39,28 @@  discard block
 block discarded – undo
39 39
  *     Tableau des champs et valeurs collectées
40 40
  */
41 41
 function collecter_requests($include_list, $exclude_list = [], $set = null, $tous = false) {
42
-	$c = $set;
43
-	if (!$c) {
44
-		$c = [];
45
-		foreach ($include_list as $champ) {
46
-			// on ne collecte que les champs reellement envoyes par defaut.
47
-			// le cas d'un envoi de valeur NULL peut du coup poser probleme.
48
-			$val = _request($champ);
49
-			if ($tous or $val !== null) {
50
-				$c[$champ] = $val;
51
-			}
52
-		}
53
-		// on ajoute toujours la lang en saisie possible
54
-		// meme si pas prevu au depart pour l'objet concerne
55
-		if ($l = _request('changer_lang')) {
56
-			$c['lang'] = $l;
57
-		}
58
-	}
59
-	foreach ($exclude_list as $champ) {
60
-		unset($c[$champ]);
61
-	}
62
-
63
-	return $c;
42
+    $c = $set;
43
+    if (!$c) {
44
+        $c = [];
45
+        foreach ($include_list as $champ) {
46
+            // on ne collecte que les champs reellement envoyes par defaut.
47
+            // le cas d'un envoi de valeur NULL peut du coup poser probleme.
48
+            $val = _request($champ);
49
+            if ($tous or $val !== null) {
50
+                $c[$champ] = $val;
51
+            }
52
+        }
53
+        // on ajoute toujours la lang en saisie possible
54
+        // meme si pas prevu au depart pour l'objet concerne
55
+        if ($l = _request('changer_lang')) {
56
+            $c['lang'] = $l;
57
+        }
58
+    }
59
+    foreach ($exclude_list as $champ) {
60
+        unset($c[$champ]);
61
+    }
62
+
63
+    return $c;
64 64
 }
65 65
 
66 66
 /**
@@ -97,240 +97,240 @@  discard block
 block discarded – undo
97 97
  *     - chaîne : Texte d'un message d'erreur
98 98
  */
99 99
 function objet_modifier_champs($objet, $id_objet, $options, $c = null, $serveur = '') {
100
-	if (!$id_objet = intval($id_objet)) {
101
-		spip_log('Erreur $id_objet non defini', 'warn');
102
-
103
-		return _T('erreur_technique_enregistrement_impossible');
104
-	}
105
-
106
-	include_spip('inc/filtres');
107
-
108
-	$table_objet = table_objet($objet, $serveur);
109
-	$spip_table_objet = table_objet_sql($objet, $serveur);
110
-	$id_table_objet = id_table_objet($objet, $serveur);
111
-	$trouver_table = charger_fonction('trouver_table', 'base');
112
-	$desc = $trouver_table($spip_table_objet, $serveur);
113
-
114
-	// Appels incomplets (sans $c)
115
-	if (!is_array($c)) {
116
-		spip_log('erreur appel objet_modifier_champs(' . $objet . '), manque $c');
117
-
118
-		return _T('erreur_technique_enregistrement_impossible');
119
-	}
120
-
121
-	// Securite : certaines variables ne sont jamais acceptees ici
122
-	// car elles ne relevent pas de autoriser(xxx, modifier) ;
123
-	// il faut passer par instituer_XX()
124
-	// TODO: faut-il passer ces variables interdites
125
-	// dans un fichier de description separe ?
126
-	unset($c['statut']);
127
-	unset($c['id_parent']);
128
-	unset($c['id_rubrique']);
129
-	unset($c['id_secteur']);
130
-
131
-	// Gerer les champs non vides
132
-	if (isset($options['nonvide']) and is_array($options['nonvide'])) {
133
-		foreach ($options['nonvide'] as $champ => $sinon) {
134
-			if (isset($c[$champ]) and $c[$champ] === '') {
135
-				$c[$champ] = $sinon;
136
-			}
137
-		}
138
-	}
139
-
140
-	// N'accepter que les champs qui existent dans la table
141
-	$champs = array_intersect_key($c, $desc['field']);
142
-	// et dont la valeur n'est pas null
143
-	$champs = array_filter($champs, static function($var){return $var !== null;} );
144
-	// TODO: ici aussi on peut valider les contenus
145
-	// en fonction du type
146
-
147
-	// Nettoyer les valeurs
148
-	$champs = array_map('corriger_caracteres', $champs);
149
-
150
-	// On récupère l'état avant toute modification
151
-	$row = sql_fetsel('*', $spip_table_objet, $id_table_objet . '=' . $id_objet);
152
-
153
-	// Envoyer aux plugins
154
-	$champs = pipeline(
155
-		'pre_edition',
156
-		[
157
-			'args' => [
158
-				'table' => $spip_table_objet, // compatibilite
159
-				'table_objet' => $table_objet,
160
-				'spip_table_objet' => $spip_table_objet,
161
-				'desc' => $desc,
162
-				'type' => $objet,
163
-				'id_objet' => $id_objet,
164
-				'data' => $options['data'] ?? null,
165
-				'champs' => $options['champs'] ?? [], // [doc] c'est quoi ?
166
-				'champs_anciens' => $row, // état du contenu avant modif
167
-				'serveur' => $serveur,
168
-				'action' => $options['action'] ?? 'modifier'
169
-			],
170
-			'data' => $champs
171
-		]
172
-	);
173
-
174
-	if (!$champs) {
175
-		return false;
176
-	}
177
-
178
-
179
-	// marquer le fait que l'objet est travaille par toto a telle date
180
-	include_spip('inc/config');
181
-	if (lire_config('articles_modif', 'non') !== 'non') {
182
-		include_spip('inc/drapeau_edition');
183
-		signale_edition($id_objet, $GLOBALS['visiteur_session'], $objet);
184
-	}
185
-
186
-	// Verifier si les mises a jour sont pertinentes, datees, en conflit etc
187
-	include_spip('inc/editer');
188
-	if (!isset($options['data']) or is_null($options['data'])) {
189
-		$options['data'] = &$_POST;
190
-	}
191
-	$conflits = controler_md5($champs, $options['data'], $objet, $id_objet, $serveur);
192
-	// cas hypothetique : normalement inc/editer verifie en amont le conflit edition
193
-	// et gere l'interface
194
-	// ici on ne renvoie donc qu'un messsage d'erreur, au cas ou on y arrive quand meme
195
-	if ($conflits) {
196
-		return _T('titre_conflit_edition');
197
-	}
198
-
199
-	if ($champs) {
200
-		// cas particulier de la langue : passer par instituer_langue_objet
201
-		if (isset($champs['lang'])) {
202
-			if ($changer_lang = $champs['lang']) {
203
-				$id_rubrique = 0;
204
-				if (isset($desc['field']['id_rubrique'])) {
205
-					$parent = ($objet == 'rubrique') ? 'id_parent' : 'id_rubrique';
206
-					$id_rubrique = sql_getfetsel($parent, $spip_table_objet, "$id_table_objet=" . intval($id_objet));
207
-				}
208
-				$instituer_langue_objet = charger_fonction('instituer_langue_objet', 'action');
209
-				$champs['lang'] = $instituer_langue_objet($objet, $id_objet, $id_rubrique, $changer_lang, $serveur);
210
-			}
211
-			// on laisse 'lang' dans $champs,
212
-			// ca permet de passer dans le pipeline post_edition et de journaliser
213
-			// et ca ne gene pas qu'on refasse un sql_updateq dessus apres l'avoir
214
-			// deja pris en compte
215
-		}
216
-
217
-		// la modif peut avoir lieu
218
-
219
-		// faut-il ajouter date_modif ?
220
-		if (
221
-			!empty($options['date_modif'])
222
-			and !isset($champs[$options['date_modif']])
223
-		) {
224
-			$champs[$options['date_modif']] = date('Y-m-d H:i:s');
225
-		}
226
-
227
-		// allez on commit la modif
228
-		sql_updateq($spip_table_objet, $champs, "$id_table_objet=" . intval($id_objet), [], $serveur);
229
-
230
-		// on verifie si elle est bien passee
231
-		$moof = sql_fetsel(
232
-			array_keys($champs),
233
-			$spip_table_objet,
234
-			"$id_table_objet=" . intval($id_objet),
235
-			[],
236
-			[],
237
-			'',
238
-			[],
239
-			$serveur
240
-		);
241
-		// si difference entre les champs, reperer les champs mal enregistres
242
-		if ($moof != $champs) {
243
-			$liste = [];
244
-			foreach ($moof as $k => $v) {
245
-				if (
246
-					$v !== $champs[$k]
247
-					// ne pas alerter si le champ est numerique est que les valeurs sont equivalentes
248
-					and (!is_numeric($v) or intval($v) !== intval($champs[$k]))
249
-					// ne pas alerter si le champ est date, qu'on a envoye une valeur vide et qu'on recupere une date nulle
250
-					and (strlen($champs[$k]) or !in_array($v, ['0000-00-00 00:00:00', '0000-00-00']))
251
-				) {
252
-					$liste[] = $k;
253
-					$conflits[$k]['post'] = $champs[$k];
254
-					$conflits[$k]['save'] = $v;
255
-
256
-					// cas specifique MySQL+emoji : si l'un est la
257
-					// conversion utf8_noplanes de l'autre alors c'est OK
258
-					if (defined('_MYSQL_NOPLANES') && _MYSQL_NOPLANES) {
259
-						include_spip('inc/charsets');
260
-						if ($v == utf8_noplanes($champs[$k])) {
261
-							array_pop($liste);
262
-						}
263
-					}
264
-				}
265
-			}
266
-			// si un champ n'a pas ete correctement enregistre, loger et retourner une erreur
267
-			// c'est un cas exceptionnel
268
-			if (count($liste)) {
269
-				spip_log(
270
-					"Erreur enregistrement en base $objet/$id_objet champs :" . var_export($conflits, true),
271
-					'modifier.' . _LOG_CRITIQUE
272
-				);
273
-
274
-				return _T(
275
-					'erreur_technique_enregistrement_champs',
276
-					['champs' => "<i>'" . implode("'</i>,<i>'", $liste) . "'</i>"]
277
-				);
278
-			}
279
-		}
280
-
281
-		// Invalider les caches
282
-		if (isset($options['invalideur']) and $options['invalideur']) {
283
-			include_spip('inc/invalideur');
284
-			if (is_array($options['invalideur'])) {
285
-				array_map('suivre_invalideur', $options['invalideur']);
286
-			} else {
287
-				suivre_invalideur($options['invalideur']);
288
-			}
289
-		}
290
-
291
-		// Notifications, gestion des revisions...
292
-		// en standard, appelle |nouvelle_revision ci-dessous
293
-		pipeline(
294
-			'post_edition',
295
-			[
296
-				'args' => [
297
-					'table' => $spip_table_objet,
298
-					'table_objet' => $table_objet,
299
-					'spip_table_objet' => $spip_table_objet,
300
-					'desc' => $desc,
301
-					'type' => $objet,
302
-					'id_objet' => $id_objet,
303
-					'champs' => $options['champs'] ?? [], // [doc] kesako ?
304
-					'champs_anciens' => $row, // état du contenu avant modif
305
-					'serveur' => $serveur,
306
-					'action' => $options['action'] ?? 'modifier'
307
-				],
308
-				'data' => $champs
309
-			]
310
-		);
311
-	}
312
-
313
-	// journaliser l'affaire
314
-	// message a affiner :-)
315
-	include_spip('inc/filtres_mini');
316
-	$qui = '';
317
-	if (!empty($GLOBALS['visiteur_session']['id_auteur'])) {
318
-		$qui .= ' #id_auteur:' . $GLOBALS['visiteur_session']['id_auteur'] . '#';
319
-	}
320
-	if (!empty($GLOBALS['visiteur_session']['nom'])) {
321
-		$qui .= ' #nom:' . $GLOBALS['visiteur_session']['nom'] . '#';
322
-	}
323
-	if ($qui == '') {
324
-		$qui = '#ip:' . $GLOBALS['ip'] . '#';
325
-	}
326
-	journal(_L($qui . ' a édité ' . $objet . ' ' . $id_objet . ' (' . join(
327
-		'+',
328
-		array_diff(array_keys($champs), ['date_modif'])
329
-	) . ')'), [
330
-		'faire' => 'modifier',
331
-		'quoi' => $objet,
332
-		'id' => $id_objet
333
-	]);
334
-
335
-	return '';
100
+    if (!$id_objet = intval($id_objet)) {
101
+        spip_log('Erreur $id_objet non defini', 'warn');
102
+
103
+        return _T('erreur_technique_enregistrement_impossible');
104
+    }
105
+
106
+    include_spip('inc/filtres');
107
+
108
+    $table_objet = table_objet($objet, $serveur);
109
+    $spip_table_objet = table_objet_sql($objet, $serveur);
110
+    $id_table_objet = id_table_objet($objet, $serveur);
111
+    $trouver_table = charger_fonction('trouver_table', 'base');
112
+    $desc = $trouver_table($spip_table_objet, $serveur);
113
+
114
+    // Appels incomplets (sans $c)
115
+    if (!is_array($c)) {
116
+        spip_log('erreur appel objet_modifier_champs(' . $objet . '), manque $c');
117
+
118
+        return _T('erreur_technique_enregistrement_impossible');
119
+    }
120
+
121
+    // Securite : certaines variables ne sont jamais acceptees ici
122
+    // car elles ne relevent pas de autoriser(xxx, modifier) ;
123
+    // il faut passer par instituer_XX()
124
+    // TODO: faut-il passer ces variables interdites
125
+    // dans un fichier de description separe ?
126
+    unset($c['statut']);
127
+    unset($c['id_parent']);
128
+    unset($c['id_rubrique']);
129
+    unset($c['id_secteur']);
130
+
131
+    // Gerer les champs non vides
132
+    if (isset($options['nonvide']) and is_array($options['nonvide'])) {
133
+        foreach ($options['nonvide'] as $champ => $sinon) {
134
+            if (isset($c[$champ]) and $c[$champ] === '') {
135
+                $c[$champ] = $sinon;
136
+            }
137
+        }
138
+    }
139
+
140
+    // N'accepter que les champs qui existent dans la table
141
+    $champs = array_intersect_key($c, $desc['field']);
142
+    // et dont la valeur n'est pas null
143
+    $champs = array_filter($champs, static function($var){return $var !== null;} );
144
+    // TODO: ici aussi on peut valider les contenus
145
+    // en fonction du type
146
+
147
+    // Nettoyer les valeurs
148
+    $champs = array_map('corriger_caracteres', $champs);
149
+
150
+    // On récupère l'état avant toute modification
151
+    $row = sql_fetsel('*', $spip_table_objet, $id_table_objet . '=' . $id_objet);
152
+
153
+    // Envoyer aux plugins
154
+    $champs = pipeline(
155
+        'pre_edition',
156
+        [
157
+            'args' => [
158
+                'table' => $spip_table_objet, // compatibilite
159
+                'table_objet' => $table_objet,
160
+                'spip_table_objet' => $spip_table_objet,
161
+                'desc' => $desc,
162
+                'type' => $objet,
163
+                'id_objet' => $id_objet,
164
+                'data' => $options['data'] ?? null,
165
+                'champs' => $options['champs'] ?? [], // [doc] c'est quoi ?
166
+                'champs_anciens' => $row, // état du contenu avant modif
167
+                'serveur' => $serveur,
168
+                'action' => $options['action'] ?? 'modifier'
169
+            ],
170
+            'data' => $champs
171
+        ]
172
+    );
173
+
174
+    if (!$champs) {
175
+        return false;
176
+    }
177
+
178
+
179
+    // marquer le fait que l'objet est travaille par toto a telle date
180
+    include_spip('inc/config');
181
+    if (lire_config('articles_modif', 'non') !== 'non') {
182
+        include_spip('inc/drapeau_edition');
183
+        signale_edition($id_objet, $GLOBALS['visiteur_session'], $objet);
184
+    }
185
+
186
+    // Verifier si les mises a jour sont pertinentes, datees, en conflit etc
187
+    include_spip('inc/editer');
188
+    if (!isset($options['data']) or is_null($options['data'])) {
189
+        $options['data'] = &$_POST;
190
+    }
191
+    $conflits = controler_md5($champs, $options['data'], $objet, $id_objet, $serveur);
192
+    // cas hypothetique : normalement inc/editer verifie en amont le conflit edition
193
+    // et gere l'interface
194
+    // ici on ne renvoie donc qu'un messsage d'erreur, au cas ou on y arrive quand meme
195
+    if ($conflits) {
196
+        return _T('titre_conflit_edition');
197
+    }
198
+
199
+    if ($champs) {
200
+        // cas particulier de la langue : passer par instituer_langue_objet
201
+        if (isset($champs['lang'])) {
202
+            if ($changer_lang = $champs['lang']) {
203
+                $id_rubrique = 0;
204
+                if (isset($desc['field']['id_rubrique'])) {
205
+                    $parent = ($objet == 'rubrique') ? 'id_parent' : 'id_rubrique';
206
+                    $id_rubrique = sql_getfetsel($parent, $spip_table_objet, "$id_table_objet=" . intval($id_objet));
207
+                }
208
+                $instituer_langue_objet = charger_fonction('instituer_langue_objet', 'action');
209
+                $champs['lang'] = $instituer_langue_objet($objet, $id_objet, $id_rubrique, $changer_lang, $serveur);
210
+            }
211
+            // on laisse 'lang' dans $champs,
212
+            // ca permet de passer dans le pipeline post_edition et de journaliser
213
+            // et ca ne gene pas qu'on refasse un sql_updateq dessus apres l'avoir
214
+            // deja pris en compte
215
+        }
216
+
217
+        // la modif peut avoir lieu
218
+
219
+        // faut-il ajouter date_modif ?
220
+        if (
221
+            !empty($options['date_modif'])
222
+            and !isset($champs[$options['date_modif']])
223
+        ) {
224
+            $champs[$options['date_modif']] = date('Y-m-d H:i:s');
225
+        }
226
+
227
+        // allez on commit la modif
228
+        sql_updateq($spip_table_objet, $champs, "$id_table_objet=" . intval($id_objet), [], $serveur);
229
+
230
+        // on verifie si elle est bien passee
231
+        $moof = sql_fetsel(
232
+            array_keys($champs),
233
+            $spip_table_objet,
234
+            "$id_table_objet=" . intval($id_objet),
235
+            [],
236
+            [],
237
+            '',
238
+            [],
239
+            $serveur
240
+        );
241
+        // si difference entre les champs, reperer les champs mal enregistres
242
+        if ($moof != $champs) {
243
+            $liste = [];
244
+            foreach ($moof as $k => $v) {
245
+                if (
246
+                    $v !== $champs[$k]
247
+                    // ne pas alerter si le champ est numerique est que les valeurs sont equivalentes
248
+                    and (!is_numeric($v) or intval($v) !== intval($champs[$k]))
249
+                    // ne pas alerter si le champ est date, qu'on a envoye une valeur vide et qu'on recupere une date nulle
250
+                    and (strlen($champs[$k]) or !in_array($v, ['0000-00-00 00:00:00', '0000-00-00']))
251
+                ) {
252
+                    $liste[] = $k;
253
+                    $conflits[$k]['post'] = $champs[$k];
254
+                    $conflits[$k]['save'] = $v;
255
+
256
+                    // cas specifique MySQL+emoji : si l'un est la
257
+                    // conversion utf8_noplanes de l'autre alors c'est OK
258
+                    if (defined('_MYSQL_NOPLANES') && _MYSQL_NOPLANES) {
259
+                        include_spip('inc/charsets');
260
+                        if ($v == utf8_noplanes($champs[$k])) {
261
+                            array_pop($liste);
262
+                        }
263
+                    }
264
+                }
265
+            }
266
+            // si un champ n'a pas ete correctement enregistre, loger et retourner une erreur
267
+            // c'est un cas exceptionnel
268
+            if (count($liste)) {
269
+                spip_log(
270
+                    "Erreur enregistrement en base $objet/$id_objet champs :" . var_export($conflits, true),
271
+                    'modifier.' . _LOG_CRITIQUE
272
+                );
273
+
274
+                return _T(
275
+                    'erreur_technique_enregistrement_champs',
276
+                    ['champs' => "<i>'" . implode("'</i>,<i>'", $liste) . "'</i>"]
277
+                );
278
+            }
279
+        }
280
+
281
+        // Invalider les caches
282
+        if (isset($options['invalideur']) and $options['invalideur']) {
283
+            include_spip('inc/invalideur');
284
+            if (is_array($options['invalideur'])) {
285
+                array_map('suivre_invalideur', $options['invalideur']);
286
+            } else {
287
+                suivre_invalideur($options['invalideur']);
288
+            }
289
+        }
290
+
291
+        // Notifications, gestion des revisions...
292
+        // en standard, appelle |nouvelle_revision ci-dessous
293
+        pipeline(
294
+            'post_edition',
295
+            [
296
+                'args' => [
297
+                    'table' => $spip_table_objet,
298
+                    'table_objet' => $table_objet,
299
+                    'spip_table_objet' => $spip_table_objet,
300
+                    'desc' => $desc,
301
+                    'type' => $objet,
302
+                    'id_objet' => $id_objet,
303
+                    'champs' => $options['champs'] ?? [], // [doc] kesako ?
304
+                    'champs_anciens' => $row, // état du contenu avant modif
305
+                    'serveur' => $serveur,
306
+                    'action' => $options['action'] ?? 'modifier'
307
+                ],
308
+                'data' => $champs
309
+            ]
310
+        );
311
+    }
312
+
313
+    // journaliser l'affaire
314
+    // message a affiner :-)
315
+    include_spip('inc/filtres_mini');
316
+    $qui = '';
317
+    if (!empty($GLOBALS['visiteur_session']['id_auteur'])) {
318
+        $qui .= ' #id_auteur:' . $GLOBALS['visiteur_session']['id_auteur'] . '#';
319
+    }
320
+    if (!empty($GLOBALS['visiteur_session']['nom'])) {
321
+        $qui .= ' #nom:' . $GLOBALS['visiteur_session']['nom'] . '#';
322
+    }
323
+    if ($qui == '') {
324
+        $qui = '#ip:' . $GLOBALS['ip'] . '#';
325
+    }
326
+    journal(_L($qui . ' a édité ' . $objet . ' ' . $id_objet . ' (' . join(
327
+        '+',
328
+        array_diff(array_keys($champs), ['date_modif'])
329
+    ) . ')'), [
330
+        'faire' => 'modifier',
331
+        'quoi' => $objet,
332
+        'id' => $id_objet
333
+    ]);
334
+
335
+    return '';
336 336
 }
Please login to merge, or discard this patch.
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -113,7 +113,7 @@  discard block
 block discarded – undo
113 113
 
114 114
 	// Appels incomplets (sans $c)
115 115
 	if (!is_array($c)) {
116
-		spip_log('erreur appel objet_modifier_champs(' . $objet . '), manque $c');
116
+		spip_log('erreur appel objet_modifier_champs('.$objet.'), manque $c');
117 117
 
118 118
 		return _T('erreur_technique_enregistrement_impossible');
119 119
 	}
@@ -140,7 +140,7 @@  discard block
 block discarded – undo
140 140
 	// N'accepter que les champs qui existent dans la table
141 141
 	$champs = array_intersect_key($c, $desc['field']);
142 142
 	// et dont la valeur n'est pas null
143
-	$champs = array_filter($champs, static function($var){return $var !== null;} );
143
+	$champs = array_filter($champs, static function($var) {return $var !== null; } );
144 144
 	// TODO: ici aussi on peut valider les contenus
145 145
 	// en fonction du type
146 146
 
@@ -148,7 +148,7 @@  discard block
 block discarded – undo
148 148
 	$champs = array_map('corriger_caracteres', $champs);
149 149
 
150 150
 	// On récupère l'état avant toute modification
151
-	$row = sql_fetsel('*', $spip_table_objet, $id_table_objet . '=' . $id_objet);
151
+	$row = sql_fetsel('*', $spip_table_objet, $id_table_objet.'='.$id_objet);
152 152
 
153 153
 	// Envoyer aux plugins
154 154
 	$champs = pipeline(
@@ -203,7 +203,7 @@  discard block
 block discarded – undo
203 203
 				$id_rubrique = 0;
204 204
 				if (isset($desc['field']['id_rubrique'])) {
205 205
 					$parent = ($objet == 'rubrique') ? 'id_parent' : 'id_rubrique';
206
-					$id_rubrique = sql_getfetsel($parent, $spip_table_objet, "$id_table_objet=" . intval($id_objet));
206
+					$id_rubrique = sql_getfetsel($parent, $spip_table_objet, "$id_table_objet=".intval($id_objet));
207 207
 				}
208 208
 				$instituer_langue_objet = charger_fonction('instituer_langue_objet', 'action');
209 209
 				$champs['lang'] = $instituer_langue_objet($objet, $id_objet, $id_rubrique, $changer_lang, $serveur);
@@ -225,13 +225,13 @@  discard block
 block discarded – undo
225 225
 		}
226 226
 
227 227
 		// allez on commit la modif
228
-		sql_updateq($spip_table_objet, $champs, "$id_table_objet=" . intval($id_objet), [], $serveur);
228
+		sql_updateq($spip_table_objet, $champs, "$id_table_objet=".intval($id_objet), [], $serveur);
229 229
 
230 230
 		// on verifie si elle est bien passee
231 231
 		$moof = sql_fetsel(
232 232
 			array_keys($champs),
233 233
 			$spip_table_objet,
234
-			"$id_table_objet=" . intval($id_objet),
234
+			"$id_table_objet=".intval($id_objet),
235 235
 			[],
236 236
 			[],
237 237
 			'',
@@ -267,13 +267,13 @@  discard block
 block discarded – undo
267 267
 			// c'est un cas exceptionnel
268 268
 			if (count($liste)) {
269 269
 				spip_log(
270
-					"Erreur enregistrement en base $objet/$id_objet champs :" . var_export($conflits, true),
271
-					'modifier.' . _LOG_CRITIQUE
270
+					"Erreur enregistrement en base $objet/$id_objet champs :".var_export($conflits, true),
271
+					'modifier.'._LOG_CRITIQUE
272 272
 				);
273 273
 
274 274
 				return _T(
275 275
 					'erreur_technique_enregistrement_champs',
276
-					['champs' => "<i>'" . implode("'</i>,<i>'", $liste) . "'</i>"]
276
+					['champs' => "<i>'".implode("'</i>,<i>'", $liste)."'</i>"]
277 277
 				);
278 278
 			}
279 279
 		}
@@ -315,18 +315,18 @@  discard block
 block discarded – undo
315 315
 	include_spip('inc/filtres_mini');
316 316
 	$qui = '';
317 317
 	if (!empty($GLOBALS['visiteur_session']['id_auteur'])) {
318
-		$qui .= ' #id_auteur:' . $GLOBALS['visiteur_session']['id_auteur'] . '#';
318
+		$qui .= ' #id_auteur:'.$GLOBALS['visiteur_session']['id_auteur'].'#';
319 319
 	}
320 320
 	if (!empty($GLOBALS['visiteur_session']['nom'])) {
321
-		$qui .= ' #nom:' . $GLOBALS['visiteur_session']['nom'] . '#';
321
+		$qui .= ' #nom:'.$GLOBALS['visiteur_session']['nom'].'#';
322 322
 	}
323 323
 	if ($qui == '') {
324
-		$qui = '#ip:' . $GLOBALS['ip'] . '#';
324
+		$qui = '#ip:'.$GLOBALS['ip'].'#';
325 325
 	}
326
-	journal(_L($qui . ' a édité ' . $objet . ' ' . $id_objet . ' (' . join(
326
+	journal(_L($qui.' a édité '.$objet.' '.$id_objet.' ('.join(
327 327
 		'+',
328 328
 		array_diff(array_keys($champs), ['date_modif'])
329
-	) . ')'), [
329
+	).')'), [
330 330
 		'faire' => 'modifier',
331 331
 		'quoi' => $objet,
332 332
 		'id' => $id_objet
Please login to merge, or discard this patch.