Completed
Push — master ( 0b2559...a01492 )
by cam
04:25
created
ecrire/action/editer_liens.php 2 patches
Indentation   +514 added lines, -514 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
  */
30 30
 
31 31
 if (!defined('_ECRIRE_INC_VERSION')) {
32
-	return;
32
+    return;
33 33
 }
34 34
 
35 35
 // charger la gestion les rôles sur les objets
@@ -47,21 +47,21 @@  discard block
 block discarded – undo
47 47
  *     - array(clé primaire, nom de la table de lien) si associable
48 48
  */
49 49
 function objet_associable($objet) {
50
-	$trouver_table = charger_fonction('trouver_table', 'base');
51
-	$table_sql = table_objet_sql($objet);
50
+    $trouver_table = charger_fonction('trouver_table', 'base');
51
+    $table_sql = table_objet_sql($objet);
52 52
 
53
-	$l = "";
54
-	if ($primary = id_table_objet($objet)
55
-		and $trouver_table($l = $table_sql . "_liens")
56
-		and !preg_match(',[^\w],', $primary)
57
-		and !preg_match(',[^\w],', $l)
58
-	) {
59
-		return array($primary, $l);
60
-	}
53
+    $l = "";
54
+    if ($primary = id_table_objet($objet)
55
+        and $trouver_table($l = $table_sql . "_liens")
56
+        and !preg_match(',[^\w],', $primary)
57
+        and !preg_match(',[^\w],', $l)
58
+    ) {
59
+        return array($primary, $l);
60
+    }
61 61
 
62
-	spip_log("Objet $objet non associable : ne dispose pas d'une cle primaire $primary OU d'une table liens $l");
62
+    spip_log("Objet $objet non associable : ne dispose pas d'une cle primaire $primary OU d'une table liens $l");
63 63
 
64
-	return false;
64
+    return false;
65 65
 }
66 66
 
67 67
 /**
@@ -87,13 +87,13 @@  discard block
 block discarded – undo
87 87
  * @return bool|int
88 88
  */
89 89
 function objet_associer($objets_source, $objets_lies, $qualif = null) {
90
-	$modifs = objet_traiter_liaisons('lien_insert', $objets_source, $objets_lies, $qualif);
90
+    $modifs = objet_traiter_liaisons('lien_insert', $objets_source, $objets_lies, $qualif);
91 91
 
92
-	if ($qualif) {
93
-		objet_qualifier_liens($objets_source, $objets_lies, $qualif);
94
-	}
92
+    if ($qualif) {
93
+        objet_qualifier_liens($objets_source, $objets_lies, $qualif);
94
+    }
95 95
 
96
-	return $modifs; // pas d'erreur
96
+    return $modifs; // pas d'erreur
97 97
 }
98 98
 
99 99
 
@@ -127,7 +127,7 @@  discard block
 block discarded – undo
127 127
  * @return bool|int
128 128
  */
129 129
 function objet_dissocier($objets_source, $objets_lies, $cond = null) {
130
-	return objet_traiter_liaisons('lien_delete', $objets_source, $objets_lies, $cond);
130
+    return objet_traiter_liaisons('lien_delete', $objets_source, $objets_lies, $cond);
131 131
 }
132 132
 
133 133
 
@@ -152,7 +152,7 @@  discard block
 block discarded – undo
152 152
  * @return bool|int
153 153
  */
154 154
 function objet_qualifier_liens($objets_source, $objets_lies, $qualif) {
155
-	return objet_traiter_liaisons('lien_set', $objets_source, $objets_lies, $qualif);
155
+    return objet_traiter_liaisons('lien_set', $objets_source, $objets_lies, $qualif);
156 156
 }
157 157
 
158 158
 
@@ -187,7 +187,7 @@  discard block
 block discarded – undo
187 187
  *     Liste des trouvailles
188 188
  */
189 189
 function objet_trouver_liens($objets_source, $objets_lies, $cond = null) {
190
-	return objet_traiter_liaisons('lien_find', $objets_source, $objets_lies, $cond);
190
+    return objet_traiter_liaisons('lien_find', $objets_source, $objets_lies, $cond);
191 191
 }
192 192
 
193 193
 
@@ -211,7 +211,7 @@  discard block
 block discarded – undo
211 211
  * @return int
212 212
  */
213 213
 function objet_optimiser_liens($objets_source, $objets_lies) {
214
-	return objet_traiter_liaisons('lien_optimise', $objets_source, $objets_lies);
214
+    return objet_traiter_liaisons('lien_optimise', $objets_source, $objets_lies);
215 215
 }
216 216
 
217 217
 
@@ -231,37 +231,37 @@  discard block
 block discarded – undo
231 231
  *     Nombre de liens copiés
232 232
  */
233 233
 function objet_dupliquer_liens($objet, $id_source, $id_cible, $types = null, $exclure_types = null) {
234
-	include_spip('base/objets');
235
-	$tables = lister_tables_objets_sql();
236
-	$n = 0;
237
-	foreach ($tables as $table_sql => $infos) {
238
-		if (
239
-			(is_null($types) or in_array($infos['type'], $types))
240
-			and (is_null($exclure_types) or !in_array($infos['type'], $exclure_types))
241
-		) {
242
-			if (objet_associable($infos['type'])) {
243
-				$liens = (($infos['type'] == $objet) ?
244
-					objet_trouver_liens(array($objet => $id_source), '*')
245
-					:
246
-					objet_trouver_liens(array($infos['type'] => '*'), array($objet => $id_source)));
247
-				foreach ($liens as $lien) {
248
-					$n++;
249
-					if ($infos['type'] == $objet) {
250
-						if (
251
-							(is_null($types) or in_array($lien['objet'], $types))
252
-							and (is_null($exclure_types) or !in_array($lien['objet'], $exclure_types))
253
-						) {
254
-							objet_associer(array($objet => $id_cible), array($lien['objet'] => $lien[$lien['objet']]), $lien);
255
-						}
256
-					} else {
257
-						objet_associer(array($infos['type'] => $lien[$infos['type']]), array($objet => $id_cible), $lien);
258
-					}
259
-				}
260
-			}
261
-		}
262
-	}
263
-
264
-	return $n;
234
+    include_spip('base/objets');
235
+    $tables = lister_tables_objets_sql();
236
+    $n = 0;
237
+    foreach ($tables as $table_sql => $infos) {
238
+        if (
239
+            (is_null($types) or in_array($infos['type'], $types))
240
+            and (is_null($exclure_types) or !in_array($infos['type'], $exclure_types))
241
+        ) {
242
+            if (objet_associable($infos['type'])) {
243
+                $liens = (($infos['type'] == $objet) ?
244
+                    objet_trouver_liens(array($objet => $id_source), '*')
245
+                    :
246
+                    objet_trouver_liens(array($infos['type'] => '*'), array($objet => $id_source)));
247
+                foreach ($liens as $lien) {
248
+                    $n++;
249
+                    if ($infos['type'] == $objet) {
250
+                        if (
251
+                            (is_null($types) or in_array($lien['objet'], $types))
252
+                            and (is_null($exclure_types) or !in_array($lien['objet'], $exclure_types))
253
+                        ) {
254
+                            objet_associer(array($objet => $id_cible), array($lien['objet'] => $lien[$lien['objet']]), $lien);
255
+                        }
256
+                    } else {
257
+                        objet_associer(array($infos['type'] => $lien[$infos['type']]), array($objet => $id_cible), $lien);
258
+                    }
259
+                }
260
+            }
261
+        }
262
+    }
263
+
264
+    return $n;
265 265
 }
266 266
 
267 267
 /**
@@ -303,38 +303,38 @@  discard block
 block discarded – undo
303 303
  * @return bool|int|array
304 304
  */
305 305
 function objet_traiter_liaisons($operation, $objets_source, $objets_lies, $set = null) {
306
-	// accepter une syntaxe minimale pour supprimer tous les liens
307
-	if ($objets_lies == '*') {
308
-		$objets_lies = array('*' => '*');
309
-	}
310
-	$modifs = 0; // compter le nombre de modifications
311
-	$echec = null;
312
-	foreach ($objets_source as $objet => $ids) {
313
-		if ($a = objet_associable($objet)) {
314
-			list($primary, $l) = $a;
315
-			if (!is_array($ids)) {
316
-				$ids = array($ids);
317
-			} elseif (reset($ids) == "NOT") {
318
-				// si on demande un array('NOT',...) => recuperer la liste d'ids correspondants
319
-				$where = lien_where($primary, $ids, '*', '*');
320
-				$ids = sql_allfetsel($primary, $l, $where);
321
-				$ids = array_map('reset', $ids);
322
-			}
323
-			foreach ($ids as $id) {
324
-				$res = $operation($objet, $primary, $l, $id, $objets_lies, $set);
325
-				if ($res === false) {
326
-					spip_log("objet_traiter_liaisons [Echec] : $operation sur $objet/$primary/$l/$id", _LOG_ERREUR);
327
-					$echec = true;
328
-				} else {
329
-					$modifs = ($modifs ? (is_array($res) ? array_merge($modifs, $res) : $modifs + $res) : $res);
330
-				}
331
-			}
332
-		} else {
333
-			$echec = true;
334
-		}
335
-	}
336
-
337
-	return ($echec ? false : $modifs); // pas d'erreur
306
+    // accepter une syntaxe minimale pour supprimer tous les liens
307
+    if ($objets_lies == '*') {
308
+        $objets_lies = array('*' => '*');
309
+    }
310
+    $modifs = 0; // compter le nombre de modifications
311
+    $echec = null;
312
+    foreach ($objets_source as $objet => $ids) {
313
+        if ($a = objet_associable($objet)) {
314
+            list($primary, $l) = $a;
315
+            if (!is_array($ids)) {
316
+                $ids = array($ids);
317
+            } elseif (reset($ids) == "NOT") {
318
+                // si on demande un array('NOT',...) => recuperer la liste d'ids correspondants
319
+                $where = lien_where($primary, $ids, '*', '*');
320
+                $ids = sql_allfetsel($primary, $l, $where);
321
+                $ids = array_map('reset', $ids);
322
+            }
323
+            foreach ($ids as $id) {
324
+                $res = $operation($objet, $primary, $l, $id, $objets_lies, $set);
325
+                if ($res === false) {
326
+                    spip_log("objet_traiter_liaisons [Echec] : $operation sur $objet/$primary/$l/$id", _LOG_ERREUR);
327
+                    $echec = true;
328
+                } else {
329
+                    $modifs = ($modifs ? (is_array($res) ? array_merge($modifs, $res) : $modifs + $res) : $res);
330
+                }
331
+            }
332
+        } else {
333
+            $echec = true;
334
+        }
335
+    }
336
+
337
+    return ($echec ? false : $modifs); // pas d'erreur
338 338
 }
339 339
 
340 340
 
@@ -363,106 +363,106 @@  discard block
 block discarded – undo
363 363
  *     Nombre d'insertions faites, false si échec.
364 364
  */
365 365
 function lien_insert($objet_source, $primary, $table_lien, $id, $objets, $qualif) {
366
-	$ins = 0;
367
-	$echec = null;
368
-	if (is_null($qualif)) {
369
-		$qualif = array();
370
-	}
371
-
372
-	foreach ($objets as $objet => $id_objets) {
373
-		if (!is_array($id_objets)) {
374
-			$id_objets = array($id_objets);
375
-		}
376
-
377
-		// role, colonne, where par défaut
378
-		list($role, $colonne_role, $cond) =
379
-			roles_trouver_dans_qualif($objet_source, $objet, $qualif);
380
-
381
-		foreach ($id_objets as $id_objet) {
382
-			$objet = (($objet == '*') ? $objet : objet_type($objet)); # securite
383
-
384
-			$insertions = array(
385
-				'id_objet' => $id_objet,
386
-				'objet' => $objet,
387
-				$primary => $id
388
-			);
389
-			// rôle en plus s'il est défini
390
-			if ($role) {
391
-				$insertions += array(
392
-					$colonne_role => $role
393
-				);
394
-			}
395
-
396
-			if (lien_triables($table_lien)) {
397
-				$where = lien_where($primary, $id, $objet, $id_objet);
398
-				// si il y a deja un lien pour ce couple (avec un autre role?) on reprend le meme rang si non nul
399
-				if (!$rang = intval(sql_getfetsel('rang_lien', $table_lien, $where))) {
400
-					$where = lien_where($primary, '*', $objet, $id_objet);
401
-					$rang = intval(sql_getfetsel('max(rang_lien)', $table_lien, $where));
402
-					// si aucun lien n'a de rang, on en introduit pas, on garde zero
403
-					if ($rang>0) {
404
-						$rang = intval($rang) + 1;
405
-					}
406
-				}
407
-				$insertions['rang_lien'] = $rang;
408
-			}
409
-
410
-			$args = array(
411
-				'table_lien' => $table_lien,
412
-				'objet_source' => $objet_source,
413
-				'id_objet_source' => $id,
414
-				'objet' => $objet,
415
-				'id_objet' => $id_objet,
416
-				'role' => $role,
417
-				'colonne_role' => $colonne_role,
418
-				'action' => 'insert',
419
-			);
420
-
421
-			// Envoyer aux plugins
422
-			$insertions = pipeline('pre_edition_lien',
423
-				array(
424
-					'args' => $args,
425
-					'data' => $insertions
426
-				)
427
-			);
428
-			$args['id_objet'] = $insertions['id_objet'];
429
-
430
-			$where = lien_where($primary, $id, $objet, $id_objet, $cond);
431
-
432
-			if (($id_objet = intval($insertions['id_objet']) or $objet=='site')
433
-				and !sql_getfetsel($primary, $table_lien, $where)
434
-			) {
435
-
436
-				if (lien_triables($table_lien) and isset($insertions['rang_lien']) and intval($insertions['rang_lien'])) {
437
-					// on decale les liens de rang_lien>=la valeur inseree pour faire la place
438
-					$w = lien_where($primary, '*', $objet, $id_objet, array('rang_lien>='.intval($insertions['rang_lien']),"$primary!=".intval($id)));
439
-					sql_update($table_lien, array('rang_lien'=>'rang_lien+1'), $w);
440
-				}
441
-
442
-				$e = sql_insertq($table_lien, $insertions);
443
-				if ($e !== false) {
444
-					$ins++;
445
-					lien_propage_date_modif($objet, $id_objet);
446
-					lien_propage_date_modif($objet_source, $id);
447
-					// Envoyer aux plugins
448
-					pipeline('post_edition_lien',
449
-						array(
450
-							'args' => $args,
451
-							'data' => $insertions
452
-						)
453
-					);
454
-				} else {
455
-					$echec = true;
456
-				}
457
-			}
458
-		}
459
-	}
460
-	// si on a fait des insertions, on reordonne les liens concernes
461
-	if ($ins>0) {
462
-		lien_ordonner($objet_source, $primary, $table_lien, $id, $objets);
463
-	}
464
-
465
-	return ($echec ? false : $ins);
366
+    $ins = 0;
367
+    $echec = null;
368
+    if (is_null($qualif)) {
369
+        $qualif = array();
370
+    }
371
+
372
+    foreach ($objets as $objet => $id_objets) {
373
+        if (!is_array($id_objets)) {
374
+            $id_objets = array($id_objets);
375
+        }
376
+
377
+        // role, colonne, where par défaut
378
+        list($role, $colonne_role, $cond) =
379
+            roles_trouver_dans_qualif($objet_source, $objet, $qualif);
380
+
381
+        foreach ($id_objets as $id_objet) {
382
+            $objet = (($objet == '*') ? $objet : objet_type($objet)); # securite
383
+
384
+            $insertions = array(
385
+                'id_objet' => $id_objet,
386
+                'objet' => $objet,
387
+                $primary => $id
388
+            );
389
+            // rôle en plus s'il est défini
390
+            if ($role) {
391
+                $insertions += array(
392
+                    $colonne_role => $role
393
+                );
394
+            }
395
+
396
+            if (lien_triables($table_lien)) {
397
+                $where = lien_where($primary, $id, $objet, $id_objet);
398
+                // si il y a deja un lien pour ce couple (avec un autre role?) on reprend le meme rang si non nul
399
+                if (!$rang = intval(sql_getfetsel('rang_lien', $table_lien, $where))) {
400
+                    $where = lien_where($primary, '*', $objet, $id_objet);
401
+                    $rang = intval(sql_getfetsel('max(rang_lien)', $table_lien, $where));
402
+                    // si aucun lien n'a de rang, on en introduit pas, on garde zero
403
+                    if ($rang>0) {
404
+                        $rang = intval($rang) + 1;
405
+                    }
406
+                }
407
+                $insertions['rang_lien'] = $rang;
408
+            }
409
+
410
+            $args = array(
411
+                'table_lien' => $table_lien,
412
+                'objet_source' => $objet_source,
413
+                'id_objet_source' => $id,
414
+                'objet' => $objet,
415
+                'id_objet' => $id_objet,
416
+                'role' => $role,
417
+                'colonne_role' => $colonne_role,
418
+                'action' => 'insert',
419
+            );
420
+
421
+            // Envoyer aux plugins
422
+            $insertions = pipeline('pre_edition_lien',
423
+                array(
424
+                    'args' => $args,
425
+                    'data' => $insertions
426
+                )
427
+            );
428
+            $args['id_objet'] = $insertions['id_objet'];
429
+
430
+            $where = lien_where($primary, $id, $objet, $id_objet, $cond);
431
+
432
+            if (($id_objet = intval($insertions['id_objet']) or $objet=='site')
433
+                and !sql_getfetsel($primary, $table_lien, $where)
434
+            ) {
435
+
436
+                if (lien_triables($table_lien) and isset($insertions['rang_lien']) and intval($insertions['rang_lien'])) {
437
+                    // on decale les liens de rang_lien>=la valeur inseree pour faire la place
438
+                    $w = lien_where($primary, '*', $objet, $id_objet, array('rang_lien>='.intval($insertions['rang_lien']),"$primary!=".intval($id)));
439
+                    sql_update($table_lien, array('rang_lien'=>'rang_lien+1'), $w);
440
+                }
441
+
442
+                $e = sql_insertq($table_lien, $insertions);
443
+                if ($e !== false) {
444
+                    $ins++;
445
+                    lien_propage_date_modif($objet, $id_objet);
446
+                    lien_propage_date_modif($objet_source, $id);
447
+                    // Envoyer aux plugins
448
+                    pipeline('post_edition_lien',
449
+                        array(
450
+                            'args' => $args,
451
+                            'data' => $insertions
452
+                        )
453
+                    );
454
+                } else {
455
+                    $echec = true;
456
+                }
457
+            }
458
+        }
459
+    }
460
+    // si on a fait des insertions, on reordonne les liens concernes
461
+    if ($ins>0) {
462
+        lien_ordonner($objet_source, $primary, $table_lien, $id, $objets);
463
+    }
464
+
465
+    return ($echec ? false : $ins);
466 466
 }
467 467
 
468 468
 
@@ -475,32 +475,32 @@  discard block
 block discarded – undo
475 475
  * @param array|string $objets
476 476
  */
477 477
 function lien_ordonner($objet_source, $primary, $table_lien, $id, $objets) {
478
-	if (!lien_triables($table_lien)) {
479
-		return;
480
-	}
481
-
482
-	foreach ($objets as $objet => $id_objets) {
483
-		if (!is_array($id_objets)) {
484
-			$id_objets = array($id_objets);
485
-		}
486
-
487
-		foreach ($id_objets as $id_objet) {
488
-			$objet = (($objet == '*') ? $objet : objet_type($objet)); # securite
489
-
490
-			$where = lien_where($primary, '*', $objet, $id_objet);
491
-			$liens = sql_allfetsel("$primary, id_objet, objet, rang_lien", $table_lien, $where, $primary,"rang_lien");
492
-
493
-			$rangs = array_column($liens, 'rang_lien');
494
-			if (count($rangs) and (max($rangs)>0 or min($rangs)<0)) {
495
-				$rang = 1;
496
-				foreach ($liens as $lien) {
497
-					$where = lien_where($primary, $lien[$primary], $objet, $id_objet, array('rang_lien!='.intval($rang)));
498
-					sql_updateq($table_lien, array('rang_lien' => $rang), $where);
499
-					$rang++;
500
-				}
501
-			}
502
-		}
503
-	}
478
+    if (!lien_triables($table_lien)) {
479
+        return;
480
+    }
481
+
482
+    foreach ($objets as $objet => $id_objets) {
483
+        if (!is_array($id_objets)) {
484
+            $id_objets = array($id_objets);
485
+        }
486
+
487
+        foreach ($id_objets as $id_objet) {
488
+            $objet = (($objet == '*') ? $objet : objet_type($objet)); # securite
489
+
490
+            $where = lien_where($primary, '*', $objet, $id_objet);
491
+            $liens = sql_allfetsel("$primary, id_objet, objet, rang_lien", $table_lien, $where, $primary,"rang_lien");
492
+
493
+            $rangs = array_column($liens, 'rang_lien');
494
+            if (count($rangs) and (max($rangs)>0 or min($rangs)<0)) {
495
+                $rang = 1;
496
+                foreach ($liens as $lien) {
497
+                    $where = lien_where($primary, $lien[$primary], $objet, $id_objet, array('rang_lien!='.intval($rang)));
498
+                    sql_updateq($table_lien, array('rang_lien' => $rang), $where);
499
+                    $rang++;
500
+                }
501
+            }
502
+        }
503
+    }
504 504
 }
505 505
 
506 506
 
@@ -511,18 +511,18 @@  discard block
 block discarded – undo
511 511
  * @return mixed
512 512
  */
513 513
 function lien_triables($table_lien) {
514
-	static $triables = array();
515
-	if (!isset($triables[$table_lien])) {
516
-		$trouver_table = charger_fonction('trouver_table', 'base');
517
-		$desc = $trouver_table($table_lien);
518
-		if ($desc and isset($desc['field']['rang_lien'])) {
519
-			$triables[$table_lien] = true;
520
-		}
521
-		else {
522
-			$triables[$table_lien] = false;
523
-		}
524
-	}
525
-	return $triables[$table_lien];
514
+    static $triables = array();
515
+    if (!isset($triables[$table_lien])) {
516
+        $trouver_table = charger_fonction('trouver_table', 'base');
517
+        $desc = $trouver_table($table_lien);
518
+        if ($desc and isset($desc['field']['rang_lien'])) {
519
+            $triables[$table_lien] = true;
520
+        }
521
+        else {
522
+            $triables[$table_lien] = false;
523
+        }
524
+    }
525
+    return $triables[$table_lien];
526 526
 }
527 527
 
528 528
 
@@ -538,45 +538,45 @@  discard block
 block discarded – undo
538 538
  * @return array                        Liste des conditions
539 539
  */
540 540
 function lien_where($primary, $id_source, $objet, $id_objet, $cond = array()) {
541
-	if ((!is_array($id_source) and !strlen($id_source))
542
-		or !strlen($objet)
543
-		or (!is_array($id_objet) and !strlen($id_objet))
544
-	) {
545
-		return array("0=1");
546
-	} // securite
547
-
548
-	$not = "";
549
-	if (is_array($id_source) and reset($id_source) == "NOT") {
550
-		$not = array_shift($id_source);
551
-		$id_source = reset($id_source);
552
-	}
553
-
554
-	$where = $cond;
555
-
556
-	if ($id_source !== '*') {
557
-		$where[] = (is_array($id_source) ? sql_in(addslashes($primary), array_map('intval', $id_source),
558
-			$not) : addslashes($primary) . ($not ? "<>" : "=") . intval($id_source));
559
-	} elseif ($not) {
560
-		$where[] = "0=1";
561
-	} // idiot mais quand meme
562
-
563
-	$not = "";
564
-	if (is_array($id_objet) and reset($id_objet) == "NOT") {
565
-		$not = array_shift($id_objet);
566
-		$id_objet = reset($id_objet);
567
-	}
568
-
569
-	if ($objet !== '*') {
570
-		$where[] = "objet=" . sql_quote($objet);
571
-	}
572
-	if ($id_objet !== '*') {
573
-		$where[] = (is_array($id_objet) ? sql_in('id_objet', array_map('intval', $id_objet),
574
-			$not) : "id_objet" . ($not ? "<>" : "=") . intval($id_objet));
575
-	} elseif ($not) {
576
-		$where[] = "0=1";
577
-	} // idiot mais quand meme
578
-
579
-	return $where;
541
+    if ((!is_array($id_source) and !strlen($id_source))
542
+        or !strlen($objet)
543
+        or (!is_array($id_objet) and !strlen($id_objet))
544
+    ) {
545
+        return array("0=1");
546
+    } // securite
547
+
548
+    $not = "";
549
+    if (is_array($id_source) and reset($id_source) == "NOT") {
550
+        $not = array_shift($id_source);
551
+        $id_source = reset($id_source);
552
+    }
553
+
554
+    $where = $cond;
555
+
556
+    if ($id_source !== '*') {
557
+        $where[] = (is_array($id_source) ? sql_in(addslashes($primary), array_map('intval', $id_source),
558
+            $not) : addslashes($primary) . ($not ? "<>" : "=") . intval($id_source));
559
+    } elseif ($not) {
560
+        $where[] = "0=1";
561
+    } // idiot mais quand meme
562
+
563
+    $not = "";
564
+    if (is_array($id_objet) and reset($id_objet) == "NOT") {
565
+        $not = array_shift($id_objet);
566
+        $id_objet = reset($id_objet);
567
+    }
568
+
569
+    if ($objet !== '*') {
570
+        $where[] = "objet=" . sql_quote($objet);
571
+    }
572
+    if ($id_objet !== '*') {
573
+        $where[] = (is_array($id_objet) ? sql_in('id_objet', array_map('intval', $id_objet),
574
+            $not) : "id_objet" . ($not ? "<>" : "=") . intval($id_objet));
575
+    } elseif ($not) {
576
+        $where[] = "0=1";
577
+    } // idiot mais quand meme
578
+
579
+    return $where;
580 580
 }
581 581
 
582 582
 /**
@@ -607,89 +607,89 @@  discard block
 block discarded – undo
607 607
  */
608 608
 function lien_delete($objet_source, $primary, $table_lien, $id, $objets, $cond = null) {
609 609
 
610
-	$retire = array();
611
-	$dels = 0;
612
-	$echec = false;
613
-	if (is_null($cond)) {
614
-		$cond = array();
615
-	}
616
-
617
-	foreach ($objets as $objet => $id_objets) {
618
-		$objet = ($objet == '*') ? $objet : objet_type($objet); # securite
619
-		if (!is_array($id_objets) or reset($id_objets) == "NOT") {
620
-			$id_objets = array($id_objets);
621
-		}
622
-		foreach ($id_objets as $id_objet) {
623
-			list($cond, $colonne_role, $role) = roles_creer_condition_role($objet_source, $objet, $cond);
624
-			// id_objet peut valoir '*'
625
-			$where = lien_where($primary, $id, $objet, $id_objet, $cond);
626
-
627
-			// lire les liens existants pour propager la date de modif
628
-			$select = "$primary,id_objet,objet";
629
-			if ($colonne_role) {
630
-				$select .= ",$colonne_role";
631
-			}
632
-			$liens = sql_allfetsel($select, $table_lien, $where);
633
-
634
-			// iterer sur les liens pour permettre aux plugins de gerer
635
-			foreach ($liens as $l) {
636
-
637
-				$args = array(
638
-					'table_lien' => $table_lien,
639
-					'objet_source' => $objet_source,
640
-					'id_objet_source' => $l[$primary],
641
-					'objet' => $l['objet'],
642
-					'id_objet' => $l['id_objet'],
643
-					'colonne_role' => $colonne_role,
644
-					'role' => ($colonne_role ? $l[$colonne_role] : ''),
645
-					'action' => 'delete',
646
-				);
647
-
648
-				// Envoyer aux plugins
649
-				$l = pipeline('pre_edition_lien',
650
-					array(
651
-						'args' => $args,
652
-						'data' => $l
653
-					)
654
-				);
655
-				$args['id_objet'] = $id_o = $l['id_objet'];
656
-
657
-				if ($id_o = intval($l['id_objet']) or $l['objet'] == 'site') {
658
-					$where = lien_where($primary, $l[$primary], $l['objet'], $id_o, $cond);
659
-					$e = sql_delete($table_lien, $where);
660
-					if ($e !== false) {
661
-						$dels += $e;
662
-						lien_propage_date_modif($l['objet'], $id_o);
663
-						lien_propage_date_modif($objet_source, $l[$primary]);
664
-					} else {
665
-						$echec = true;
666
-					}
667
-					$retire[] = array(
668
-						'source' => array($objet_source => $l[$primary]),
669
-						'lien' => array($l['objet'] => $id_o),
670
-						'type' => $l['objet'],
671
-						'role' => ($colonne_role ? $l[$colonne_role] : ''),
672
-						'id' => $id_o
673
-					);
674
-					// Envoyer aux plugins
675
-					pipeline('post_edition_lien',
676
-						array(
677
-							'args' => $args,
678
-							'data' => $l
679
-						)
680
-					);
681
-				}
682
-			}
683
-		}
684
-	}
685
-	// si on a supprime des liens, on reordonne les liens concernes
686
-	if ($dels) {
687
-		lien_ordonner($objet_source, $primary, $table_lien, $id, $objets);
688
-	}
689
-
690
-	pipeline('trig_supprimer_objets_lies', $retire);
691
-
692
-	return ($echec ? false : $dels);
610
+    $retire = array();
611
+    $dels = 0;
612
+    $echec = false;
613
+    if (is_null($cond)) {
614
+        $cond = array();
615
+    }
616
+
617
+    foreach ($objets as $objet => $id_objets) {
618
+        $objet = ($objet == '*') ? $objet : objet_type($objet); # securite
619
+        if (!is_array($id_objets) or reset($id_objets) == "NOT") {
620
+            $id_objets = array($id_objets);
621
+        }
622
+        foreach ($id_objets as $id_objet) {
623
+            list($cond, $colonne_role, $role) = roles_creer_condition_role($objet_source, $objet, $cond);
624
+            // id_objet peut valoir '*'
625
+            $where = lien_where($primary, $id, $objet, $id_objet, $cond);
626
+
627
+            // lire les liens existants pour propager la date de modif
628
+            $select = "$primary,id_objet,objet";
629
+            if ($colonne_role) {
630
+                $select .= ",$colonne_role";
631
+            }
632
+            $liens = sql_allfetsel($select, $table_lien, $where);
633
+
634
+            // iterer sur les liens pour permettre aux plugins de gerer
635
+            foreach ($liens as $l) {
636
+
637
+                $args = array(
638
+                    'table_lien' => $table_lien,
639
+                    'objet_source' => $objet_source,
640
+                    'id_objet_source' => $l[$primary],
641
+                    'objet' => $l['objet'],
642
+                    'id_objet' => $l['id_objet'],
643
+                    'colonne_role' => $colonne_role,
644
+                    'role' => ($colonne_role ? $l[$colonne_role] : ''),
645
+                    'action' => 'delete',
646
+                );
647
+
648
+                // Envoyer aux plugins
649
+                $l = pipeline('pre_edition_lien',
650
+                    array(
651
+                        'args' => $args,
652
+                        'data' => $l
653
+                    )
654
+                );
655
+                $args['id_objet'] = $id_o = $l['id_objet'];
656
+
657
+                if ($id_o = intval($l['id_objet']) or $l['objet'] == 'site') {
658
+                    $where = lien_where($primary, $l[$primary], $l['objet'], $id_o, $cond);
659
+                    $e = sql_delete($table_lien, $where);
660
+                    if ($e !== false) {
661
+                        $dels += $e;
662
+                        lien_propage_date_modif($l['objet'], $id_o);
663
+                        lien_propage_date_modif($objet_source, $l[$primary]);
664
+                    } else {
665
+                        $echec = true;
666
+                    }
667
+                    $retire[] = array(
668
+                        'source' => array($objet_source => $l[$primary]),
669
+                        'lien' => array($l['objet'] => $id_o),
670
+                        'type' => $l['objet'],
671
+                        'role' => ($colonne_role ? $l[$colonne_role] : ''),
672
+                        'id' => $id_o
673
+                    );
674
+                    // Envoyer aux plugins
675
+                    pipeline('post_edition_lien',
676
+                        array(
677
+                            'args' => $args,
678
+                            'data' => $l
679
+                        )
680
+                    );
681
+                }
682
+            }
683
+        }
684
+    }
685
+    // si on a supprime des liens, on reordonne les liens concernes
686
+    if ($dels) {
687
+        lien_ordonner($objet_source, $primary, $table_lien, $id, $objets);
688
+    }
689
+
690
+    pipeline('trig_supprimer_objets_lies', $retire);
691
+
692
+    return ($echec ? false : $dels);
693 693
 }
694 694
 
695 695
 
@@ -712,56 +712,56 @@  discard block
 block discarded – undo
712 712
  * @return bool|int
713 713
  */
714 714
 function lien_optimise($objet_source, $primary, $table_lien, $id, $objets) {
715
-	include_spip('genie/optimiser');
716
-	$echec = false;
717
-	$dels = 0;
718
-	foreach ($objets as $objet => $id_objets) {
719
-		$objet = ($objet == '*') ? $objet : objet_type($objet); # securite
720
-		if (!is_array($id_objets) or reset($id_objets) == "NOT") {
721
-			$id_objets = array($id_objets);
722
-		}
723
-		foreach ($id_objets as $id_objet) {
724
-			$where = lien_where($primary, $id, $objet, $id_objet);
725
-			# les liens vers un objet inexistant
726
-			$r = sql_select("DISTINCT objet", $table_lien, $where);
727
-			while ($t = sql_fetch($r)) {
728
-				$type = $t['objet'];
729
-				$spip_table_objet = table_objet_sql($type);
730
-				$id_table_objet = id_table_objet($type);
731
-				$res = sql_select("L.$primary AS id,L.id_objet",
732
-					// la condition de jointure inclue L.objet='xxx' pour ne joindre que les bonnes lignes
733
-					// du coups toutes les lignes avec un autre objet ont un id_xxx=NULL puisque LEFT JOIN
734
-					// il faut les eliminier en repetant la condition dans le where L.objet='xxx'
735
-					"$table_lien AS L
715
+    include_spip('genie/optimiser');
716
+    $echec = false;
717
+    $dels = 0;
718
+    foreach ($objets as $objet => $id_objets) {
719
+        $objet = ($objet == '*') ? $objet : objet_type($objet); # securite
720
+        if (!is_array($id_objets) or reset($id_objets) == "NOT") {
721
+            $id_objets = array($id_objets);
722
+        }
723
+        foreach ($id_objets as $id_objet) {
724
+            $where = lien_where($primary, $id, $objet, $id_objet);
725
+            # les liens vers un objet inexistant
726
+            $r = sql_select("DISTINCT objet", $table_lien, $where);
727
+            while ($t = sql_fetch($r)) {
728
+                $type = $t['objet'];
729
+                $spip_table_objet = table_objet_sql($type);
730
+                $id_table_objet = id_table_objet($type);
731
+                $res = sql_select("L.$primary AS id,L.id_objet",
732
+                    // la condition de jointure inclue L.objet='xxx' pour ne joindre que les bonnes lignes
733
+                    // du coups toutes les lignes avec un autre objet ont un id_xxx=NULL puisque LEFT JOIN
734
+                    // il faut les eliminier en repetant la condition dans le where L.objet='xxx'
735
+                    "$table_lien AS L
736 736
 									LEFT JOIN $spip_table_objet AS O
737 737
 										ON (O.$id_table_objet=L.id_objet AND L.objet=" . sql_quote($type) . ")",
738
-					"L.objet=" . sql_quote($type) . " AND O.$id_table_objet IS NULL");
739
-				// sur une cle primaire composee, pas d'autres solutions que de virer un a un
740
-				while ($row = sql_fetch($res)) {
741
-					$e = sql_delete($table_lien,
742
-						array("$primary=" . $row['id'], "id_objet=" . $row['id_objet'], "objet=" . sql_quote($type)));
743
-					if ($e != false) {
744
-						$dels += $e;
745
-						spip_log("Entree " . $row['id'] . "/" . $row['id_objet'] . "/$type supprimee dans la table $table_lien",
746
-							_LOG_INFO_IMPORTANTE);
747
-					}
748
-				}
749
-			}
750
-
751
-			# les liens depuis un objet inexistant
752
-			$table_source = table_objet_sql($objet_source);
753
-			// filtrer selon $id, $objet, $id_objet eventuellement fournis
754
-			// (en general '*' pour chaque)
755
-			$where = lien_where("L.$primary", $id, $objet, $id_objet);
756
-			$where[] = "O.$primary IS NULL";
757
-			$res = sql_select("L.$primary AS id",
758
-				"$table_lien AS L LEFT JOIN $table_source AS O ON L.$primary=O.$primary",
759
-				$where);
760
-			$dels += optimiser_sansref($table_lien, $primary, $res);
761
-		}
762
-	}
763
-
764
-	return ($echec ? false : $dels);
738
+                    "L.objet=" . sql_quote($type) . " AND O.$id_table_objet IS NULL");
739
+                // sur une cle primaire composee, pas d'autres solutions que de virer un a un
740
+                while ($row = sql_fetch($res)) {
741
+                    $e = sql_delete($table_lien,
742
+                        array("$primary=" . $row['id'], "id_objet=" . $row['id_objet'], "objet=" . sql_quote($type)));
743
+                    if ($e != false) {
744
+                        $dels += $e;
745
+                        spip_log("Entree " . $row['id'] . "/" . $row['id_objet'] . "/$type supprimee dans la table $table_lien",
746
+                            _LOG_INFO_IMPORTANTE);
747
+                    }
748
+                }
749
+            }
750
+
751
+            # les liens depuis un objet inexistant
752
+            $table_source = table_objet_sql($objet_source);
753
+            // filtrer selon $id, $objet, $id_objet eventuellement fournis
754
+            // (en general '*' pour chaque)
755
+            $where = lien_where("L.$primary", $id, $objet, $id_objet);
756
+            $where[] = "O.$primary IS NULL";
757
+            $res = sql_select("L.$primary AS id",
758
+                "$table_lien AS L LEFT JOIN $table_source AS O ON L.$primary=O.$primary",
759
+                $where);
760
+            $dels += optimiser_sansref($table_lien, $primary, $res);
761
+        }
762
+    }
763
+
764
+    return ($echec ? false : $dels);
765 765
 }
766 766
 
767 767
 
@@ -793,89 +793,89 @@  discard block
 block discarded – undo
793 793
  *     Nombre de modifications faites, false si échec.
794 794
  */
795 795
 function lien_set($objet_source, $primary, $table_lien, $id, $objets, $qualif) {
796
-	$echec = null;
797
-	$ok = 0;
798
-	$reordonner = false;
799
-	if (!$qualif) {
800
-		return false;
801
-	}
802
-	// nettoyer qualif qui peut venir directement d'un objet_trouver_lien :
803
-	unset($qualif[$primary]);
804
-	unset($qualif[$objet_source]);
805
-	if (isset($qualif['objet'])) {
806
-		unset($qualif[$qualif['objet']]);
807
-	}
808
-	unset($qualif['objet']);
809
-	unset($qualif['id_objet']);
810
-	foreach ($objets as $objet => $id_objets) {
811
-
812
-		// role, colonne, where par défaut
813
-		list($role, $colonne_role, $cond) =
814
-			roles_trouver_dans_qualif($objet_source, $objet, $qualif);
815
-
816
-		$objet = ($objet == '*') ? $objet : objet_type($objet); # securite
817
-		if (!is_array($id_objets) or reset($id_objets) == "NOT") {
818
-			$id_objets = array($id_objets);
819
-		}
820
-		foreach ($id_objets as $id_objet) {
821
-
822
-			$args = array(
823
-				'table_lien' => $table_lien,
824
-				'objet_source' => $objet_source,
825
-				'id_objet_source' => $id,
826
-				'objet' => $objet,
827
-				'id_objet' => $id_objet,
828
-				'role' => $role,
829
-				'colonne_role' => $colonne_role,
830
-				'action' => 'modifier',
831
-			);
832
-
833
-			// Envoyer aux plugins
834
-			$qualif = pipeline('pre_edition_lien',
835
-				array(
836
-					'args' => $args,
837
-					'data' => $qualif,
838
-				)
839
-			);
840
-			$args['id_objet'] = $id_objet;
841
-
842
-			if (lien_triables($table_lien) and isset($qualif['rang_lien'])) {
843
-				if (intval($qualif['rang_lien'])) {
844
-					// on decale les liens de rang_lien>=la valeur inseree pour faire la place
845
-					$w = lien_where($primary, '*', $objet, $id_objet, array('rang_lien>='.intval($qualif['rang_lien']),"$primary!=".intval($id)));
846
-					sql_update($table_lien, array('rang_lien'=>'rang_lien+1'), $w);
847
-				}
848
-				// tous les liens de même rôle recoivent le rang indiqué aussi
849
-				if (roles_colonne($objet_source, $objet)) {
850
-					$w = lien_where($primary, $id, $objet, $id_objet);
851
-					sql_updateq($table_lien, array('rang_lien' => intval($qualif['rang_lien'])), $w);
852
-				}
853
-				$reordonner = true;
854
-			}
855
-
856
-			$where = lien_where($primary, $id, $objet, $id_objet, $cond);
857
-			$e = sql_updateq($table_lien, $qualif, $where);
858
-
859
-			if ($e === false) {
860
-				$echec = true;
861
-			} else {
862
-				// Envoyer aux plugins
863
-				pipeline('post_edition_lien',
864
-					array(
865
-						'args' => $args,
866
-						'data' => $qualif
867
-					)
868
-				);
869
-				$ok++;
870
-			}
871
-		}
872
-	}
873
-	// si on a fait des modif de rang, on reordonne les liens concernes
874
-	if ($reordonner) {
875
-		lien_ordonner($objet_source, $primary, $table_lien, $id, $objets);
876
-	}
877
-
878
-	return ($echec ? false : $ok);
796
+    $echec = null;
797
+    $ok = 0;
798
+    $reordonner = false;
799
+    if (!$qualif) {
800
+        return false;
801
+    }
802
+    // nettoyer qualif qui peut venir directement d'un objet_trouver_lien :
803
+    unset($qualif[$primary]);
804
+    unset($qualif[$objet_source]);
805
+    if (isset($qualif['objet'])) {
806
+        unset($qualif[$qualif['objet']]);
807
+    }
808
+    unset($qualif['objet']);
809
+    unset($qualif['id_objet']);
810
+    foreach ($objets as $objet => $id_objets) {
811
+
812
+        // role, colonne, where par défaut
813
+        list($role, $colonne_role, $cond) =
814
+            roles_trouver_dans_qualif($objet_source, $objet, $qualif);
815
+
816
+        $objet = ($objet == '*') ? $objet : objet_type($objet); # securite
817
+        if (!is_array($id_objets) or reset($id_objets) == "NOT") {
818
+            $id_objets = array($id_objets);
819
+        }
820
+        foreach ($id_objets as $id_objet) {
821
+
822
+            $args = array(
823
+                'table_lien' => $table_lien,
824
+                'objet_source' => $objet_source,
825
+                'id_objet_source' => $id,
826
+                'objet' => $objet,
827
+                'id_objet' => $id_objet,
828
+                'role' => $role,
829
+                'colonne_role' => $colonne_role,
830
+                'action' => 'modifier',
831
+            );
832
+
833
+            // Envoyer aux plugins
834
+            $qualif = pipeline('pre_edition_lien',
835
+                array(
836
+                    'args' => $args,
837
+                    'data' => $qualif,
838
+                )
839
+            );
840
+            $args['id_objet'] = $id_objet;
841
+
842
+            if (lien_triables($table_lien) and isset($qualif['rang_lien'])) {
843
+                if (intval($qualif['rang_lien'])) {
844
+                    // on decale les liens de rang_lien>=la valeur inseree pour faire la place
845
+                    $w = lien_where($primary, '*', $objet, $id_objet, array('rang_lien>='.intval($qualif['rang_lien']),"$primary!=".intval($id)));
846
+                    sql_update($table_lien, array('rang_lien'=>'rang_lien+1'), $w);
847
+                }
848
+                // tous les liens de même rôle recoivent le rang indiqué aussi
849
+                if (roles_colonne($objet_source, $objet)) {
850
+                    $w = lien_where($primary, $id, $objet, $id_objet);
851
+                    sql_updateq($table_lien, array('rang_lien' => intval($qualif['rang_lien'])), $w);
852
+                }
853
+                $reordonner = true;
854
+            }
855
+
856
+            $where = lien_where($primary, $id, $objet, $id_objet, $cond);
857
+            $e = sql_updateq($table_lien, $qualif, $where);
858
+
859
+            if ($e === false) {
860
+                $echec = true;
861
+            } else {
862
+                // Envoyer aux plugins
863
+                pipeline('post_edition_lien',
864
+                    array(
865
+                        'args' => $args,
866
+                        'data' => $qualif
867
+                    )
868
+                );
869
+                $ok++;
870
+            }
871
+        }
872
+    }
873
+    // si on a fait des modif de rang, on reordonne les liens concernes
874
+    if ($reordonner) {
875
+        lien_ordonner($objet_source, $primary, $table_lien, $id, $objets);
876
+    }
877
+
878
+    return ($echec ? false : $ok);
879 879
 }
880 880
 
881 881
 /**
@@ -905,23 +905,23 @@  discard block
 block discarded – undo
905 905
  * @return array
906 906
  */
907 907
 function lien_find($objet_source, $primary, $table_lien, $id, $objets, $cond = null) {
908
-	$trouve = array();
909
-	foreach ($objets as $objet => $id_objets) {
910
-		$objet = ($objet == '*') ? $objet : objet_type($objet); # securite
911
-		// gerer les roles s'il y en a dans $cond
912
-		list($cond) = roles_creer_condition_role($objet_source, $objet, $cond, true);
913
-		// lien_where prend en charge les $id_objets sous forme int ou array
914
-		$where = lien_where($primary, $id, $objet, $id_objets, $cond);
915
-		$liens = sql_allfetsel('*', $table_lien, $where);
916
-		// ajouter les entrees objet_source et objet cible par convenance
917
-		foreach ($liens as $l) {
918
-			$l[$objet_source] = $l[$primary];
919
-			$l[$l['objet']] = $l['id_objet'];
920
-			$trouve[] = $l;
921
-		}
922
-	}
923
-
924
-	return $trouve;
908
+    $trouve = array();
909
+    foreach ($objets as $objet => $id_objets) {
910
+        $objet = ($objet == '*') ? $objet : objet_type($objet); # securite
911
+        // gerer les roles s'il y en a dans $cond
912
+        list($cond) = roles_creer_condition_role($objet_source, $objet, $cond, true);
913
+        // lien_where prend en charge les $id_objets sous forme int ou array
914
+        $where = lien_where($primary, $id, $objet, $id_objets, $cond);
915
+        $liens = sql_allfetsel('*', $table_lien, $where);
916
+        // ajouter les entrees objet_source et objet cible par convenance
917
+        foreach ($liens as $l) {
918
+            $l[$objet_source] = $l[$primary];
919
+            $l[$l['objet']] = $l['id_objet'];
920
+            $trouve[] = $l;
921
+        }
922
+    }
923
+
924
+    return $trouve;
925 925
 }
926 926
 
927 927
 /**
@@ -932,25 +932,25 @@  discard block
 block discarded – undo
932 932
  * @param array|int $ids
933 933
  */
934 934
 function lien_propage_date_modif($objet, $ids) {
935
-	static $done = array();
936
-	$hash = md5($objet . serialize($ids));
937
-
938
-	// sql_updateq, peut être un rien lent.
939
-	// On évite de l'appeler 2 fois sur les mêmes choses
940
-	if (isset($done[$hash])) {
941
-		return;
942
-	}
943
-
944
-	$trouver_table = charger_fonction('trouver_table', 'base');
945
-
946
-	$table = table_objet_sql($objet);
947
-	if ($desc = $trouver_table($table)
948
-		and isset($desc['field']['date_modif'])
949
-	) {
950
-		$primary = id_table_objet($objet);
951
-		$where = (is_array($ids) ? sql_in($primary, array_map('intval', $ids)) : "$primary=" . intval($ids));
952
-		sql_updateq($table, array('date_modif' => date('Y-m-d H:i:s')), $where);
953
-	}
954
-
955
-	$done[$hash] = true;
935
+    static $done = array();
936
+    $hash = md5($objet . serialize($ids));
937
+
938
+    // sql_updateq, peut être un rien lent.
939
+    // On évite de l'appeler 2 fois sur les mêmes choses
940
+    if (isset($done[$hash])) {
941
+        return;
942
+    }
943
+
944
+    $trouver_table = charger_fonction('trouver_table', 'base');
945
+
946
+    $table = table_objet_sql($objet);
947
+    if ($desc = $trouver_table($table)
948
+        and isset($desc['field']['date_modif'])
949
+    ) {
950
+        $primary = id_table_objet($objet);
951
+        $where = (is_array($ids) ? sql_in($primary, array_map('intval', $ids)) : "$primary=" . intval($ids));
952
+        sql_updateq($table, array('date_modif' => date('Y-m-d H:i:s')), $where);
953
+    }
954
+
955
+    $done[$hash] = true;
956 956
 }
Please login to merge, or discard this patch.
Spacing   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -52,7 +52,7 @@  discard block
 block discarded – undo
52 52
 
53 53
 	$l = "";
54 54
 	if ($primary = id_table_objet($objet)
55
-		and $trouver_table($l = $table_sql . "_liens")
55
+		and $trouver_table($l = $table_sql."_liens")
56 56
 		and !preg_match(',[^\w],', $primary)
57 57
 		and !preg_match(',[^\w],', $l)
58 58
 	) {
@@ -400,7 +400,7 @@  discard block
 block discarded – undo
400 400
 					$where = lien_where($primary, '*', $objet, $id_objet);
401 401
 					$rang = intval(sql_getfetsel('max(rang_lien)', $table_lien, $where));
402 402
 					// si aucun lien n'a de rang, on en introduit pas, on garde zero
403
-					if ($rang>0) {
403
+					if ($rang > 0) {
404 404
 						$rang = intval($rang) + 1;
405 405
 					}
406 406
 				}
@@ -429,13 +429,13 @@  discard block
 block discarded – undo
429 429
 
430 430
 			$where = lien_where($primary, $id, $objet, $id_objet, $cond);
431 431
 
432
-			if (($id_objet = intval($insertions['id_objet']) or $objet=='site')
432
+			if (($id_objet = intval($insertions['id_objet']) or $objet == 'site')
433 433
 				and !sql_getfetsel($primary, $table_lien, $where)
434 434
 			) {
435 435
 
436 436
 				if (lien_triables($table_lien) and isset($insertions['rang_lien']) and intval($insertions['rang_lien'])) {
437 437
 					// on decale les liens de rang_lien>=la valeur inseree pour faire la place
438
-					$w = lien_where($primary, '*', $objet, $id_objet, array('rang_lien>='.intval($insertions['rang_lien']),"$primary!=".intval($id)));
438
+					$w = lien_where($primary, '*', $objet, $id_objet, array('rang_lien>='.intval($insertions['rang_lien']), "$primary!=".intval($id)));
439 439
 					sql_update($table_lien, array('rang_lien'=>'rang_lien+1'), $w);
440 440
 				}
441 441
 
@@ -458,7 +458,7 @@  discard block
 block discarded – undo
458 458
 		}
459 459
 	}
460 460
 	// si on a fait des insertions, on reordonne les liens concernes
461
-	if ($ins>0) {
461
+	if ($ins > 0) {
462 462
 		lien_ordonner($objet_source, $primary, $table_lien, $id, $objets);
463 463
 	}
464 464
 
@@ -488,10 +488,10 @@  discard block
 block discarded – undo
488 488
 			$objet = (($objet == '*') ? $objet : objet_type($objet)); # securite
489 489
 
490 490
 			$where = lien_where($primary, '*', $objet, $id_objet);
491
-			$liens = sql_allfetsel("$primary, id_objet, objet, rang_lien", $table_lien, $where, $primary,"rang_lien");
491
+			$liens = sql_allfetsel("$primary, id_objet, objet, rang_lien", $table_lien, $where, $primary, "rang_lien");
492 492
 
493 493
 			$rangs = array_column($liens, 'rang_lien');
494
-			if (count($rangs) and (max($rangs)>0 or min($rangs)<0)) {
494
+			if (count($rangs) and (max($rangs) > 0 or min($rangs) < 0)) {
495 495
 				$rang = 1;
496 496
 				foreach ($liens as $lien) {
497 497
 					$where = lien_where($primary, $lien[$primary], $objet, $id_objet, array('rang_lien!='.intval($rang)));
@@ -555,7 +555,7 @@  discard block
 block discarded – undo
555 555
 
556 556
 	if ($id_source !== '*') {
557 557
 		$where[] = (is_array($id_source) ? sql_in(addslashes($primary), array_map('intval', $id_source),
558
-			$not) : addslashes($primary) . ($not ? "<>" : "=") . intval($id_source));
558
+			$not) : addslashes($primary).($not ? "<>" : "=").intval($id_source));
559 559
 	} elseif ($not) {
560 560
 		$where[] = "0=1";
561 561
 	} // idiot mais quand meme
@@ -567,11 +567,11 @@  discard block
 block discarded – undo
567 567
 	}
568 568
 
569 569
 	if ($objet !== '*') {
570
-		$where[] = "objet=" . sql_quote($objet);
570
+		$where[] = "objet=".sql_quote($objet);
571 571
 	}
572 572
 	if ($id_objet !== '*') {
573 573
 		$where[] = (is_array($id_objet) ? sql_in('id_objet', array_map('intval', $id_objet),
574
-			$not) : "id_objet" . ($not ? "<>" : "=") . intval($id_objet));
574
+			$not) : "id_objet".($not ? "<>" : "=").intval($id_objet));
575 575
 	} elseif ($not) {
576 576
 		$where[] = "0=1";
577 577
 	} // idiot mais quand meme
@@ -734,15 +734,15 @@  discard block
 block discarded – undo
734 734
 					// il faut les eliminier en repetant la condition dans le where L.objet='xxx'
735 735
 					"$table_lien AS L
736 736
 									LEFT JOIN $spip_table_objet AS O
737
-										ON (O.$id_table_objet=L.id_objet AND L.objet=" . sql_quote($type) . ")",
738
-					"L.objet=" . sql_quote($type) . " AND O.$id_table_objet IS NULL");
737
+										ON (O.$id_table_objet=L.id_objet AND L.objet=".sql_quote($type).")",
738
+					"L.objet=".sql_quote($type)." AND O.$id_table_objet IS NULL");
739 739
 				// sur une cle primaire composee, pas d'autres solutions que de virer un a un
740 740
 				while ($row = sql_fetch($res)) {
741 741
 					$e = sql_delete($table_lien,
742
-						array("$primary=" . $row['id'], "id_objet=" . $row['id_objet'], "objet=" . sql_quote($type)));
742
+						array("$primary=".$row['id'], "id_objet=".$row['id_objet'], "objet=".sql_quote($type)));
743 743
 					if ($e != false) {
744 744
 						$dels += $e;
745
-						spip_log("Entree " . $row['id'] . "/" . $row['id_objet'] . "/$type supprimee dans la table $table_lien",
745
+						spip_log("Entree ".$row['id']."/".$row['id_objet']."/$type supprimee dans la table $table_lien",
746 746
 							_LOG_INFO_IMPORTANTE);
747 747
 					}
748 748
 				}
@@ -842,7 +842,7 @@  discard block
 block discarded – undo
842 842
 			if (lien_triables($table_lien) and isset($qualif['rang_lien'])) {
843 843
 				if (intval($qualif['rang_lien'])) {
844 844
 					// on decale les liens de rang_lien>=la valeur inseree pour faire la place
845
-					$w = lien_where($primary, '*', $objet, $id_objet, array('rang_lien>='.intval($qualif['rang_lien']),"$primary!=".intval($id)));
845
+					$w = lien_where($primary, '*', $objet, $id_objet, array('rang_lien>='.intval($qualif['rang_lien']), "$primary!=".intval($id)));
846 846
 					sql_update($table_lien, array('rang_lien'=>'rang_lien+1'), $w);
847 847
 				}
848 848
 				// tous les liens de même rôle recoivent le rang indiqué aussi
@@ -933,7 +933,7 @@  discard block
 block discarded – undo
933 933
  */
934 934
 function lien_propage_date_modif($objet, $ids) {
935 935
 	static $done = array();
936
-	$hash = md5($objet . serialize($ids));
936
+	$hash = md5($objet.serialize($ids));
937 937
 
938 938
 	// sql_updateq, peut être un rien lent.
939 939
 	// On évite de l'appeler 2 fois sur les mêmes choses
@@ -948,7 +948,7 @@  discard block
 block discarded – undo
948 948
 		and isset($desc['field']['date_modif'])
949 949
 	) {
950 950
 		$primary = id_table_objet($objet);
951
-		$where = (is_array($ids) ? sql_in($primary, array_map('intval', $ids)) : "$primary=" . intval($ids));
951
+		$where = (is_array($ids) ? sql_in($primary, array_map('intval', $ids)) : "$primary=".intval($ids));
952 952
 		sql_updateq($table, array('date_modif' => date('Y-m-d H:i:s')), $where);
953 953
 	}
954 954
 
Please login to merge, or discard this patch.